[SNMP4J] Variable and syntax

Matthias Wiesmann matthias.wiesmann at gmail.com
Mon Jan 16 12:10:58 CET 2006


Yes, for instance here is a part of a utility I have written to
translate SNMP4J variables into canonical Java types:

 static public Object toJava(Variable variable) {
	if (variable==null) return null ;
	final int syntax = variable.getSyntax();
	switch (syntax) {
	    case SMIConstants.SYNTAX_INTEGER32 :
		return toNumber((Integer32) variable) ;
	    case SMIConstants.SYNTAX_UNSIGNED_INTEGER32:
	    case SMIConstants.SYNTAX_COUNTER32:
		return toNumber((UnsignedInteger32) variable) ;
	    case SMIConstants.SYNTAX_COUNTER64 :
		return toNumber((Counter64) variable) ;
	    case SMIConstants.SYNTAX_IPADDRESS:
		return toInetAddress((IpAddress) variable) ;
	    case SMIConstants.SYNTAX_OBJECT_IDENTIFIER:
		return variable.toString();
	    case SMIConstants.SYNTAX_TIMETICKS:
	    default:
		return variable.toString();
	} // switch
    } // toJava


On 16/01/06, Marco.Bresciani at alcatel.it <Marco.Bresciani at alcatel.it> wrote:
> Speaking about a Variable (org.snmp4j.smi.Variable) object and its
> getSyntax() method, are the results given by this method the followings?
>
> public static final int EXCEPTION_END_OF_MIB_VIEW 130
> public static final int EXCEPTION_NO_SUCH_INSTANCE 129
> public static final int EXCEPTION_NO_SUCH_OBJECT 128
> public static final int SYNTAX_COUNTER32 65
> public static final int SYNTAX_COUNTER64 70
> public static final int SYNTAX_GAUGE32 66
> public static final int SYNTAX_INTEGER 2
> public static final int SYNTAX_INTEGER32 2
> public static final int SYNTAX_IPADDRESS 64
> public static final int SYNTAX_NULL 5
> public static final int SYNTAX_OBJECT_IDENTIFIER 6
> public static final int SYNTAX_OCTET_STRING 4
> public static final int SYNTAX_OPAQUE 68
> public static final int SYNTAX_TIMETICKS 67
> public static final int SYNTAX_UNSIGNED_INTEGER32 66
>
> If so, can I switch on these values to determine Variable data type? I
> mean: I have a Variable object and I don't know which type it contains. I
> switch on its getSyntax() method so I can find out, say, it's an Integer32
> type so I can write something like
>
> Integer32 new_data = (Integer32) generic_variable_data
>
> Thank you,



More information about the SNMP4J mailing list