com.sun.management.snmp
Class SnmpPduFactoryBER

java.lang.Object
  extended by com.sun.management.snmp.SnmpPduFactoryBER
All Implemented Interfaces:
SnmpPduFactory, Serializable

public class SnmpPduFactoryBER
extends Object
implements SnmpPduFactory, Serializable

Default implementation of the SnmpPduFactory interface.
It uses the BER (basic encoding rules) standardized encoding scheme associated with ASN.1.

This implementation of the SnmpPduFactory is very basic: it simply calls encoding and decoding methods from SnmpMsg.

 public SnmpPdu decodeSnmpPdu(SnmpMsg msg) 
 throws SnmpStatusException {
   return msg.decodeSnmpPdu() ;
 }
 
 public SnmpMsg encodeSnmpPdu(SnmpPdu pdu, int maxPktSize)
 throws SnmpStatusException, SnmpTooBigException {
   SnmpMsg result = new SnmpMessage() ;       // for SNMP v1/v2
 or
   SnmpMsg result = new SnmpV3Message() ;     // for SNMP v3
   result.encodeSnmpPdu(pdu, maxPktSize) ;
   return result ;
 }
 
To implement your own object, you can implement SnmpPduFactory or extend SnmpPduFactoryBER.

Since:
Java DMK 5.1
See Also:
Serialized Form

Constructor Summary
SnmpPduFactoryBER()
           
 
Method Summary
 SnmpPdu decodeSnmpPdu(SnmpMsg msg)
          Calls SnmpMsg.decodeSnmpPdu on the specified message and returns the resulting SnmpPdu.
 SnmpMsg encodeSnmpPdu(SnmpPdu pdu, int maxPktSize)
          Encodes the specified SnmpPdu and returns the resulting SnmpMsg.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SnmpPduFactoryBER

public SnmpPduFactoryBER()
Method Detail

decodeSnmpPdu

public SnmpPdu decodeSnmpPdu(SnmpMsg msg)
                      throws SnmpStatusException
Calls SnmpMsg.decodeSnmpPdu on the specified message and returns the resulting SnmpPdu.

Specified by:
decodeSnmpPdu in interface SnmpPduFactory
Parameters:
msg - The SNMP message to be decoded.
Returns:
The resulting SNMP PDU packet.
Throws:
SnmpStatusException - If the encoding is invalid.

encodeSnmpPdu

public SnmpMsg encodeSnmpPdu(SnmpPdu pdu,
                             int maxPktSize)
                      throws SnmpStatusException,
                             SnmpTooBigException
Encodes the specified SnmpPdu and returns the resulting SnmpMsg. If this method returns null, the specified SnmpPdu will be dropped and the current SNMP request will be aborted.

Specified by:
encodeSnmpPdu in interface SnmpPduFactory
Parameters:
pdu - The SnmpPdu to be encoded.
maxPktSize - The size limit of the resulting encoding.
Returns:
Null or a fully encoded SnmpMsg.
Throws:
SnmpStatusException - If pdu contains illegal values and cannot be encoded.
SnmpTooBigException - If the resulting encoding does not fit into maxPktSize bytes.

Open Source build 02
opendmk-1.0-b02 2007.10.01_19:17:46_MEST

Copyright 1998-2007 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.