org.snmp4j
Class AbstractTarget

java.lang.Object
  extended by org.snmp4j.AbstractTarget
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, Target
Direct Known Subclasses:
CommunityTarget, SecureTarget

public abstract class AbstractTarget
extends java.lang.Object
implements Target

A AbstratTarget 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.

Since:
1.2
Version:
2.0
Author:
Frank Fock
See Also:
Serialized Form

Field Summary
protected  int securityLevel
           
protected  int securityModel
           
protected  OctetString securityName
           
 
Constructor Summary
protected AbstractTarget()
          Default constructor
protected AbstractTarget(Address address)
          Creates a SNMPv3 target with no retries and a timeout of one second.
protected AbstractTarget(Address address, OctetString securityName)
           
 
Method Summary
 java.lang.Object clone()
           
 Address getAddress()
          Gets the address of this target.
 int getMaxSizeRequestPDU()
          Gets the maximum size of request PDUs that this target is able to respond to.
 java.util.List<TransportMapping<? extends Address>> getPreferredTransports()
          Gets the prioritised list of transport mappings to be used for this target.
 int getRetries()
          Gets the number of retries.
 int getSecurityLevel()
          Gets the security level associated with this target.
 int getSecurityModel()
          Gets the security model associated with this target.
 OctetString getSecurityName()
          Gets the security name associated with this target.
 long getTimeout()
          Gets the timeout for a target.
 int getVersion()
          Gets the SNMP version (NMP messagen processing model) of the target.
 void setAddress(Address address)
          Sets the address of the target.
 void setMaxSizeRequestPDU(int maxSizeRequestPDU)
          Sets the maximum size of request PDUs that this target is able to receive.
 void setPreferredTransports(java.util.List<TransportMapping<? extends Address>> preferredTransports)
          Sets the prioritised list of transport mappings to be used for this target.
 void setRetries(int retries)
          Sets the number of retries to be performed before a request is timed out.
 void setSecurityLevel(int securityLevel)
          Sets the security level for this target.
 void setSecurityModel(int securityModel)
          Sets the security model for this target.
 void setSecurityName(OctetString securityName)
          Sets the security name to be used with this target.
 void setTimeout(long timeout)
          Sets the timeout for a target.
 void setVersion(int version)
          Sets the SNMP version (thus the SNMP message processing model) of the target.
 java.lang.String toString()
           
protected  java.lang.String toStringAbstractTarget()
           
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

securityLevel

protected int securityLevel

securityModel

protected int securityModel

securityName

protected OctetString securityName
Constructor Detail

AbstractTarget

protected AbstractTarget()
Default constructor


AbstractTarget

protected AbstractTarget(Address address)
Creates a SNMPv3 target with no retries and a timeout of one second.

Parameters:
address - an Address instance.

AbstractTarget

protected AbstractTarget(Address address,
                         OctetString securityName)
Method Detail

getAddress

public Address getAddress()
Gets the address of this target.

Specified by:
getAddress in interface Target
Returns:
an Address instance.

setAddress

public void setAddress(Address address)
Sets the address of the target.

Specified by:
setAddress in interface Target
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
Parameters:
version - the message processing model ID.
See Also:
SnmpConstants.version1, SnmpConstants.version2c, SnmpConstants.version3

getVersion

public int getVersion()
Gets the SNMP version (NMP messagen processing model) of the target.

Specified by:
getVersion in interface Target
Returns:
the message processing model ID.
See Also:
SnmpConstants.version1, SnmpConstants.version2c, SnmpConstants.version3

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
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
Returns:
an integer >= 0.

setTimeout

public void setTimeout(long timeout)
Sets the timeout for a target.

Specified by:
setTimeout in interface Target
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
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
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
Parameters:
maxSizeRequestPDU - the maximum PDU (SNMP message) size this session will be able to process.

getPreferredTransports

public java.util.List<TransportMapping<? extends Address>> 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
Returns:
an ordered list of TransportMapping instances.

setPreferredTransports

public void setPreferredTransports(java.util.List<TransportMapping<? extends Address>> 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.

Since:
2.0

toStringAbstractTarget

protected java.lang.String toStringAbstractTarget()

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

clone

public java.lang.Object clone()
Specified by:
clone in interface Target
Overrides:
clone in class java.lang.Object

getSecurityModel

public int getSecurityModel()
Description copied from interface: Target
Gets the security model associated with this target.

Specified by:
getSecurityModel in interface Target
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
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
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.

Parameters:
securityLevel - one of


setSecurityModel

public void setSecurityModel(int securityModel)
Sets the security model for this target.

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.

Parameters:
securityName - an OctetString instance (must not be null).
See Also:
getSecurityName()

Copyright 2005-2011 Frank Fock (SNMP4J.org)

Copyright © 2011 SNMP4J.org. All Rights Reserved.