- java.lang.Object
-
- org.snmp4j.agent.io.prop.PropertyMOInput
-
- All Implemented Interfaces:
MOInput
public class PropertyMOInput extends Object implements MOInput
ThePropertyMOInputcan be used to load MIB data from a properties file.The format of the properties file is as follows:
snmp4j.agent.cfg.contexts={s|x}<context1>[,{s|x}<context2>...] snmp4j.agent.cfg.oid[.ctx.<context>].<oid>=[<numRows>:<numCols>] snmp4j.agent.cfg.oid[.ctx.<context>].<oid>=[{<format>}<value>] snmp4j.agent.cfg.index[.ctx.<context>].oid.<rowIndex>={o}<index> snmp4j.agent.cfg.value[.ctx.<context>].oid.<rowIndex>.<colIndex>=[{<format>}<value>]where text enclosed in [] is optional and- context1 - is a SNMPv3 context name as UTF-8 string (format {s}) or a hexadecimal string (format {x}).
- context - is a SNMPv3 context name as UTF-8 string if that string does not contain any ISO control characters, otherwise a hexdecimal representation separated by a colon (:).
- format - one of
- u - an Unsigned32 value.
- i - an Integer32 value.
- s - an OctetString value.
- x - an OctetString value in hexadecimal format (separated by :).
- d - an OctetString value in decimal format (separated by .).
- b - an OctetString value in decimal format (separated by ' ' per byte).
- n - a Null value.
- o - an OID value as dotted string where string parts may be specified
directly enclosed in single quotes (') and the to an OID converted value of a variable/oid instance may be specified
in the format
[#]{<name/oid>}. The value of the variable will be included into the OID with prependend length if the # is used in the format string otherwise no length will be included. - t - a TimeTicks value as an unsigned long value.
- a - a IpAddress value.
- $ - gets the value from the variable or object instance specified by the name/oid following the $.
- value - a variable value in the format specified by
format. - numRows - the number of rows in the table.
- numCols - the number of columns in the table.
- rowIndex - the row index as a zero based unsigned integer.
- colIndex - the column index as a zero based unsigned integer.
- index - the OID value of the row's index.
An example properties file is:
snmp4j.agent.cfg.contexts= snmp4j.agent.cfg.oid.1.3.6.1.2.1.1.2.0={o}1.3.6.1.4.1.4976 snmp4j.agent.cfg.oid.1.3.6.1.2.1.1.4.0={s}System Administrator snmp4j.agent.cfg.oid.1.3.6.1.2.1.1.6.0={s}<edit location> snmp4j.agent.cfg.oid.1.3.6.1.2.1.1.7.0={i}10 snmp4j.agent.cfg.oid.1.3.6.1.2.1.1.9.1=1:2 snmp4j.agent.cfg.index.1.3.6.1.2.1.1.9.1.0={o}1 snmp4j.agent.cfg.value.1.3.6.1.2.1.1.9.1.0.0={o}1.3.6.1.4.1.4976.10.1.1.100.4.1 snmp4j.agent.cfg.value.1.3.6.1.2.1.1.9.1.0.1= ## VACM MIB # security2Group snmp4j.agent.cfg.oid.1.3.6.1.6.3.16.1.2.1=2:3 snmp4j.agent.cfg.index.1.3.6.1.6.3.16.1.2.1.0={o}2.6.'public' snmp4j.agent.cfg.value.1.3.6.1.6.3.16.1.2.1.0.0={s}v1v2cgroup snmp4j.agent.cfg.value.1.3.6.1.6.3.16.1.2.1.0.1={i}4 snmp4j.agent.cfg.value.1.3.6.1.6.3.16.1.2.1.0.2={i}1 snmp4j.agent.cfg.index.1.3.6.1.6.3.16.1.2.1.1={o}3.6.'SHADES' snmp4j.agent.cfg.value.1.3.6.1.6.3.16.1.2.1.1.0={s}v3group snmp4j.agent.cfg.value.1.3.6.1.6.3.16.1.2.1.1.1={i}4 snmp4j.agent.cfg.value.1.3.6.1.6.3.16.1.2.1.1.2={i}1 # access snmp4j.agent.cfg.oid.1.3.6.1.6.3.16.1.4.1=2:6 snmp4j.agent.cfg.index.1.3.6.1.6.3.16.1.4.1.0={o}10.'v1v2cgroup'.0.2.1 snmp4j.agent.cfg.value.1.3.6.1.6.3.16.1.4.1.0.0={i}1 snmp4j.agent.cfg.value.1.3.6.1.6.3.16.1.4.1.0.1={s}unrestrictedReadView snmp4j.agent.cfg.value.1.3.6.1.6.3.16.1.4.1.0.2={s}unrestrictedWriteView snmp4j.agent.cfg.value.1.3.6.1.6.3.16.1.4.1.0.3={s}unrestrictedNotifyView snmp4j.agent.cfg.value.1.3.6.1.6.3.16.1.4.1.0.4={i}4 snmp4j.agent.cfg.value.1.3.6.1.6.3.16.1.4.1.0.5={i}1 snmp4j.agent.cfg.index.1.3.6.1.6.3.16.1.4.1.1={o}7.'v3group'.0.3.3 snmp4j.agent.cfg.value.1.3.6.1.6.3.16.1.4.1.1.0={i}1 snmp4j.agent.cfg.value.1.3.6.1.6.3.16.1.4.1.1.1={s}unrestrictedReadView snmp4j.agent.cfg.value.1.3.6.1.6.3.16.1.4.1.1.2={s}unrestrictedWriteView snmp4j.agent.cfg.value.1.3.6.1.6.3.16.1.4.1.1.3={s}unrestrictedNotifyView snmp4j.agent.cfg.value.1.3.6.1.6.3.16.1.4.1.1.4={i}4 snmp4j.agent.cfg.value.1.3.6.1.6.3.16.1.4.1.1.5={i}1 # view trees snmp4j.agent.cfg.oid.1.3.6.1.6.3.16.1.5.2.1=3:4 snmp4j.agent.cfg.index.1.3.6.1.6.3.16.1.5.2.1.0={o}20.'unrestrictedReadView'.3.1.3.6 snmp4j.agent.cfg.value.1.3.6.1.6.3.16.1.5.2.1.0.0={s} snmp4j.agent.cfg.value.1.3.6.1.6.3.16.1.5.2.1.0.1={i}1 snmp4j.agent.cfg.value.1.3.6.1.6.3.16.1.5.2.1.0.2={i}4 snmp4j.agent.cfg.value.1.3.6.1.6.3.16.1.5.2.1.0.3={i}1 snmp4j.agent.cfg.index.1.3.6.1.6.3.16.1.5.2.1.1={o}21.'unrestrictedWriteView'.3.1.3.6 snmp4j.agent.cfg.value.1.3.6.1.6.3.16.1.5.2.1.1.0={s} snmp4j.agent.cfg.value.1.3.6.1.6.3.16.1.5.2.1.1.1={i}1 snmp4j.agent.cfg.value.1.3.6.1.6.3.16.1.5.2.1.1.2={i}4 snmp4j.agent.cfg.value.1.3.6.1.6.3.16.1.5.2.1.1.3={i}1 snmp4j.agent.cfg.index.1.3.6.1.6.3.16.1.5.2.1.2={o}22.'unrestrictedNotifyView'.3.1.3.6 snmp4j.agent.cfg.value.1.3.6.1.6.3.16.1.5.2.1.2.0={s} snmp4j.agent.cfg.value.1.3.6.1.6.3.16.1.5.2.1.2.1={i}1 snmp4j.agent.cfg.value.1.3.6.1.6.3.16.1.5.2.1.2.2={i}4 snmp4j.agent.cfg.value.1.3.6.1.6.3.16.1.5.2.1.2.3={i}1 ## SNMP community MIB snmp4j.agent.cfg.oid.1.3.6.1.6.3.18.1.1.1=1:7 snmp4j.agent.cfg.index.1.3.6.1.6.3.18.1.1.1.0={o}'public' snmp4j.agent.cfg.value.1.3.6.1.6.3.18.1.1.1.0.0={s}public snmp4j.agent.cfg.value.1.3.6.1.6.3.18.1.1.1.0.1={s}public snmp4j.agent.cfg.value.1.3.6.1.6.3.18.1.1.1.0.2={$1.3.6.1.6.3.10.2.1.1.0} snmp4j.agent.cfg.value.1.3.6.1.6.3.18.1.1.1.0.3={s} snmp4j.agent.cfg.value.1.3.6.1.6.3.18.1.1.1.0.4={s} snmp4j.agent.cfg.value.1.3.6.1.6.3.18.1.1.1.0.5={i}4 snmp4j.agent.cfg.value.1.3.6.1.6.3.18.1.1.1.0.6={i}1 ## USM MIB snmp4j.agent.cfg.oid.1.3.6.1.6.3.15.1.2.2.1=1:14 snmp4j.agent.cfg.index.1.3.6.1.6.3.15.1.2.2.1.0={o}$#{1.3.6.1.6.3.10.2.1.1.0}.6.'SHADES' snmp4j.agent.cfg.value.1.3.6.1.6.3.15.1.2.2.1.0.0={s}SHADES snmp4j.agent.cfg.value.1.3.6.1.6.3.15.1.2.2.1.0.1={o} snmp4j.agent.cfg.value.1.3.6.1.6.3.15.1.2.2.1.0.2={o}1.3.6.1.6.3.10.1.1.3 snmp4j.agent.cfg.value.1.3.6.1.6.3.15.1.2.2.1.0.3={s} snmp4j.agent.cfg.value.1.3.6.1.6.3.15.1.2.2.1.0.4={s} snmp4j.agent.cfg.value.1.3.6.1.6.3.15.1.2.2.1.0.5={o}1.3.6.1.6.3.10.1.2.2 snmp4j.agent.cfg.value.1.3.6.1.6.3.15.1.2.2.1.0.6={s} snmp4j.agent.cfg.value.1.3.6.1.6.3.15.1.2.2.1.0.7={s} snmp4j.agent.cfg.value.1.3.6.1.6.3.15.1.2.2.1.0.8={s} snmp4j.agent.cfg.value.1.3.6.1.6.3.15.1.2.2.1.0.9={i}4 snmp4j.agent.cfg.value.1.3.6.1.6.3.15.1.2.2.1.0.10={i}1 snmp4j.agent.cfg.value.1.3.6.1.6.3.15.1.2.2.1.0.11={s}SHADESAuthPassword snmp4j.agent.cfg.value.1.3.6.1.6.3.15.1.2.2.1.0.12={s}SHADESPrivPassword snmp4j.agent.cfg.value.1.3.6.1.6.3.15.1.2.2.1.0.13=- Version:
- 1.2
- Author:
- Frank Fock
-
-
Field Summary
Fields Modifier and Type Field Description static StringCONFIG_PREFIXstatic StringCONTEXTS_IDstatic StringCTX_IDstatic StringINDEX_IDstatic StringOID_IDstatic StringVALUE_IDstatic StringVERSION_ID
-
Constructor Summary
Constructors Constructor Description PropertyMOInput(Properties props)PropertyMOInput(Properties props, VariableProvider variables)PropertyMOInput(Properties props, VariableProvider variables, org.snmp4j.util.OIDTextFormat oidTextFormat)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()org.snmp4j.smi.VariablecreateVariableFromString(String value, Class<? extends org.snmp4j.smi.Variable> returnType)Parses a string of the formatintgetImportMode()Returns the update mode, which might be one of the constants defined byImportMode.ContextreadContext()IndexedVariablesreadIndexedVariables()MOInforeadManagedObject()SequencereadSequence()org.snmp4j.smi.VariablereadVariable()voidskipContext(Context context)voidskipManagedObject(MOInfo mo)Skips to the end of the specified managed object's configuration.
-
-
-
Field Detail
-
CONFIG_PREFIX
public static final String CONFIG_PREFIX
- See Also:
- Constant Field Values
-
CONTEXTS_ID
public static final String CONTEXTS_ID
- See Also:
- Constant Field Values
-
OID_ID
public static final String OID_ID
- See Also:
- Constant Field Values
-
INDEX_ID
public static final String INDEX_ID
- See Also:
- Constant Field Values
-
VERSION_ID
public static final String VERSION_ID
- See Also:
- Constant Field Values
-
CTX_ID
public static final String CTX_ID
- See Also:
- Constant Field Values
-
VALUE_ID
public static final String VALUE_ID
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
PropertyMOInput
public PropertyMOInput(Properties props)
-
PropertyMOInput
public PropertyMOInput(Properties props, VariableProvider variables)
-
PropertyMOInput
public PropertyMOInput(Properties props, VariableProvider variables, org.snmp4j.util.OIDTextFormat oidTextFormat)
-
-
Method Detail
-
getImportMode
public int getImportMode()
Returns the update mode, which might be one of the constants defined byImportMode. By default,ImportMode.RESTORE_CHANGESis returned.- Specified by:
getImportModein interfaceMOInput- Returns:
- the constant denoting the update mode that should be used by a
SerializableManagedObjectto import its content from persistent storage.
-
readContext
public Context readContext() throws IOException
- Specified by:
readContextin interfaceMOInput- Throws:
IOException
-
readIndexedVariables
public IndexedVariables readIndexedVariables() throws IOException
- Specified by:
readIndexedVariablesin interfaceMOInput- Throws:
IOException
-
readManagedObject
public MOInfo readManagedObject() throws IOException
- Specified by:
readManagedObjectin interfaceMOInput- Throws:
IOException
-
readSequence
public Sequence readSequence() throws IOException
- Specified by:
readSequencein interfaceMOInput- Throws:
IOException
-
readVariable
public org.snmp4j.smi.Variable readVariable() throws IOException- Specified by:
readVariablein interfaceMOInput- Throws:
IOException
-
skipContext
public void skipContext(Context context) throws IOException
- Specified by:
skipContextin interfaceMOInput- Throws:
IOException
-
skipManagedObject
public void skipManagedObject(MOInfo mo) throws IOException
Description copied from interface:MOInputSkips to the end of the specified managed object's configuration.- Specified by:
skipManagedObjectin interfaceMOInput- Parameters:
mo- a MOInfo instance.- Throws:
IOException- if the input stream cannot be read.
-
createVariableFromString
public org.snmp4j.smi.Variable createVariableFromString(String value, Class<? extends org.snmp4j.smi.Variable> returnType)
Parses a string of the formatOID={type}value where <type> is one of the following single characters enclosed by '{' and '}': i Integer32 u UnsignedInteger32, Gauge32 s OCTET STRING x OCTET STRING specified as hex string where bytes separated by colons (':'). d OCTET STRING specified as decimal string where bytes are separated by dots ('.'). n Null o OBJECT IDENTIFIER t TimeTicks a IpAddress b OCTET STRING specified as binary string where bytes are separated by spaces. $<variableName> where <variableName> is the name of a predefined variable or the OID of a variable of the agent's MIB.and returns the corresponding variable.- Parameters:
value- the variable value string.returnType- the expected Variable class to return.- Returns:
nullifvalueisnulland theVariablecorresponding tovalueotherwise.
-
close
public void close() throws IOException- Specified by:
closein interfaceMOInput- Throws:
IOException
-
-