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
-