Package org.snmp4j.smi
Class GenericAddress
java.lang.Object
org.snmp4j.smi.AbstractVariable
org.snmp4j.smi.SMIAddress
org.snmp4j.smi.GenericAddress
- All Implemented Interfaces:
 Serializable,Cloneable,Comparable<Variable>,BERSerializable,Address,AssignableFromByteArray,AssignableFromString,Variable
The 
GenericAddress implements the decorator and factory
 design pattern to provide a generic address type.
 
 To register address types other than the default, set the system property
 ADDRESS_TYPES_PROPERTIES before calling the parse(java.lang.String) method
 for the first time.
- Version:
 - 1.8
 - Author:
 - Frank Fock
 - See Also:
 
- 
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final Stringstatic final StringDefault address type identifier for an IpAddress.static final StringDefault address type identifier for a TcpAddress.static final StringDefault address type identifier for an TlsAddress.static final StringDefault address type identifier for an UpdAddress.Fields inherited from class org.snmp4j.smi.AbstractVariable
SMISYNTAXES_PROPERTIES - 
Constructor Summary
Constructors - 
Method Summary
Modifier and TypeMethodDescriptionclone()Clones this variable.intvoiddecodeBER(BERInputStream inputStream) Decodes aVariablefrom anBERInputStream.voidencodeBER(OutputStream outputStream) Encodes aVariableto anOutputStream.booleanvoidfromSubIndex(OID subIndex, boolean impliedLength) Sets the value of thisVariablefrom the supplied (sub-)index.intReturns the length of thisVariablein bytes when encoded according to the Basic Encoding Rules (BER).intGets the ASN.1 syntax identifier value of this SNMP variable.static StringgetTDomainPrefix(Class<? extends Address> addressClass) Gets the transport domain prefix string (lowercase) for a suppliedAddressclass.inthashCode()booleanisValid()Checks whether thisAddressis a valid transport address.static AddressParses a given transport protocol dependent address string into anAddressinstance that is subsumed by thisGenericAddressobject.booleanparseAddress(String address) Parse an address form the supplied string.voidsetAddress(SMIAddress address) voidsetValue(byte[] rawAddress) Sets the value of this object from the supplied byte array.voidSets the address value from the supplied String.byte[]Returns the value of this object as a byte array.inttoInt()Returns an integer representation of this variable if such a representation exists.longtoLong()Returns a long representation of this variable if such a representation exists.toString()Gets a string representation of the variable.toSubIndex(boolean impliedLength) Converts the value of thisVariableto a (sub-)index value.Methods inherited from class org.snmp4j.smi.AbstractVariable
createFromBER, createFromSyntax, equal, getBERPayloadLength, getSyntaxFromString, getSyntaxString, getSyntaxString, isDynamic, isException 
- 
Field Details
- 
TYPE_UDP
Default address type identifier for an UpdAddress.- See Also:
 
 - 
TYPE_TCP
Default address type identifier for a TcpAddress.- See Also:
 
 - 
TYPE_IP
Default address type identifier for an IpAddress.- See Also:
 
 - 
TYPE_TLS
Default address type identifier for an TlsAddress.- See Also:
 
 - 
ADDRESS_TYPES_PROPERTIES
- See Also:
 
 
 - 
 - 
Constructor Details
- 
GenericAddress
public GenericAddress() - 
GenericAddress
 
 - 
 - 
Method Details
- 
getSyntax
public int getSyntax()Description copied from class:AbstractVariableGets the ASN.1 syntax identifier value of this SNMP variable.- Specified by:
 getSyntaxin interfaceVariable- Specified by:
 getSyntaxin classAbstractVariable- Returns:
 - an integer value less than 128 for regular SMI objects and a value greater or equal than 128 for exception values like noSuchObject, noSuchInstance, and endOfMibView.
 
 - 
isValid
public boolean isValid()Description copied from interface:AddressChecks whether thisAddressis a valid transport address.- Returns:
 trueif the address is valid,falseotherwise.
 - 
toString
Description copied from class:AbstractVariableGets a string representation of the variable.- Specified by:
 toStringin interfaceVariable- Specified by:
 toStringin classAbstractVariable- Returns:
 - a string representation of the variable's value.
 
 - 
hashCode
public int hashCode()- Specified by:
 hashCodein interfaceVariable- Specified by:
 hashCodein classAbstractVariable
 - 
compareTo
- Specified by:
 compareToin interfaceComparable<Variable>- Specified by:
 compareToin interfaceVariable- Specified by:
 compareToin classAbstractVariable
 - 
equals
- Specified by:
 equalsin interfaceVariable- Specified by:
 equalsin classAbstractVariable
 - 
