Categories:
Audio (13)
Biotech (29)
Bytecode (36)
Database (77)
Framework (7)
Game (7)
General (507)
Graphics (53)
I/O (35)
IDE (2)
JAR Tools (101)
JavaBeans (21)
JDBC (121)
JDK (426)
JSP (20)
Logging (108)
Mail (58)
Messaging (8)
Network (84)
PDF (97)
Report (7)
Scripting (84)
Security (32)
Server (121)
Servlet (26)
SOAP (24)
Testing (54)
Web (15)
XML (309)
Collections:
Other Resources:
JRE 8 rt.jar - com.* Package Source Code
JRE 8 rt.jar is the JAR file for JRE 8 RT (Runtime) libraries. JRE (Java Runtime) 8 is the runtime environment included in JDK 8. JRE 8 rt.jar libraries are divided into 6 packages:
com.* - Internal Oracle and Sun Microsystems libraries java.* - Standard Java API libraries. javax.* - Extended Java API libraries. jdk.* - JDK supporting libraries. org.* - Third party libraries. sun.* - Old libraries developed by Sun Microsystems.
JAR File Information:
Directory of C:\fyicenter\jdk-1.8.0_191\jre\lib 63,596,151 rt.jar
Here is the list of Java classes of the com.* package in JRE 1.8.0_191 rt.jar. Java source codes are also provided.
✍: FYIcenter
⏎ com/sun/jmx/snmp/SnmpOid.java
/* * * Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved. * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. */ // Copyright (c) 1995-96 by Cisco Systems, Inc. package com.sun.jmx.snmp; // java imports // import java.util.StringTokenizer; import java.util.NoSuchElementException; /** * Represents an SNMP Object Identifier (OID). * * <p><b>This API is a Sun Microsystems internal API and is subject * to change without notice.</b></p> */ public class SnmpOid extends SnmpValue { // CONSTRUCTORS //------------- /** * Constructs a new <CODE>SnmpOid</CODE> with no components. */ public SnmpOid() { components = new long[15] ; componentCount = 0 ; } /** * Constructs a new <CODE>SnmpOid</CODE> from the specified component array. * @param oidComponents The initialization component array. */ public SnmpOid(long[] oidComponents) { components = oidComponents.clone() ; componentCount = components.length ; } /** * Constructs a new <CODE>SnmpOid</CODE> containing one component with the * specified value. * @param id The initialization component value. */ public SnmpOid(long id) { components = new long[1] ; components[0] = id ; componentCount = components.length ; } /** * Constructs a new <CODE>SnmpOid</CODE> containing four components * with the specified values. * @param id1 The first component value. * @param id2 The second component values. * @param id3 The third component values. * @param id4 The fourth component values. */ public SnmpOid(long id1, long id2, long id3, long id4) { components = new long[4] ; components[0] = id1 ; components[1] = id2 ; components[2] = id3 ; components[3] = id4 ; componentCount = components.length ; } /** * Constructs a new <CODE>SnmpOid</CODE> from a dot-formatted <CODE>String</CODE> or a MIB variable * name. It generates an exception if the variable name cannot be resolved, or * if the dot-formatted <CODE>String</CODE> has an invalid subidentifier. * This constructor helps build an OID object with a <CODE>String</CODE> like .1.2.3.4 or 1.2.3.4 * or <CODE>ifInOctets</CODE> or <CODE>ifInOctets</CODE>.0. * @param s <CODE>String</CODE> or MIB variable of the form .1.2.3 or 1.2.3 or <CODE>ifInOctets</CODE>. * @exception IllegalArgumentException The subidentifier is neither a numeric <CODE>String</CODE> * nor a <CODE>String</CODE> of the MIB database. */ public SnmpOid(String s) throws IllegalArgumentException { String dotString = s ; if (s.startsWith(".") == false) { try { dotString = resolveVarName(s); } catch(SnmpStatusException e) { throw new IllegalArgumentException(e.getMessage()); } } StringTokenizer st = new StringTokenizer(dotString, ".", false) ; componentCount= st.countTokens(); // Now extract the ids // if (componentCount == 0) { components = new long[15] ; } else { components = new long[componentCount] ; try { for (int i = 0 ; i < componentCount ; i++) { try { components[i] = Long.parseLong(st.nextToken()) ; } catch(NoSuchElementException e) {} } } catch(NumberFormatException e) { throw new IllegalArgumentException(s) ; } } } // PUBLIC METHODS //--------------- /** * Gets the number of components in this OID. * @return The number of components. */ public int getLength() { return componentCount ; } /** * Returns a copy of the components array of this <CODE>SnmpOid</CODE>. * @return The copy of the components array. */ public long[] longValue() { long[] result = new long[componentCount] ; System.arraycopy(components,0,result,0,componentCount); return result ; } /** * Returns the components array of this <CODE>SnmpOid</CODE>. * If <code>duplicate</code> is true, a copy is returned. * Otherwise, a reference to the internal array is returned, * in which case the caller <b>shall not</b> modify this array. * This method is provided to optimize processing in those cases * where the caller needs only to read the components array. * * @param duplicate Indicates whether a copy or a reference must * be returned: * <li><code>true</code> if a copy must be returned,</li> * <li><code>false</code> if a reference on the internal data * can be returned.</li> * @return A copy of (or a reference on) the components array. * @Deprecated use {@link #longValue()} */ public final long[] longValue(boolean duplicate) { return longValue(); } /** * Returns the value of the OID arc found at the requested position * in the <CODE>components</CODE> array. The first element is at * position <code>0</code>. * * @param pos The position at which the OID arc should be peeked. * * @return The OID arc found at the requested position. * * @exception SnmpStatusException No OID arc was found at the requested * position. */ public final long getOidArc(int pos) throws SnmpStatusException { try { return components[pos]; } catch(Exception e) { throw new SnmpStatusException(SnmpStatusException.noAccess); } } /** * Converts the OID value to its <CODE>Long</CODE> form. * @return The <CODE>Long</CODE> representation of the value. */ public Long toLong() { if (componentCount != 1) { throw new IllegalArgumentException() ; } return new Long(components[0]) ; } /** * Converts the OID value to its <CODE>Integer</CODE> form. * @return The <CODE>Integer</CODE> representation of the value. */ public Integer toInteger() { if ((componentCount != 1) || (components[0] > Integer.MAX_VALUE)) { throw new IllegalArgumentException() ; } return new Integer((int)components[0]) ; } /** * Converts the OID value to its <CODE>String</CODE> form. * @return The <CODE>String</CODE> representation of the value. */ public String toString() { String result = "" ; if (componentCount >= 1) { for (int i = 0 ; i < componentCount - 1 ; i++) { result = result + components[i] + "." ; } result = result + components[componentCount - 1] ; } return result ; } /** * Converts the OID value to its <CODE>Boolean</CODE> form. * @return The <CODE>Boolean</CODE> representation of the value. */ public Boolean toBoolean() { if ((componentCount != 1) && (components[0] != 1) && (components[0] != 2)) { throw new IllegalArgumentException() ; } return Boolean.valueOf(components[0] == 1) ; } /** * Converts the OID value to its array of <CODE>Bytes</CODE> form. * @return The array of <CODE>Bytes</CODE> representation of the value. */ public Byte[] toByte() { Byte[] result = new Byte[componentCount] ; for (int i =0 ; i < componentCount ; i++) { if (components[0] > 255) { throw new IllegalArgumentException() ; } result[i] = new Byte((byte)components[i]) ; } return result ; } /** * Converts the OID value to its <CODE>SnmpOid</CODE> form. * @return The OID representation of the value. */ public SnmpOid toOid() { long[] ids = new long[componentCount] ; for (int i = 0 ; i < componentCount ; i++) { ids[i] = components[i] ; } return new SnmpOid(ids) ; } /** * Extracts the OID from an index OID and returns its * value converted as an <CODE>SnmpOid</CODE>. * @param index The index array. * @param start The position in the index array. * @return The OID representing the OID value. * @exception SnmpStatusException There is no OID value * available at the start position. */ public static SnmpOid toOid(long[] index, int start) throws SnmpStatusException { try { if (index[start] > Integer.MAX_VALUE) { throw new SnmpStatusException(SnmpStatusException.noSuchName) ; } int idCount = (int)index[start++] ; long[] ids = new long[idCount] ; for (int i = 0 ; i < idCount ; i++) { ids[i] = index[start + i] ; } return new SnmpOid(ids) ; } catch(IndexOutOfBoundsException e) { throw new SnmpStatusException(SnmpStatusException.noSuchName) ; } } /** * Scans an index OID, skips the OID value and returns the position * of the next value. * @param index The index array. * @param start The position in the index array. * @return The position of the next value. * @exception SnmpStatusException There is no OID value * available at the start position. */ public static int nextOid(long[] index, int start) throws SnmpStatusException { try { if (index[start] > Integer.MAX_VALUE) { throw new SnmpStatusException(SnmpStatusException.noSuchName) ; } int idCount = (int)index[start++] ; start += idCount ; if (start <= index.length) { return start ; } else { throw new SnmpStatusException(SnmpStatusException.noSuchName) ; } } catch(IndexOutOfBoundsException e) { throw new SnmpStatusException(SnmpStatusException.noSuchName) ; } } /** * Appends an <CODE>SnmpOid</CODE> representing an <CODE>SnmpOid</CODE> to another OID. * @param source An OID representing an <CODE>SnmpOid</CODE> value. * @param dest Where source should be appended. */ public static void appendToOid(SnmpOid source, SnmpOid dest) { dest.append(source.getLength()) ; dest.append(source) ; } /** * Performs a clone action. This provides a workaround for the * <CODE>SnmpValue</CODE> interface. * @return The SnmpValue clone. */ final synchronized public SnmpValue duplicate() { return (SnmpValue)clone() ; } /** * Clones the <CODE>SnmpOid</CODE> object, making a copy of its data. * @return The object clone. */ public Object clone() { try { SnmpOid obj = (SnmpOid)super.clone() ; obj.components = new long[this.componentCount] ; System.arraycopy(this.components, 0, obj.components, 0, this.componentCount) ; return obj ; } catch (CloneNotSupportedException e) { throw new InternalError() ; // should never happen. VM bug. } } /** * Inserts a subid at the beginning of this <CODE>SnmpOid</CODE>. * @param id The long subid to insert. */ public void insert(long id) { enlargeIfNeeded(1) ; for (int i = componentCount - 1 ; i >= 0 ; i--) { components[i + 1] = components[i] ; } components[0] = id ; componentCount++ ; } /** * Inserts a subid at the beginning of this <CODE>SnmpOid</CODE>. * @param id The integer subid to insert. */ public void insert(int id) { insert((long)id) ; } /** * Appends the specified <CODE>SnmpOid</CODE> to the end of this <CODE>SnmpOid</CODE>. * @param oid The OID to append. */ public void append(SnmpOid oid) { enlargeIfNeeded(oid.componentCount) ; for (int i = 0 ; i < oid.componentCount ; i++) { components[componentCount + i] = oid.components[i] ; } componentCount += oid.componentCount ; } /** * Appends the specified long to the end of this <CODE>SnmpOid</CODE>. * @param id The long to append. */ public void append(long id) { enlargeIfNeeded(1) ; components[componentCount] = id ; componentCount++ ; } /** * Adds the specified dot-formatted OID <CODE>String</CODE> to the end of this <CODE>SnmpOid</CODE>. * The subidentifiers can be expressed as a dot-formatted <CODE>String</CODE> or a * MIB variable name. * @param s Variable name of the form .1.2.3 or 1.2.3 or * <CODE>ifInOctets</CODE>. * @exception SnmpStatusException An error occurred while accessing a MIB node. */ public void addToOid(String s) throws SnmpStatusException { SnmpOid suffix= new SnmpOid(s); this.append(suffix); } /** * Adds the specified array of longs to the end of this <CODE>SnmpOid</CODE>. * @param oid An array of longs. * @exception SnmpStatusException An error occurred while accessing a MIB node. */ public void addToOid(long []oid) throws SnmpStatusException { SnmpOid suffix= new SnmpOid(oid); this.append(suffix); } /** * Checks the validity of the OID. * @return <CODE>true</CODE> if the OID is valid, <CODE>false</CODE> otherwise. */ public boolean isValid() { return ((componentCount >= 2) && ((0 <= components[0]) && (components[0] < 3)) && ((0 <= components[1]) && (components[1] < 40))) ; } /** * Checks whether the specified <CODE>Object</CODE> is equal to this <CODE>SnmpOid</CODE>. * @param o The <CODE>Object</CODE> to be compared. * @return <CODE>true</CODE> if <CODE>o</CODE> is an <CODE>SnmpOid</CODE> instance and equal to this, <CODE>false</CODE> otherwise. */ public boolean equals(Object o) { boolean result = false ; if (o instanceof SnmpOid) { SnmpOid oid = (SnmpOid)o ; if (oid.componentCount == componentCount) { int i = 0 ; long[] objoid = oid.components; while ((i < componentCount) && (components[i] == objoid[i])) i++ ; result = (i == componentCount) ; } } return result ; } /** * The hashCode is computed from the OID components. * @return a hashCode for this SnmpOid. **/ public int hashCode() { long acc=0; for (int i=0;i<componentCount;i++) { acc = acc*31+components[i]; } return (int)acc; } /** * Compares two OIDs lexicographically. * @param other The OID to be compared. * @return * The value 0 if the parameter <CODE>other</CODE> is equal to this <CODE>SnmpOid</CODE>. * A value smaller than 0 if this <CODE>SnmpOid</CODE> is lexicographically smaller than <CODE>other</CODE>. * A value larger than 0 if this <CODE>SnmpOid</CODE> is lexicographically larger than <CODE>other</CODE>. */ public int compareTo(SnmpOid other) { int result = 0 ; int i = 0 ; int cmplen = Math.min(componentCount, other.componentCount) ; long[] otheroid = other.components; for (i = 0; i < cmplen; i++) { if (components[i] != otheroid[i]) { break ; } } if ((i == componentCount) && (i == other.componentCount)) { result = 0 ; } else if (i == componentCount) { result = -1 ; } else if (i == other.componentCount) { result = 1 ; } else { result = (components[i] < otheroid[i]) ? -1 : 1 ; } return result ; } /** * Resolves a MIB variable <CODE>String</CODE> with the MIB database. * @param s The variable name to resolve. * @exception SnmpStatusException If the variable is not found in the MIB database. */ public String resolveVarName(String s) throws SnmpStatusException { int index = s.indexOf('.') ; // First handle the case where oid is expressed as 1.2.3.4 // try { return handleLong(s, index); } catch(NumberFormatException e) {} SnmpOidTable table = getSnmpOidTable(); // if we are here, it means we have something to resolve.. // if (table == null) throw new SnmpStatusException(SnmpStatusException.noSuchName); // Ok assume there is a variable name to resolve ... // if (index <= 0) { SnmpOidRecord rec = table.resolveVarName(s); return rec.getOid(); } else { SnmpOidRecord rec = table.resolveVarName(s.substring(0, index)); return (rec.getOid()+ s.substring(index)); } } /** * Returns a textual description of the type object. * @return ASN.1 textual description. */ public String getTypeName() { return name ; } /** * Returns the MIB table used for resolving MIB variable names. * @return The MIB table. */ public static SnmpOidTable getSnmpOidTable() { return meta; } /** * Sets the MIB table to use for resolving MIB variable names. * If no mib table is available, the class will not be able to resolve * names contained in the Object Identifier. * @param db The MIB table to use. * @throws SecurityException if the security manager is present and * denies the access. */ public static void setSnmpOidTable(SnmpOidTable db) { final SecurityManager sm = System.getSecurityManager(); if (sm != null) { sm.checkPermission(new SnmpPermission("setSnmpOidTable")); } meta = db; } /** * Converts an OID index converted string back to a DisplayString * **/ public String toOctetString() { return new String(tobyte()) ; } // PRIVATE METHODS //------------------ /** * convert the components array into a byte array **/ private byte[] tobyte() { byte[] result = new byte[componentCount] ; for (int i =0 ; i < componentCount ; i++) { if (components[0] > 255) { throw new IllegalArgumentException() ; } result[i] = (byte)components[i] ; } return result ; } /** * Checks if there is enough space in the components * array to insert n new subids. If not, it increases the size of * the array. * In fact it reallocates a new array and copy the old one into the new one. * @param n The number of subids to insert. */ private void enlargeIfNeeded(int n) { int neededSize = components.length ; while (componentCount + n > neededSize) { neededSize = neededSize * 2 ; } if (neededSize > components.length) { long[] newComponents = new long[neededSize] ; for (int i = 0 ; i < components.length ; i++) { newComponents[i] = components[i] ; } components = newComponents ; } } // PRIVATE METHODS //---------------- private String handleLong(String oid, int index) throws NumberFormatException, SnmpStatusException { String str; if (index >0) { str= oid.substring(0, index); } else { str= oid ; } // just parse the element. // Long.parseLong(str); return oid; } // VARIABLES //---------- /** * The components' array. * @serial */ protected long components[] = null ; /** * The length of the components' array. * @serial */ protected int componentCount = 0 ; /** * The name of the type. */ final static String name = "Object Identifier"; /** * Reference to a mib table. If no mib table is available, * the class will not be able to resolve names contained in the Object Identifier. */ private static SnmpOidTable meta= null; /** * Ensure serialization compatibility with version 4.1 FCS * */ static final long serialVersionUID = 8956237235607885096L; }
⏎ com/sun/jmx/snmp/SnmpOid.java
Or download all of them as a single archive file:
File name: jre-rt-com-1.8.0_191-src.zip File size: 8099783 bytes Release date: 2018-10-28 Download
⇒ Backup JDK 8 Installation Directory
2023-02-07, 251386👍, 3💬
Popular Posts:
JDK 11 jdk.localedata.jmod is the JMOD file for JDK 11 Localedata module. JDK 11 Locale Data module ...
MXP1 is a stable XmlPull parsing engine that is based on ideas from XPP and in particular XPP2 but c...
JLayer is a library that decodes/plays/converts MPEG 1/2/2.5 Layer 1/2/3 (i.e. MP3) in real time for...
Smack is an Open Source XMPP (Jabber) client library for instant messaging and presence. A pure Java...
JRE 8 rt.jar is the JAR file for JRE 8 RT (Runtime) libraries. JRE (Java Runtime) 8 is the runtime e...