- java.lang.Object
-
- org.snmp4j.smi.AbstractVariable
-
- org.snmp4j.smi.SMIAddress
-
- org.snmp4j.smi.IpAddress
-
- All Implemented Interfaces:
java.io.Serializable,java.lang.Cloneable,java.lang.Comparable<Variable>,BERSerializable,Address,AssignableFromByteArray,AssignableFromString,Variable
- Direct Known Subclasses:
TransportIpAddress
public class IpAddress extends SMIAddress implements AssignableFromByteArray
TheIpAddressclass represents an IPv4 address SNMP variable.- Since:
- 1.0
- Version:
- 1.10.3
- Author:
- Frank Fock
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description static java.net.InetAddressANY_IPADDRESS-
Fields inherited from class org.snmp4j.smi.AbstractVariable
SMISYNTAXES_PROPERTIES
-
-
Constructor Summary
Constructors Constructor Description IpAddress()Creates a0.0.0.0IP address.IpAddress(byte[] addressBytes)Create an IP address from a raw IP address.IpAddress(java.lang.String address)Create an IP address from an address string.IpAddress(java.net.InetAddress address)Creates an IP address from anInetAddress
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.Objectclone()Clones this variable.intcompareTo(Variable o)voiddecodeBER(BERInputStream inputStream)Decodes aVariablefrom anBERInputStream.voidencodeBER(java.io.OutputStream outputStream)Encodes aVariableto anOutputStream.booleanequals(java.lang.Object o)voidfromSubIndex(OID subIndex, boolean impliedLength)Sets the value of thisVariablefrom the supplied (sub-)index.intgetBERLength()Returns the length of thisVariablein bytes when encoded according to the Basic Encoding Rules (BER).java.net.InetAddressgetInetAddress()intgetSyntax()Gets the ASN.1 syntax identifier value of this SNMP variable.inthashCode()booleanisValid()Checks whether thisAddressis a valid transport address.static Addressparse(java.lang.String address)Parses an IP address string and returns the correspondingIpAddressinstance.booleanparseAddress(java.lang.String address)Parses the address from the supplied string representation.voidsetAddress(byte[] rawValue)voidsetInetAddress(java.net.InetAddress inetAddress)voidsetValue(byte[] value)Sets the value of this object from the supplied byte array.voidsetValue(java.lang.String value)Sets the address value from the supplied String.byte[]toByteArray()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.java.lang.StringtoString()Gets a string representation of the variable.OIDtoSubIndex(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
-
Methods inherited from interface org.snmp4j.smi.Address
isTransportCompatible
-
-
-
-
Constructor Detail
-
IpAddress
public IpAddress()
Creates a0.0.0.0IP address.
-
IpAddress
public IpAddress(java.net.InetAddress address)
Creates an IP address from anInetAddress- Parameters:
address- anInetAddressinstance (must not necessarily be a IPv4 address).
-
IpAddress
public IpAddress(java.lang.String address)
Create an IP address from an address string.- Parameters:
address- an IP address String.- See Also:
Address.parseAddress(String address)
-
IpAddress
public IpAddress(byte[] addressBytes)
Create an IP address from a raw IP address. The argument is in network byte order: the highest order byte of the address is in first element of the supplied byte array.- Parameters:
addressBytes- the raw IP address in network byte order.- Since:
- 1.10.2
-
-
Method Detail
-
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.
-
toString
public java.lang.String 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
-
parse
public static Address parse(java.lang.String address)
Parses an IP address string and returns the correspondingIpAddressinstance.- Parameters:
address- an IP address string which may be a host name or a numerical IP address.- Returns:
- an
IpAddressinstance ornullifaddresscannot not be parsed. - See Also:
Address.parseAddress(String address)
-
parseAddress
public boolean parseAddress(java.lang.String address)
Description copied from interface:AddressParses the address from the supplied string representation.- Specified by:
parseAddressin interfaceAddress- Parameters:
address- a String representation of this address.- Returns:
trueifaddresscould be successfully parsed and has been assigned to this address object,falseotherwise.
-
compareTo
public int compareTo(Variable o)
- Specified by:
compareToin interfacejava.lang.Comparable<Variable>- Specified by:
compareToin interfaceVariable- Specified by:
compareToin classAbstractVariable
-
equals
public boolean equals(java.lang.Object o)
- Specified by:
equalsin interfaceVariable- Specified by:
equalsin classAbstractVariable
-
decodeBER
public void decodeBER(BERInputStream inputStream) throws java.io.IOException
Description copied from class:AbstractVariableDecodes aVariablefrom anBERInputStream.- Specified by:
decodeBERin interfaceBERSerializable- Specified by:
decodeBERin classAbstractVariable- Parameters:
inputStream- anBERInputStreamcontaining a BER encoded byte stream.- Throws:
java.io.IOException- if the stream could not be decoded by using BER rules.
-
encodeBER
public void encodeBER(java.io.OutputStream outputStream) throws java.io.IOExceptionDescription copied from class:AbstractVariableEncodes aVariableto anOutputStream.- Specified by:
encodeBERin interfaceBERSerializable- Specified by:
encodeBERin classAbstractVariable- Parameters:
outputStream- anOutputStream.- Throws:
java.io.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
public void setAddress(byte[] rawValue) throws java.net.UnknownHostException- Throws:
java.net.UnknownHostException
-
setInetAddress
public void setInetAddress(java.net.InetAddress inetAddress)
-
getInetAddress
public java.net.InetAddress getInetAddress()
-
clone
public java.lang.Object 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
public OID toSubIndex(boolean impliedLength)
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
public void fromSubIndex(OID subIndex, boolean impliedLength)
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.
-
setValue
public void setValue(java.lang.String value)
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.- Specified by:
setValuein interfaceAddress- Specified by:
setValuein interfaceAssignableFromString- Parameters:
value- an address String.
-
setValue
public void setValue(byte[] value)
Description copied from interface:AssignableFromByteArraySets the value of this object from the supplied byte array.- Specified by:
setValuein interfaceAssignableFromByteArray- Parameters:
value- a byte array.
-
toByteArray
public byte[] toByteArray()
Description copied from interface:AssignableFromByteArrayReturns the value of this object as a byte array.- Specified by:
toByteArrayin interfaceAssignableFromByteArray- Returns:
- a byte array.
-
-