decodeBER
Description copied from class:AbstractVariableDecodes aVariablefrom anBERInputStream.- Specified by:
 decodeBERin interfaceBERSerializable- Specified by:
 decodeBERin classAbstractVariable- Parameters:
 inputStream- anBERInputStreamcontaining a BER encoded byte stream.- Throws:
 IOException- if the stream could not be decoded by using BER rules.
 - 
encodeBER
Description copied from class:AbstractVariableEncodes aVariableto anOutputStream.- Specified by:
 encodeBERin interfaceBERSerializable- Specified by:
 encodeBERin classAbstractVariable- Parameters:
 outputStream- anOutputStream.- Throws:
 IOException- if an error occurs while writing to the stream.
 - 
getBERLength
public int getBERLength()Description copied from class:AbstractVariableReturns the length of thisVariablein bytes when encoded according to the Basic Encoding Rules (BER).- Specified by:
 getBERLengthin interfaceBERSerializable- Specified by:
 getBERLengthin classAbstractVariable- Returns:
 - the BER encoded length of this variable.
 
 - 
setAddress
 - 
getAddress
 - 
parse
Parses a given transport protocol dependent address string into anAddressinstance that is subsumed by thisGenericAddressobject.- Parameters:
 address- an address string with a leading type specifier as defined in the "address.properties". The format is"type:address"where the format ofaddressdepends ontype. Valid values fortypeare, for example, "udp" and "tcp".- Returns:
 - a 
Addressinstance of the address classes specified in "address.properties" whose type ID matched the specified ID inaddress. Ifaddresscannot be parsed,nullis returned. - Throws:
 IllegalArgumentException- if the address type indicator supplied is not know.
 - 
parseAddress
Parse an address form the supplied string.- Parameters:
 address- an address string known by the GenericAddress.- Returns:
 - boolean
 - See Also:
 
 - 
setValue
public void setValue(byte[] rawAddress) Description copied from interface:AssignableFromByteArraySets the value of this object from the supplied byte array.- Parameters:
 rawAddress- a byte array.
 - 
clone
Description copied from interface:VariableClones this variable. Cloning can be used by the SNMP4J API to better support concurrency by creating a clone for internal processing. The content of this object is independent to the content of the clone. Thus, changes to the clone will have no effect to this object.- Specified by:
 clonein interfaceVariable- Specified by:
 clonein classAbstractVariable- Returns:
 - a new instance of this 
Variablewith the same value. 
 - 
toInt
public int toInt()Description copied from class:AbstractVariableReturns an integer representation of this variable if such a representation exists.- Specified by:
 toIntin interfaceVariable- Specified by:
 toIntin classAbstractVariable- Returns:
 - an integer value (if the native representation of this variable would be a long, then the long value will be casted to int).
 
 - 
toLong
public long toLong()Description copied from class:AbstractVariableReturns a long representation of this variable if such a representation exists.- Specified by:
 toLongin interfaceVariable- Specified by:
 toLongin classAbstractVariable- Returns:
 - a long value.
 
 - 
toSubIndex
Description copied from class:AbstractVariableConverts the value of thisVariableto a (sub-)index value.- Specified by:
 toSubIndexin interfaceVariable- Specified by:
 toSubIndexin classAbstractVariable- Parameters:
 impliedLength- specifies if the sub-index has an implied length. This parameter applies to variable length variables only (e.g.OctetStringandOID). For other variables it has no effect.- Returns:
 - an OID that represents this value as an (sub-)index.
 
 - 
fromSubIndex
Description copied from class:AbstractVariableSets the value of thisVariablefrom the supplied (sub-)index.- Specified by:
 fromSubIndexin interfaceVariable- Specified by:
 fromSubIndexin classAbstractVariable- Parameters:
 subIndex- the sub-index OID.impliedLength- specifies if the sub-index has an implied length. This parameter applies to variable length variables only (e.g.OctetStringandOID). For other variables it has no effect.
 - 
toByteArray
public byte[] toByteArray()Description copied from interface:AssignableFromByteArrayReturns the value of this object as a byte array.- Returns:
 - a byte array.
 
 - 
setValue
Description copied from interface:AddressSets the address value from the supplied String. The string must match the format required for the Address instance implementing this interface. Otherwise anIllegalArgumentExceptionruntime exception is thrown.- Parameters:
 value- an address String.
 - 
getTDomainPrefix
Gets the transport domain prefix string (lowercase) for a suppliedAddressclass.- Parameters:
 addressClass- an implementation class ofAddress.- Returns:
 - the corresponding transport domain prefix as defined by the
    IANA registry "SNMP Transport Domains" if the 
addressClasshas been registered with a domain prefix,nullotherwise. - Since:
 - 2.0
 
 
 -