Class MOFactoryAdapter

  • All Implemented Interfaces:
    MOFactory


    public class MOFactoryAdapter
    extends Object
    implements MOFactory
    The MOFactoryAdapter class wraps a MOFactory and per default delegates all method calls to that class. User of the adapter can then overwrite and adapt the behavior of the underlying factory for special needs of a certain group of MIB objects, for example during creation of a MIB module.
    Version:
    3.0.0
    Author:
    Frank Fock
    • Constructor Detail

      • MOFactoryAdapter

        public MOFactoryAdapter​(MOFactory delegateFactory)
    • Method Detail

      • addTextualConvention

        public void addTextualConvention​(TextualConvention<?> tc)
        Description copied from interface: MOFactory
        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.
        Specified by:
        addTextualConvention in interface MOFactory
        Parameters:
        tc - a TextualConvention instance.
      • removeTextualConvention

        public void removeTextualConvention​(TextualConvention<?> tc)
        Description copied from interface: MOFactory
        Removes the supplied textual convention from the supported TCs by this ManagedObject factory.
        Specified by:
        removeTextualConvention in interface MOFactory
        Parameters:
        tc - a TextualConvention instance.
      • getTextualConvention

        public <V extends org.snmp4j.smi.Variable> TextualConvention<V> getTextualConvention​(String moduleName,
                                                                                             String name)
        Description copied from interface: MOFactory
        Gets the textual convention described by the TC's name and the MIB module name of the MIB module specifying the TC.
        Specified by:
        getTextualConvention in interface MOFactory
        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

        public MOAccess createAccess​(int moAccess)
        Description copied from interface: MOFactory
        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.
        Specified by:
        createAccess in interface MOFactory
        Parameters:
        moAccess - any bitwise OR combined constant from MOAccess.
        Returns:
        a MOAccess instance.
      • createTable

        public <R extends MOTableRow,M extends MOTableModel<R>> MOTable<R,MOColumn,M> createTable​(org.snmp4j.smi.OID oid,
                                                                                                  MOTableIndex indexDef,
                                                                                                  MOColumn[] columns)
        Description copied from interface: MOFactory
        Creates a MOTable instance for the supplied OID, index definition, and columns with the DefaultMOMutableTableModel as table model.
        Specified by:
        createTable in interface MOFactory
        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

        public <R extends MOTableRow,M extends MOTableModel<R>> MOTable<R,MOColumn,M> createTable​(org.snmp4j.smi.OID oid,
                                                                                                  MOTableIndex indexDef,
                                                                                                  MOColumn[] columns,
                                                                                                  M model)
        Description copied from interface: MOFactory
        Creates a MOTable instance for the supplied OID, index definition, columns, and table model.
        Specified by:
        createTable in interface MOFactory
        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

        public MOTableIndex createIndex​(MOTableSubIndex[] subIndexes,
                                        boolean impliedLength)
        Description copied from interface: MOFactory
        Creates an index definition from the supplied sub-index definitions without index validation.
        Specified by:
        createIndex in interface MOFactory
        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

        public MOTableIndex createIndex​(MOTableSubIndex[] subIndexes,
                                        boolean impliedLength,
                                        MOTableIndexValidator validator)
        Description copied from interface: MOFactory
        Creates an index definition from the supplied sub-index definitions with index validation according to the supplied validator.
        Specified by:
        createIndex in interface MOFactory
        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

        public MOTableSubIndex createSubIndex​(org.snmp4j.smi.OID oid,
                                              int smiSyntax)
        Description copied from interface: MOFactory
        Creates a sub-index definition.
        Specified by:
        createSubIndex in interface MOFactory
        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.
      • createSubIndex

        public MOTableSubIndex createSubIndex​(org.snmp4j.smi.OID oid,
                                              int smiSyntax,
                                              int minLength,
                                              int maxLength)
        Description copied from interface: MOFactory
        Creates a sub-index definition.
        Specified by:
        createSubIndex in interface MOFactory
        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.
      • createColumn

        public <V extends org.snmp4j.smi.Variable> MOColumn<V> createColumn​(int columnID,
                                                                            int syntax,
                                                                            MOAccess access)
        Description copied from interface: MOFactory
        Creates a columnar object by supplying column ID, syntax, and maximum access. Use this method for columns not based on a textual convention.
        Specified by:
        createColumn in interface MOFactory
        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

        public <V extends org.snmp4j.smi.Variable> MOColumn<V> createColumn​(int columnID,
                                                                            int syntax,
                                                                            MOAccess access,
                                                                            String tcModuleName,
                                                                            String textualConvention)
        Description copied from interface: MOFactory
        Creates a columnar object by supplying column ID, syntax, and maximum access. Use this method for columns based on the textual convention.
        Specified by:
        createColumn in interface MOFactory
        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

        public <V extends org.snmp4j.smi.Variable> MOColumn<V> createColumn​(int columnID,
                                                                            int syntax,
                                                                            MOAccess access,
                                                                            V defaultValue,
                                                                            boolean mutableInService)
        Description copied from interface: MOFactory
        Creates a columnar object by supplying column ID, syntax, and maximum access. Use this method for columns based on the textual convention.
        Specified by:
        createColumn in interface MOFactory
        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

        public <V extends org.snmp4j.smi.Variable> MOColumn<V> createColumn​(int columnID,
                                                                            int syntax,
                                                                            MOAccess access,
                                                                            V defaultValue,
                                                                            boolean mutableInService,
                                                                            String tcModuleName,
                                                                            String textualConvention)
        Description copied from interface: MOFactory
        Creates a columnar object by supplying column ID, syntax, and maximum access. Use this method for columns based on the textual convention.
        Specified by:
        createColumn in interface MOFactory
        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

        public <R extends MOTableRow,M extends MOTableModel<? extends R>> M createTableModel​(org.snmp4j.smi.OID tableOID,
                                                                                             MOTableIndex indexDef,
                                                                                             MOColumn[] columns)
        Description copied from interface: MOFactory
        Creates a table model (by default a DefaultMOMutableTableModel).
        Specified by:
        createTableModel in interface MOFactory
        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.
      • createScalar

        public <V extends org.snmp4j.smi.Variable> MOScalar<V> createScalar​(org.snmp4j.smi.OID id,
                                                                            MOAccess access,
                                                                            V value)
        Description copied from interface: MOFactory
        Creates a scalar object from a OID, maximum access, and value.
        Specified by:
        createScalar in interface MOFactory
        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

        public <V extends org.snmp4j.smi.Variable> MOScalar<V> createScalar​(org.snmp4j.smi.OID id,
                                                                            MOAccess access,
                                                                            V value,
                                                                            String tcModuleName,
                                                                            String textualConvention)
        Description copied from interface: MOFactory
        Creates a scalar object from a OID, maximum access, and value.
        Specified by:
        createScalar in interface MOFactory
        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

        public <BaseRow extends MOTableRow,DependentRow extends MOTableRowMOTableRelation<BaseRow,DependentRow> createTableRelation​(MOTable<BaseRow,? extends MOColumn,? extends MOTableModel<BaseRow>> baseTable,
                                                                                                                                      MOTable<DependentRow,? extends MOColumn,? extends MOTableModel<DependentRow>> dependentTable)
        Description copied from interface: MOFactory
        Creates a relation between two tables. Related tables share one or more sub-indexes beginning with the first sub-index.
        Specified by:
        createTableRelation in interface MOFactory
        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

        public SysUpTime getSysUpTime​(org.snmp4j.smi.OctetString context)
        Description copied from interface: MOFactory
        Gets a reference to the systems up-time object for the specified context.
        Specified by:
        getSysUpTime in interface MOFactory
        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.