/** * Gets a textual description of this Variable. * * @return a textual description like 'Integer32' * as used in the Structure of Management Information (SMI) modules. * '?' is returned if the syntax is unknown. * @since 1.7 */ public final String getSyntaxString() { return getSyntaxString(getSyntax()); }
/** * Method to create the variable from the attribute value and the given SMI syntax value * @param value attribute value * @param smiSyntax attribute SMI Syntax * @return variable */ private Variable stringToVariable(String value, int smiSyntax) { Variable var = AbstractVariable.createFromSyntax(smiSyntax); try { if (var instanceof AssignableFromString) { ((AssignableFromString) var).setValue(value); } else if (var instanceof AssignableFromInteger) { ((AssignableFromInteger) var).setValue(Integer.valueOf(value)); } else if (var instanceof AssignableFromLong) { ((AssignableFromLong) var).setValue(Long.valueOf(value)); } else { this.getLogger().error("Unsupported conversion of [" + value +"] to " + var.getSyntaxString()); var = null; } } catch (IllegalArgumentException e) { this.getLogger().error("Unsupported conversion of [" + value +"] to " + var.getSyntaxString(), e); var = null; } return var; }
public int getBERPayloadLength() { return getBERLength(); }
return createVariable(smiSyntax); registerSyntaxes();
indexValues[i].getSyntaxString()+ " does not match index definition "+ AbstractVariable.getSyntaxString( this.subindexes[i].getSmiSyntax()));
public VariableBinding parseVariableBinding(String text) throws ParseException { String[] tokens = text.split(SEPARATOR, 3); if (tokens.length != 3) { throw new ParseException("Invalid format: "+ text, 0); } OID oid = new OID(oidFormat.parse(tokens[0])); String typeName = tokens[1]; String valueString = tokens[2]; if (typeName.equals(TYPE_NAME_4_OCTETSTRING_IN_HEX)) { OctetString os = (OctetString)parse(SMIConstants.SYNTAX_OCTET_STRING, ""); os.setValue(OctetString.fromHexString(valueString).getValue()); return new VariableBinding(oid, os); } else if (typeName.equals(AbstractVariable.getSyntaxString(BER.BITSTRING))) { BitString bs = (BitString)parse(BER.BITSTRING, ""); bs.setValue(BitString.fromHexString(valueString).getValue()); return new VariableBinding(oid, bs); } else { return new VariableBinding( oid, parse(AbstractVariable.getSyntaxFromString(typeName), valueString) ); } }
/** * Checks whether this variable represents an exception like * noSuchObject, noSuchInstance, and endOfMibView. * @return * {@code true} if the syntax of this variable is an instance of * {@code Null} and its syntax equals one of the following: * <UL> * <LI>{@link SMIConstants#EXCEPTION_NO_SUCH_OBJECT}</LI> * <LI>{@link SMIConstants#EXCEPTION_NO_SUCH_INSTANCE}</LI> * <LI>{@link SMIConstants#EXCEPTION_END_OF_MIB_VIEW}</LI> * </UL> */ public boolean isException() { return Null.isExceptionSyntax(getSyntax()); }
public final void decodeBER(BERInputStream inputStream) throws IOException { BER.MutableByte type = new BER.MutableByte(); int length = BER.decodeHeader(inputStream, type); long startPos = inputStream.getPosition(); if (type.getValue() != BER.SEQUENCE) { throw new IOException("Invalid sequence encoding: " + type.getValue()); } oid.decodeBER(inputStream); variable = AbstractVariable.createFromBER(inputStream); if (BER.isCheckSequenceLength()) { BER.checkSequenceLength(length, (int) (inputStream.getPosition() - startPos), this); } }
@Override public boolean equals(Object obj) { if (obj instanceof PDU) { PDU o = (PDU) obj; return (type == o.type) && (AbstractVariable.equal(requestID, o.requestID)) && (AbstractVariable.equal(errorStatus, o.errorStatus)) && (AbstractVariable.equal(errorIndex, o.errorIndex)) && variableBindings.equals(o.variableBindings); } return false; } }
return createVariable(smiSyntax); registerSyntaxes();
indexValues[i].getSyntaxString() + " does not match index definition " + AbstractVariable.getSyntaxString( this.subindexes[i].getSmiSyntax()));
/** * Checks whether this variable represents an exception like * noSuchObject, noSuchInstance, and endOfMibView. * * @return {@code true} if the syntax of this variable is an instance of * {@code Null} and its syntax equals one of the following: * <UL> * <LI>{@link SMIConstants#EXCEPTION_NO_SUCH_OBJECT}</LI> * <LI>{@link SMIConstants#EXCEPTION_NO_SUCH_INSTANCE}</LI> * <LI>{@link SMIConstants#EXCEPTION_END_OF_MIB_VIEW}</LI> * </UL> */ public boolean isException() { return Null.isExceptionSyntax(getSyntax()); }
public final void decodeBER(BERInputStream inputStream) throws IOException { BER.MutableByte type = new BER.MutableByte(); int length = BER.decodeHeader(inputStream, type); long startPos = inputStream.getPosition(); if (type.getValue() != BER.SEQUENCE) { throw new IOException("Invalid sequence encoding: " + type.getValue()); } oid.decodeBER(inputStream); variable = AbstractVariable.createFromBER(inputStream); if (BER.isCheckSequenceLength()) { BER.checkSequenceLength(length, (int) (inputStream.getPosition() - startPos), this); } }
@Override public boolean equals(Object obj) { if (obj instanceof PDU) { PDU o = (PDU) obj; return (type == o.type) && (AbstractVariable.equal(requestID, o.requestID)) && (AbstractVariable.equal(errorStatus,o.errorStatus)) && (AbstractVariable.equal(errorIndex, o.errorIndex)) && variableBindings.equals(o.variableBindings); } return false; } }
/** * This operation is not supported by {@link SimpleVariableTextFormat}. * * @param smiSyntax the SMI syntax identifier identifying the target * <code>Variable</code>. * @param text a textual representation of the variable. * @return the new <code>Variable</code> instance. * @throws ParseException if the variable cannot be parsed successfully. */ public Variable parse(int smiSyntax, String text) throws ParseException { Variable v = AbstractVariable.createFromSyntax(smiSyntax); if (v instanceof AssignableFromString) { ((AssignableFromString)v).setValue(text); } return v; }
/** * Gets a textual description of this Variable. * @return * a textual description like 'Integer32' * as used in the Structure of Management Information (SMI) modules. * '?' is returned if the syntax is unknown. * @since 1.7 */ public final String getSyntaxString() { return getSyntaxString(getSyntax()); }
return createVariable(smiSyntax); registerSyntaxes();
retvalue = ((IpAddress) valueAsVar).getInetAddress(); } else { logger.warn("Unknown syntax " + AbstractVariable.getSyntaxString(type));
public int getBERPayloadLength() { return getBERLength(); }
/** * Checks whether this variable represents an exception like * noSuchObject, noSuchInstance, and endOfMibView. * @return * <code>true</code> if the syntax of this variable is an instance of * <code>Null</code> and its syntax equals one of the following: * <UL> * <LI>{@link SMIConstants#EXCEPTION_NO_SUCH_OBJECT}</LI> * <LI>{@link SMIConstants#EXCEPTION_NO_SUCH_INSTANCE}</LI> * <LI>{@link SMIConstants#EXCEPTION_END_OF_MIB_VIEW}</LI> * </UL> */ public boolean isException() { return Null.isExceptionSyntax(getSyntax()); }