org.snmp4j.smi
Class GenericAddress

java.lang.Object
  extended by org.snmp4j.smi.AbstractVariable
      extended by org.snmp4j.smi.SMIAddress
          extended by org.snmp4j.smi.GenericAddress
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, java.lang.Comparable, BERSerializable, Address, AssignableFromString, Variable

public class GenericAddress
extends SMIAddress

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:
Serialized Form

Field Summary
static java.lang.String ADDRESS_TYPES_PROPERTIES
           
static java.lang.String TYPE_IP
          Default address type identifier for an IpAddress.
static java.lang.String TYPE_TCP
          Default address type identifier for a TcpAddress.
static java.lang.String TYPE_UDP
          Default address type identifier for an UpdAddress.
 
Fields inherited from class org.snmp4j.smi.AbstractVariable
SMISYNTAXES_PROPERTIES
 
Constructor Summary
GenericAddress()
           
GenericAddress(SMIAddress address)
           
 
Method Summary
 java.lang.Object clone()
          Clones this variable.
 int compareTo(java.lang.Object o)
           
 void decodeBER(BERInputStream inputStream)
          Decodes a Variable from an InputStream.
 void encodeBER(java.io.OutputStream outputStream)
          Encodes a Variable to an OutputStream.
 boolean equals(java.lang.Object o)
           
 void fromSubIndex(OID subIndex, boolean impliedLength)
          Sets the value of this Variable from the supplied (sub-)index.
 Address getAddress()
           
 int getBERLength()
          Returns the length of this Variable in bytes when encoded according to the Basic Encoding Rules (BER).
 int getSyntax()
          Gets the ASN.1 syntax identifier value of this SNMP variable.
 int hashCode()
           
 boolean isValid()
          Checks whether this Address is a valid transport address.
static Address parse(java.lang.String address)
          Parses a given transport protocol dependent address string into an Address instance that is subsumed by this GenericAddress object.
 boolean parseAddress(java.lang.String address)
          Parse an address form the supplied string.
 void setAddress(SMIAddress address)
           
 void setValue(java.lang.String value)
          Sets the address value from the supplied String.
 int toInt()
          Returns an integer representation of this variable if such a representation exists.
 long toLong()
          Returns a long representation of this variable if such a representation exists.
 java.lang.String toString()
          Gets a string representation of the variable.
 OID toSubIndex(boolean impliedLength)
          Converts the value of this Variable to a (sub-)index value.
 
Methods inherited from class org.snmp4j.smi.AbstractVariable
createFromBER, createFromSyntax, getBERPayloadLength, getSyntaxFromString, getSyntaxString, getSyntaxString, isDynamic, isException
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

TYPE_UDP

public static final java.lang.String TYPE_UDP
Default address type identifier for an UpdAddress.

See Also:
Constant Field Values

TYPE_TCP

public static final java.lang.String TYPE_TCP
Default address type identifier for a TcpAddress.

See Also:
Constant Field Values

TYPE_IP

public static final java.lang.String TYPE_IP
Default address type identifier for an IpAddress.

See Also:
Constant Field Values

ADDRESS_TYPES_PROPERTIES

public static final java.lang.String ADDRESS_TYPES_PROPERTIES
See Also:
Constant Field Values
Constructor Detail

GenericAddress

public GenericAddress()

GenericAddress

public GenericAddress(SMIAddress address)
Method Detail

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 < 128 for regular SMI objects and a value >= 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.

Returns:
true if the address is valid, false otherwise.

toString

public java.lang.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

compareTo

public int compareTo(java.lang.Object o)
Specified by:
compareTo in interface java.lang.Comparable
Specified by:
compareTo in interface Variable
Specified by:
compareTo in class AbstractVariable

equals

public boolean equals(java.lang.Object o)
Specified by:
equals in interface Variable
Specified by:
equals in class AbstractVariable

decodeBER

public void decodeBER(BERInputStream inputStream)
               throws java.io.IOException
Description copied from class: AbstractVariable
Decodes a Variable from an InputStream.

Specified by:
decodeBER in interface BERSerializable
Specified by:
decodeBER in class AbstractVariable
Parameters:
inputStream - an InputStream containing 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.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:
java.io.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(SMIAddress address)

getAddress

public Address getAddress()

parse

public static Address parse(java.lang.String address)
Parses a given transport protocol dependent address string into an Address instance that is subsumed by this GenericAddress object.

Parameters:
address - an address string with a leading type specifier as defined in the "address.properties". The format is "type:address" where the format of address depends on type. Valid values for type are, for example, "udp" and "tcp".
Returns:
a Address instance of the address classes specified in "address.properties" whose type ID matched the specified ID in address. If address cannot be parsed, null is returned.
Throws:
java.lang.IllegalArgumentException - if the address type indicator supplied is not know.

parseAddress

public boolean parseAddress(java.lang.String address)
Parse an address form the supplied string.

Parameters:
address - an address string known by the GenericAddress.
Returns:
boolean
See Also:
parse(String address)

clone

public java.lang.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 immutable clone for internal processing.

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(java.lang.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.

Parameters:
value - an address String.

Copyright 2005-2010 Frank Fock (SNMP4J.org)

Copyright © 2011 SNMP4J.org. All Rights Reserved.