Module org.snmp4j

Class IpAddress

All Implemented Interfaces:
Serializable, Cloneable, Comparable<Variable>, BERSerializable, Address, AssignableFromByteArray, AssignableFromString, Variable
Direct Known Subclasses:
TransportIpAddress

public class IpAddress extends SMIAddress implements AssignableFromByteArray
The IpAddress class represents an IPv4 address SNMP variable.
Since:
1.0
Version:
1.10.3
Author:
Frank Fock
See Also:
  • Field Details

    • ANY_IPADDRESS

      public static final InetAddress ANY_IPADDRESS
  • Constructor Details

    • IpAddress

      public IpAddress()
      Creates a 0.0.0.0 IP address.
    • IpAddress

      public IpAddress(InetAddress address)
      Creates an IP address from an InetAddress
      Parameters:
      address - an InetAddress instance (must not necessarily be a IPv4 address).
    • IpAddress

      public IpAddress(String address)
      Create an IP address from an address string.
      Parameters:
      address - an IP address String.
      See Also:
    • 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 Details

    • getSyntax

      public int getSyntax()
      Description copied from class: AbstractVariable
      Gets the ASN.1 syntax identifier value of this SNMP variable.
      Specified by:
      getSyntax in interface Variable
      Specified by:
      getSyntax in class AbstractVariable
      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: Address
      Checks whether this Address is a valid transport address.
      Specified by:
      isValid in interface Address
      Returns:
      true if the address is valid, false otherwise.
    • toString

      public String toString()
      Description copied from class: AbstractVariable
      Gets a string representation of the variable.
      Specified by:
      toString in interface Variable
      Specified by:
      toString in class AbstractVariable
      Returns:
      a string representation of the variable's value.
    • hashCode

      public int hashCode()
      Specified by:
      hashCode in interface Variable
      Specified by:
      hashCode in class AbstractVariable
    • parse

      public static Address parse(String address)
      Parses an IP address string and returns the corresponding IpAddress instance.
      Parameters:
      address - an IP address string which may be a host name or a numerical IP address.
      Returns:
      an IpAddress instance or null if address cannot not be parsed.
      See Also:
    • parseAddress

      public boolean parseAddress(String address)
      Description copied from interface: Address
      Parses the address from the supplied string representation.
      Specified by:
      parseAddress in interface Address
      Parameters:
      address - a String representation of this address.
      Returns:
      true if address could be successfully parsed and has been assigned to this address object, false otherwise.
    • compareTo

      public int compareTo(Variable o)
      Specified by:
      compareTo in interface Comparable<Variable>
      Specified by:
      compareTo in interface Variable
      Specified by:
      compareTo in class AbstractVariable
    • equals

      public boolean equals(Object o)
      Specified by:
      equals in interface Variable
      Specified by:
      equals in class AbstractVariable
    • decodeBER

      public void decodeBER(BERInputStream inputStream) throws IOException
      Description copied from class: AbstractVariable
      Decodes a Variable from an BERInputStream.
      Specified by:
      decodeBER in interface BERSerializable
      Specified by:
      decodeBER in class AbstractVariable
      Parameters:
      inputStream - an BERInputStream containing a BER encoded byte stream.
      Throws:
      IOException - if the stream could not be decoded by using BER rules.
    • encodeBER

      public void encodeBER(OutputStream outputStream) throws IOException
      Description copied from class: AbstractVariable
      Encodes a Variable to an OutputStream.
      Specified by:
      encodeBER in interface BERSerializable
      Specified by:
      encodeBER in class AbstractVariable
      Parameters:
      outputStream - an OutputStream.
      Throws:
      IOException - if an error occurs while writing to the stream.
    • getBERLength

      public int getBERLength()
      Description copied from class: AbstractVariable
      Returns the length of this Variable in bytes when encoded according to the Basic Encoding Rules (BER).
      Specified by:
      getBERLength in interface BERSerializable
      Specified by:
      getBERLength in class AbstractVariable
      Returns:
      the BER encoded length of this variable.
    • setAddress

      public void setAddress(byte[] rawValue) throws UnknownHostException
      Throws:
      UnknownHostException
    • setInetAddress

      public void setInetAddress(InetAddress inetAddress)
    • getInetAddress

      public InetAddress getInetAddress()
    • clone

      public Object clone()
      Description copied from interface: Variable
      Clones 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:
      clone in interface Variable
      Specified by:
      clone in class AbstractVariable
      Returns:
      a new instance of this Variable with the same value.
    • toInt

      public int toInt()
      Description copied from class: AbstractVariable
      Returns an integer representation of this variable if such a representation exists.
      Specified by:
      toInt in interface Variable
      Specified by:
      toInt in class AbstractVariable
      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: AbstractVariable
      Returns a long representation of this variable if such a representation exists.
      Specified by:
      toLong in interface Variable
      Specified by:
      toLong in class AbstractVariable
      Returns:
      a long value.
    • toSubIndex

      public OID toSubIndex(boolean impliedLength)
      Description copied from class: AbstractVariable
      Converts the value of this Variable to a (sub-)index value.
      Specified by:
      toSubIndex in interface Variable
      Specified by:
      toSubIndex in class AbstractVariable
      Parameters:
      impliedLength - specifies if the sub-index has an implied length. This parameter applies to variable length variables only (e.g. OctetString and OID). 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: AbstractVariable
      Sets the value of this Variable from the supplied (sub-)index.
      Specified by:
      fromSubIndex in interface Variable
      Specified by:
      fromSubIndex in class AbstractVariable
      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. OctetString and OID). For other variables it has no effect.
    • setValue

      public void setValue(String value)
      Description copied from interface: Address
      Sets the address value from the supplied String. The string must match the format required for the Address instance implementing this interface. Otherwise an IllegalArgumentException runtime exception is thrown.
      Specified by:
      setValue in interface Address
      Specified by:
      setValue in interface AssignableFromString
      Parameters:
      value - an address String.
    • setValue

      public void setValue(byte[] value)
      Description copied from interface: AssignableFromByteArray
      Sets the value of this object from the supplied byte array.
      Specified by:
      setValue in interface AssignableFromByteArray
      Parameters:
      value - a byte array.
    • toByteArray

      public byte[] toByteArray()
      Description copied from interface: AssignableFromByteArray
      Returns the value of this object as a byte array.
      Specified by:
      toByteArray in interface AssignableFromByteArray
      Returns:
      a byte array.
    • getFamily

      public ProtocolFamily getFamily()
      Description copied from interface: Address
      Gets the protocol family of this address.
      Specified by:
      getFamily in interface Address
      Returns:
      a protocol family.
    • getSocketAddress

      public SocketAddress getSocketAddress()
      Description copied from interface: Address
      Gets the socket address of this address.
      Specified by:
      getSocketAddress in interface Address
      Returns:
      the socket address representation (if available) of this address or null if that does not exist (yet).