Class PropertyMOInput

  • All Implemented Interfaces:
    MOInput

    public class PropertyMOInput
    extends Object
    implements MOInput
    The PropertyMOInput can 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 [#]{&lt;name/oid&gt;}. 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:
    3.6.4
    Author:
    Frank Fock
    • Method Detail

      • setOidTextFormat

        public void setOidTextFormat​(org.snmp4j.util.OIDTextFormat oidTextFormat)
        Sets the OID text format to be used when parsing OIDs from properties files. Default is SimpleOIDTextFormat
        Parameters:
        oidTextFormat - an OID text format.
        Since:
        3.5.4
      • getImportMode

        public int getImportMode()
        Returns the update mode, which might be one of the constants defined by ImportMode. By default, ImportMode.RESTORE_CHANGES is returned.
        Specified by:
        getImportMode in interface MOInput
        Returns:
        the constant denoting the update mode that should be used by a SerializableManagedObject to import its content from persistent storage.
      • setImportMode

        public void setImportMode​(int importMode)
        Sets the ImportMode to be used when importing. By default, ImportMode.RESTORE_CHANGES is used.
        Parameters:
        importMode - one of the integer constants defined by ImportMode defining how SerializableManagedObject should import its content from properties.
        Since:
        3.5.4
      • skipManagedObject

        public void skipManagedObject​(MOInfo mo)
                               throws IOException
        Description copied from interface: MOInput
        Skips to the end of the specified managed object's configuration.
        Specified by:
        skipManagedObject in interface MOInput
        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 format
         OID={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:
        null if value is null and the Variable corresponding to value otherwise.