- 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 Summary
Modifier and TypeMethodDescriptionvoid
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.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 byMOAccess
.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.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.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.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.default MOTableIndex
createIndex
(MOTableSubIndex[] subIndexes, boolean impliedLength) Creates an index definition from the supplied sub-index definitions without index validation.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.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.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.default MOTableSubIndex
createSubIndex
(org.snmp4j.smi.OID oid, int smiSyntax) Creates a sub-index definition.default MOTableSubIndex
createSubIndex
(org.snmp4j.smi.OID oid, int smiSyntax, int minLength, int maxLength) Creates a sub-index definition.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 theDefaultMOMutableTableModel
as table model.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.default <R extends MOTableRow,
M extends MOTableModel<? extends R>>
McreateTableModel
(org.snmp4j.smi.OID tableOID, MOTableIndex indexDef, MOColumn[] columns) Creates a table model (by default aDefaultMOMutableTableModel
).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.default SysUpTime
getSysUpTime
(org.snmp4j.smi.OctetString context) Gets a reference to the systems up-time object for the specified context.<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.void
Removes the supplied textual convention from the supported TCs by this ManagedObject factory.
-
Method Details
-
addTextualConvention
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
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
- theVariable
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, ornull
if such a TC is not registered with this factory.
-
createAccess
Creates an MOAccess instance from an access specification constant that is the result of a bitwise OR of any of the constants defined byMOAccess
.- Parameters:
moAccess
- any bitwise OR combined constant fromMOAccess
.- Returns:
- a MOAccess instance.
-
createTable
default <R extends MOTableRow,M extends MOTableModel<R>> MOTable<R,MOColumn, createTableM> (org.snmp4j.smi.OID oid, MOTableIndex indexDef, MOColumn[] columns) Creates a MOTable instance for the supplied OID, index definition, and columns with theDefaultMOMutableTableModel
as table model.- Type Parameters:
R
- theMOTableRow
type of the table to return.M
- theMOTableModel
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 ofMOColumn
instances.- Returns:
- a MOTable instance.
-
createTable
default <R extends MOTableRow,M extends MOTableModel<R>> MOTable<R,MOColumn, createTableM> (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
- theMOTableRow
type of the table to return.M
- theMOTableModel
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 ofMOColumn
instances.model
- the table model to use for the table.- Returns:
- a MOTable instance.
-
createIndex
Creates an index definition from the supplied sub-index definitions without index validation.- Parameters:
subIndexes
- an array ofMOTableSubIndex
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 ofMOTableSubIndex
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
Creates a sub-index definition.- Parameters:
oid
- the object identifier of the OBJECT-TYPE that defines this sub-index ornull
if that information is not available. An nonnull
is required for AgentX shared tables.smiSyntax
- the SMI syntax as defined bySMIConstants
.- 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 ornull
if that information is not available. An nonnull
is required for AgentX shared tables.smiSyntax
- the SMI syntax as defined bySMIConstants
.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
- theVariable
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 bySMIConstants
.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
- theVariable
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 bySMIConstants
.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
- theVariable
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 bySMIConstants
.access
- the maximum access supported by this column.defaultValue
- the default value defined by the DEFVAL clause for this column.mutableInService
- iftrue
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
- theVariable
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 bySMIConstants
.access
- the maximum access supported by this column.defaultValue
- the default value defined by the DEFVAL clause for this column.mutableInService
- iftrue
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 aDefaultMOMutableTableModel
).- Type Parameters:
R
- theMOTableRow
type of the table model to return.M
- theMOTableModel
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
- theVariable
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
- theVariable
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
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
-