Interface MOFactory

All Known Subinterfaces:
LinkedMOFactory
All Known Implementing Classes:
DefaultMOFactory, MOFactoryAdapter, SimMOFactory

public interface MOFactory
The MOFactory interface provides factory methods for creating all types of managed objects known by SNMP4J-Agent. By using this factory instead of creating the managed objects and related objects directly, one can easily install a sort of aspect oriented layer into the managed object instrumentation.
Version:
3.0.0
Author:
Frank Fock
  • Method Details

    • addTextualConvention

      void addTextualConvention(TextualConvention<?> tc)
      Adds a textual convention to this factory which can then be used by the factory to create appropriate value constraints for columnar and scalar managed objects.
      Parameters:
      tc - a TextualConvention instance.
    • removeTextualConvention

      void removeTextualConvention(TextualConvention<?> tc)
      Removes the supplied textual convention from the supported TCs by this ManagedObject factory.
      Parameters:
      tc - a TextualConvention instance.
    • getTextualConvention

      <V extends org.snmp4j.smi.Variable> TextualConvention<V> getTextualConvention(String moduleName, String name)
      Gets the textual convention described by the TC's name and the MIB module name of the MIB module specifying the TC.
      Type Parameters:
      V - the Variable type that is the base type of the returned textual convention.
      Parameters:
      moduleName - the name of the MIB module that defines the TC.
      name - the object name of the TC.
      Returns:
      the TextualConvention that matches the given values, or null if such a TC is not registered with this factory.
    • createAccess

      default MOAccess createAccess(int moAccess)
      Creates an MOAccess instance from an access specification constant that is the result of a bitwise OR of any of the constants defined by MOAccess.
      Parameters:
      moAccess - any bitwise OR combined constant from MOAccess.
      Returns:
      a MOAccess instance.
    • createTable

      default <R extends MOTableRow, M extends MOTableModel<R>> MOTable<R,MOColumn,M> createTable(org.snmp4j.smi.OID oid, MOTableIndex indexDef, MOColumn[] columns)
      Creates a MOTable instance for the supplied OID, index definition, and columns with the DefaultMOMutableTableModel as table model.
      Type Parameters:
      R - the MOTableRow type of the table to return.
      M - the MOTableModel type of the table to return.
      Parameters:
      oid - the OID of the table entry (thus table OID + ".1").
      indexDef - the index definition of the table.
      columns - the columns for the new table as an array of MOColumn instances.
      Returns:
      a MOTable instance.
    • createTable

      default <R extends MOTableRow, M extends MOTableModel<R>> MOTable<R,MOColumn,M> createTable(org.snmp4j.smi.OID oid, MOTableIndex indexDef, MOColumn[] columns, M model)
      Creates a MOTable instance for the supplied OID, index definition, columns, and table model.
      Type Parameters:
      R - the MOTableRow type of the table to return.
      M - the MOTableModel type of the table to return.
      Parameters:
      oid - the OID of the table entry (thus table OID + ".1").
      indexDef - the index definition of the table.
      columns - the columns for the new table as an array of MOColumn instances.
      model - the table model to use for the table.
      Returns:
      a MOTable instance.
    • createIndex

      default MOTableIndex createIndex(MOTableSubIndex[] subIndexes, boolean impliedLength)
      Creates an index definition from the supplied sub-index definitions without index validation.
      Parameters:
      subIndexes - an array of MOTableSubIndex instances defining the sub- index values of this index.
      impliedLength - indicates whether the last variable length sub-index value has an implied length or not (default is false).
      Returns:
      MOTableIndex a MOTableIndex instance.
    • createIndex

      default MOTableIndex createIndex(MOTableSubIndex[] subIndexes, boolean impliedLength, MOTableIndexValidator validator)
      Creates an index definition from the supplied sub-index definitions with index validation according to the supplied validator.
      Parameters:
      subIndexes - an array of MOTableSubIndex instances defining the sub- index values of this index.
      impliedLength - indicates whether the last variable length sub-index value has an implied length or not (default is false).
      validator - an index validator to check index values.
      Returns:
      MOTableIndex a MOTableIndex instance.
    • createSubIndex

      default MOTableSubIndex createSubIndex(org.snmp4j.smi.OID oid, int smiSyntax)
      Creates a sub-index definition.
      Parameters:
      oid - the object identifier of the OBJECT-TYPE that defines this sub-index or null if that information is not available. An non null is required for AgentX shared tables.
      smiSyntax - the SMI syntax as defined by SMIConstants.
      Returns:
      a MOTableSubIndex instance.
      Since:
      1.1
    • createSubIndex

      default MOTableSubIndex createSubIndex(org.snmp4j.smi.OID oid, int smiSyntax, int minLength, int maxLength)
      Creates a sub-index definition.
      Parameters:
      oid - the object identifier of the OBJECT-TYPE that defines this sub-index or null if that information is not available. An non null is required for AgentX shared tables.
      smiSyntax - the SMI syntax as defined by SMIConstants.
      minLength - the minimum length in sub-identifiers (without length sub-id) of the sub-index.
      maxLength - the maximum length in sub-identifiers (without length sub-id) of the sub-index.
      Returns:
      a MOTableSubIndex instance.
      Since:
      1.1
    • createColumn

      default <V extends org.snmp4j.smi.Variable> MOColumn<V> createColumn(int columnID, int syntax, MOAccess access)
      Creates a columnar object by supplying column ID, syntax, and maximum access. Use this method for columns not based on a textual convention.
      Type Parameters:
      V - the Variable type of the column to return.
      Parameters:
      columnID - the column ID of the column. The column ID is the last sub-identifier of a column definition. It is NOT the index of the column.
      syntax - the SMI syntax of the column as defined by SMIConstants.
      access - the maximum access supported by this column.
      Returns:
      a MOColumn instance.
    • createColumn

      default <V extends org.snmp4j.smi.Variable> MOColumn<V> createColumn(int columnID, int syntax, MOAccess access, String tcModuleName, String textualConvention)
      Creates a columnar object by supplying column ID, syntax, and maximum access. Use this method for columns based on the textual convention.
      Type Parameters:
      V - the Variable type of the column to return.
      Parameters:
      columnID - the column ID of the column. The column ID is the last sub-identifier of a column definition. It is NOT the index of the column.
      syntax - the (effective) SMI syntax of the column as defined by SMIConstants.
      access - the maximum access supported by this column.
      tcModuleName - the MIB module name that defines the textual conventions.
      textualConvention - the object name of the textual convention on which this column is based.
      Returns:
      a MOColumn instance.
    • createColumn

      default <V extends org.snmp4j.smi.Variable> MOColumn<V> createColumn(int columnID, int syntax, MOAccess access, V defaultValue, boolean mutableInService)
      Creates a columnar object by supplying column ID, syntax, and maximum access. Use this method for columns based on the textual convention.
      Type Parameters:
      V - the Variable type of the column to return.
      Parameters:
      columnID - the column ID of the column. The column ID is the last sub-identifier of a column definition. It is NOT the index of the column.
      syntax - the (effective) SMI syntax of the column as defined by SMIConstants.
      access - the maximum access supported by this column.
      defaultValue - the default value defined by the DEFVAL clause for this column.
      mutableInService - if true this object may be changed while it is active (inService), otherwise such an attempt will be rejected with a inconsistentValue error.
      Returns:
      a MOColumn instance.
    • createColumn

      default <V extends org.snmp4j.smi.Variable> MOColumn<V> createColumn(int columnID, int syntax, MOAccess access, V defaultValue, boolean mutableInService, String tcModuleName, String textualConvention)
      Creates a columnar object by supplying column ID, syntax, and maximum access. Use this method for columns based on the textual convention.
      Type Parameters:
      V - the Variable type of the column to return.
      Parameters:
      columnID - the column ID of the column. The column ID is the last sub-identifier of a column definition. It is NOT the index of the column.
      syntax - the (effective) SMI syntax of the column as defined by SMIConstants.
      access - the maximum access supported by this column.
      defaultValue - the default value defined by the DEFVAL clause for this column.
      mutableInService - if true this object may be changed while it is active (inService), otherwise such an attempt will be rejected with a inconsistentValue error.
      tcModuleName - the MIB module name that defines the textual conventions.
      textualConvention - the object name of the textual convention on which this column is based.
      Returns:
      a MOColumn instance.
    • createTableModel

      default <R extends MOTableRow, M extends MOTableModel<? extends R>> M createTableModel(org.snmp4j.smi.OID tableOID, MOTableIndex indexDef, MOColumn[] columns)
      Creates a table model (by default a DefaultMOMutableTableModel).
      Type Parameters:
      R - the MOTableRow type of the table model to return.
      M - the MOTableModel type of the table model to return.
      Parameters:
      tableOID - the table's OID for which this model is created.
      indexDef - the index definition for the table.
      columns - the columns defined for the table.
      Returns:
      a MOTableModel instance.
      Since:
      1.1
    • createScalar

      default <V extends org.snmp4j.smi.Variable> MOScalar<V> createScalar(org.snmp4j.smi.OID id, MOAccess access, V value)
      Creates a scalar object from a OID, maximum access, and value.
      Type Parameters:
      V - the Variable type of the scalar to return.
      Parameters:
      id - the OID of the scalar (including the .0 suffix).
      access - the maximum access supported by this scalar.
      value - the (initial) value of the scalar.
      Returns:
      a MOScalar instance.
    • createScalar

      default <V extends org.snmp4j.smi.Variable> MOScalar<V> createScalar(org.snmp4j.smi.OID id, MOAccess access, V value, String tcModuleName, String textualConvention)
      Creates a scalar object from a OID, maximum access, and value.
      Type Parameters:
      V - the Variable type of the scalar to return.
      Parameters:
      id - the OID of the scalar (including the .0 suffix).
      access - the maximum access supported by this scalar.
      value - the (initial) value of the scalar.
      tcModuleName - the MIB module name that defines the textual conventions.
      textualConvention - the object name of the textual convention on which this scalar is based.
      Returns:
      a MOScalar instance.
    • createTableRelation

      default <BaseRow extends MOTableRow, DependentRow extends MOTableRow> MOTableRelation<BaseRow,DependentRow> createTableRelation(MOTable<BaseRow,? extends MOColumn,? extends MOTableModel<BaseRow>> baseTable, MOTable<DependentRow,? extends MOColumn,? extends MOTableModel<DependentRow>> dependentTable)
      Creates a relation between two tables. Related tables share one or more sub-indexes beginning with the first sub-index.
      Type Parameters:
      BaseRow - the base row type of the table relation.
      DependentRow - the dependent row type of the table relation.
      Parameters:
      baseTable - the base table.
      dependentTable - the dependent or augmenting table.
      Returns:
      a MOTableRelation instance relating the supplied tables.
    • getSysUpTime

      default SysUpTime getSysUpTime(org.snmp4j.smi.OctetString context)
      Gets a reference to the systems up-time object for the specified context.
      Parameters:
      context - the SNMPv3 context for which the up-time object should be returned. If the context is null, the up-time of the default context is returned.
      Returns:
      a reference to a SysUpTime implementation.
      Since:
      2.3.0