Module org.snmp4j
Package org.snmp4j

Class AbstractTarget<A extends Address>

java.lang.Object
org.snmp4j.AbstractTarget<A>
All Implemented Interfaces:
Serializable, Cloneable, Target<A>
Direct Known Subclasses:
CommunityTarget, SecureTarget

public abstract class AbstractTarget<A extends Address> extends Object implements Target<A>
A AbstractTarget class is an abstract representation of a remote SNMP entity. It represents a target with an Address object, as well protocol parameters such as retransmission and timeout policy. Implementers of the Target interface can subclass AbstractTarget to take advantage of the implementation of common Target properties. The default timeout can be set with SNMP4JSettings.setDefaultTimeoutMillis(long).
Since:
1.2
Version:
2.0
Author:
Frank Fock
See Also:
  • Field Details

    • securityLevel

      protected int securityLevel
    • securityModel

      protected int securityModel
    • securityName

      protected OctetString securityName
  • Constructor Details

    • AbstractTarget

      protected AbstractTarget()
      Default constructor
    • AbstractTarget

      protected AbstractTarget(A address)
      Creates a SNMPv3 target with no retries and a timeout of one second.
      Parameters:
      address - an Address instance.
    • AbstractTarget

      protected AbstractTarget(A address, OctetString securityName)
  • Method Details

    • getAddress

      public A getAddress()
      Gets the address of this target.
      Specified by:
      getAddress in interface Target<A extends Address>
      Returns:
      an Address instance.
    • setAddress

      public void setAddress(A address)
      Sets the address of the target.
      Specified by:
      setAddress in interface Target<A extends Address>
      Parameters:
      address - an Address instance.
    • setVersion

      public void setVersion(int version)
      Sets the SNMP version (thus the SNMP message processing model) of the target.
      Specified by:
      setVersion in interface Target<A extends Address>
      Parameters:
      version - the message processing model ID.
      See Also:
    • getVersion

      public int getVersion()
      Gets the SNMP version (NMP messagen processing model) of the target.
      Specified by:
      getVersion in interface Target<A extends Address>
      Returns:
      the message processing model ID.
      See Also:
    • setRetries

      public void setRetries(int retries)
      Sets the number of retries to be performed before a request is timed out.
      Specified by:
      setRetries in interface Target<A extends Address>
      Parameters:
      retries - the number of retries. Note: If the number of retries is set to 0, then the request will be sent out exactly once.
    • getRetries

      public int getRetries()
      Gets the number of retries.
      Specified by:
      getRetries in interface Target<A extends Address>
      Returns:
      an integer >= 0.
    • setTimeout

      public void setTimeout(long timeout)
      Sets the timeout for a target.
      Specified by:
      setTimeout in interface Target<A extends Address>
      Parameters:
      timeout - timeout in milliseconds before a confirmed request is resent or timed out.
    • getTimeout

      public long getTimeout()
      Gets the timeout for a target.
      Specified by:
      getTimeout in interface Target<A extends Address>
      Returns:
      the timeout in milliseconds.
    • getMaxSizeRequestPDU

      public int getMaxSizeRequestPDU()
      Gets the maximum size of request PDUs that this target is able to respond to. The default is 65535.
      Specified by:
      getMaxSizeRequestPDU in interface Target<A extends Address>
      Returns:
      the maximum PDU size of request PDUs for this target. Which is always greater than 484.
    • setMaxSizeRequestPDU

      public void setMaxSizeRequestPDU(int maxSizeRequestPDU)
      Sets the maximum size of request PDUs that this target is able to receive.
      Specified by:
      setMaxSizeRequestPDU in interface Target<A extends Address>
      Parameters:
      maxSizeRequestPDU - the maximum PDU (SNMP message) size this session will be able to process.
    • getPreferredTransports

      public List<TransportMapping<? super A>> getPreferredTransports()
      Description copied from interface: Target
      Gets the prioritised list of transport mappings to be used for this target. The first mapping in the list that matches the target address is chosen for sending new requests.
      Specified by:
      getPreferredTransports in interface Target<A extends Address>
      Returns:
      an ordered list of TransportMapping instances.
    • setPreferredTransports

      public void setPreferredTransports(List<TransportMapping<? super A>> preferredTransports)
      Sets the prioritised list of transport mappings to be used for this target. The first mapping in the list that matches the target address will be chosen for sending new requests. If the value is set to null (default), the appropriate TransportMapping will be chosen by the supplied address of the target. If an entity supports more than one TransportMapping for an Address class, the the results are not defined. This situation can be controlled by setting this preferredTransports list.
      Parameters:
      preferredTransports - a list of transport mappings that are preferred for this target class.
      Since:
      2.0
    • toStringAbstractTarget

      protected String toStringAbstractTarget()
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • clone

      public Object clone()
      Specified by:
      clone in interface Target<A extends Address>
      Overrides:
      clone in class Object
    • getSecurityModel

      public int getSecurityModel()
      Description copied from interface: Target
      Gets the security model associated with this target.
      Specified by:
      getSecurityModel in interface Target<A extends Address>
      Returns:
      an int value as defined in the SecurityModel interface or any third party subclass thereof.
    • getSecurityName

      public final OctetString getSecurityName()
      Description copied from interface: Target
      Gets the security name associated with this target. The security name is used by the security model to lookup further parameters like authentication and privacy protocol settings from the security model dependent internal storage.
      Specified by:
      getSecurityName in interface Target<A extends Address>
      Returns:
      an OctetString instance (never null).
    • getSecurityLevel

      public int getSecurityLevel()
      Description copied from interface: Target
      Gets the security level associated with this target.
      Specified by:
      getSecurityLevel in interface Target<A extends Address>
      Returns:
      one of
    • setSecurityLevel

      public void setSecurityLevel(int securityLevel)
      Sets the security level for this target. The supplied security level must be supported by the security model dependent information associated with the security name set for this target.
      Specified by:
      setSecurityLevel in interface Target<A extends Address>
      Parameters:
      securityLevel - one of
    • setSecurityModel

      public void setSecurityModel(int securityModel)
      Sets the security model for this target.
      Specified by:
      setSecurityModel in interface Target<A extends Address>
      Parameters:
      securityModel - an int value as defined in the SecurityModel interface or any third party subclass thereof.
    • setSecurityName

      public final void setSecurityName(OctetString securityName)
      Sets the security name to be used with this target.
      Specified by:
      setSecurityName in interface Target<A extends Address>
      Parameters:
      securityName - an OctetString instance (must not be null).
      See Also:
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object