public class DefaultMOFactory extends Object implements MOFactory, LinkedMOFactory
DefaultMOFactory
is the default factory for creating
ManagedObjects. The default factory creates columnar and scalar objects
based on SNMPv2-TC textual conventions with appropriate constraints.
Other textual conventions can be added too.Modifier | Constructor and Description |
---|---|
protected |
DefaultMOFactory() |
Modifier and Type | Method and Description |
---|---|
static void |
addSNMPv2TCs(MOFactory factory)
Adds support for SNMPv2TC textual conventions to the supplied ManagedObject
factory.
|
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.
|
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 . |
<V extends org.snmp4j.smi.Variable> |
createColumn(int columnID,
int syntax,
MOAccess access)
Creates a columnar object by supplying column ID, syntax, and maximum
access.
|
<V extends org.snmp4j.smi.Variable> |
createColumn(int columnID,
int syntax,
MOAccess access,
String tcModuleName,
String textualConvention)
Creates a columnar object by supplying column ID, syntax, and maximum
access.
|
<V extends org.snmp4j.smi.Variable> |
createColumn(int columnID,
int syntax,
MOAccess access,
V defaultValue,
boolean mutableInService)
Creates a columnar object by supplying column ID, syntax, and maximum
access.
|
<V extends org.snmp4j.smi.Variable> |
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.
|
MOTableIndex |
createIndex(MOTableSubIndex[] subIndexes,
boolean impliedLength)
Creates an index definition from the supplied sub-index definitions without
index validation.
|
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.
|
MOTableRow |
createRow(org.snmp4j.smi.OID index,
org.snmp4j.smi.Variable[] values)
Creates a new
MOTableRow row instance and returns it. |
<V extends org.snmp4j.smi.Variable> |
createScalar(org.snmp4j.smi.OID id,
MOAccess access,
V value)
Creates a scalar object from a OID, maximum access, and value.
|
<V extends org.snmp4j.smi.Variable> |
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.
|
MOTableSubIndex |
createSubIndex(int smiSyntax) |
MOTableSubIndex |
createSubIndex(int smiSyntax,
int minLength,
int maxLength) |
MOTableSubIndex |
createSubIndex(org.snmp4j.smi.OID oid,
int smiSyntax)
Creates a sub-index definition.
|
MOTableSubIndex |
createSubIndex(org.snmp4j.smi.OID oid,
int smiSyntax,
int minLength,
int maxLength)
Creates a sub-index definition.
|
<R extends MOTableRow,M extends MOTableModel<R>> |
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. |
<R extends MOTableRow,M extends MOTableModel<R>> |
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.
|
<R extends MOTableRow,M extends MOTableModel<? extends R>> |
createTableModel(org.snmp4j.smi.OID tableOID,
MOTableIndex indexDef,
MOColumn[] columns)
Creates a table model (by default a
DefaultMOMutableTableModel ). |
<BaseRow extends MOTableRow,DependentRow extends MOTableRow> |
createTableRelation(MOTable<BaseRow,? extends MOColumn,? extends MOTableModel<BaseRow>> baseTable,
MOTable<DependentRow,? extends MOColumn,? extends MOTableModel<DependentRow>> dependentTable)
Creates a relation between two tables.
|
void |
freeRow(MOTableRow row)
Frees resources associated with the supplied row which is to be deleted.
|
static MOFactory |
getInstance()
Returns the factory singleton with default support for SNMPv2-TC textual
conventions.
|
Object |
getLink(org.snmp4j.smi.OID oid)
Gets the link for the given object ID or any sub-OID prefix thereof.
|
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> |
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.
|
protected Map<? extends String,? extends Map<String,TextualConvention>> |
getTextualConventions() |
protected void |
initLinkMap() |
void |
removeTextualConvention(TextualConvention tc)
Removes the supplied textual convention from the supported TCs by this
ManagedObject factory.
|
static void |
setInstance(MOFactory factory)
Sets the singleton factory.
|
void |
setLink(org.snmp4j.smi.OID oid,
Object instrumentationHelperObject)
Set a link between the supplied object ID of a managed object class (or
a set of managed object classes if the OID refers to a MIB sub-tree) to
the given helper object.
|
public static MOFactory getInstance()
public static void setInstance(MOFactory factory)
factory
- a MOFactory instance.public static void addSNMPv2TCs(MOFactory factory)
factory
- a MOFactory instance.protected Map<? extends String,? extends Map<String,TextualConvention>> getTextualConventions()
public void addTextualConvention(TextualConvention tc)
addTextualConvention
in interface MOFactory
tc
- a TextualConvention instance.public void removeTextualConvention(TextualConvention tc)
MOFactory
removeTextualConvention
in interface MOFactory
tc
- a TextualConvention instance.public <V extends org.snmp4j.smi.Variable> TextualConvention<V> getTextualConvention(String moduleName, String name)
MOFactory
getTextualConvention
in interface MOFactory
V
- the Variable
type that is the base type of the returned textual convention.moduleName
- the name of the MIB module that defines the TC.name
- the object name of the TC.TextualConvention
that matches the given values, or
null
if such a TC is not registered with this factory.public <V extends org.snmp4j.smi.Variable> MOColumn<V> createColumn(int columnID, int syntax, MOAccess access)
MOFactory
createColumn
in interface MOFactory
V
- the Variable
type of the column to return.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.MOColumn
instance.public <V extends org.snmp4j.smi.Variable> MOColumn<V> createColumn(int columnID, int syntax, MOAccess access, V defaultValue, boolean mutableInService)
MOFactory
createColumn
in interface MOFactory
V
- the Variable
type of the column to return.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.MOColumn
instance.public <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)
MOFactory
createTableRelation
in interface MOFactory
BaseRow
- the base row type of the table relation.DependentRow
- the dependent row type of the table relation.baseTable
- the base table.dependentTable
- the dependent or augmenting table.MOTableRelation
instance relating the supplied tables.public SysUpTime getSysUpTime(org.snmp4j.smi.OctetString context)
MOFactory
getSysUpTime
in interface MOFactory
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.SysUpTime
implementation.public MOTableRow createRow(org.snmp4j.smi.OID index, org.snmp4j.smi.Variable[] values) throws UnsupportedOperationException
MOTableRowFactory
MOTableRow
row instance and returns it.createRow
in interface MOTableRowFactory
index
- the index OID for the new row.values
- the values to be contained in the new row.MOTableRow
.UnsupportedOperationException
- if the specified row cannot be created.public <V extends org.snmp4j.smi.Variable> MOScalar<V> createScalar(org.snmp4j.smi.OID id, MOAccess access, V value)
MOFactory
createScalar
in interface MOFactory
V
- the Variable
type of the scalar to return.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.MOScalar
instance.public <R extends MOTableRow,M extends MOTableModel<R>> MOTable<R,MOColumn,M> createTable(org.snmp4j.smi.OID oid, MOTableIndex indexDef, MOColumn[] columns)
MOFactory
DefaultMOMutableTableModel
as table model.createTable
in interface MOFactory
R
- the MOTableRow
type of the table to return.M
- the MOTableModel
type of the table to return.oid
- the OID of the table entry (thus table OID + ".1").indexDef
- the index defintion of the table.columns
- the columns for the new table as an array of MOColumn
instances.public <R extends MOTableRow,M extends MOTableModel<R>> MOTable<R,MOColumn,M> createTable(org.snmp4j.smi.OID oid, MOTableIndex indexDef, MOColumn[] columns, M model)
MOFactory
createTable
in interface MOFactory
R
- the MOTableRow
type of the table to return.M
- the MOTableModel
type of the table to return.oid
- the OID of the table entry (thus table OID + ".1").indexDef
- the index defintion 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.public <R extends MOTableRow,M extends MOTableModel<? extends R>> M createTableModel(org.snmp4j.smi.OID tableOID, MOTableIndex indexDef, MOColumn[] columns)
MOFactory
DefaultMOMutableTableModel
).createTableModel
in interface MOFactory
R
- the MOTableRow
type of the table model to return.M
- the MOTableModel
type of the table model to return.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.MOTableModel
instance.public void freeRow(MOTableRow row)
MOTableRowFactory
freeRow
in interface MOTableRowFactory
row
- a MOTableRow that has been created using this factory and is now to
be deleted (removed from the associated table).public MOTableIndex createIndex(MOTableSubIndex[] subIndexes, boolean impliedLength)
MOFactory
createIndex
in interface MOFactory
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).MOTableIndex
instance.public MOTableSubIndex createSubIndex(int smiSyntax)
public MOTableSubIndex createSubIndex(org.snmp4j.smi.OID oid, int smiSyntax)
MOFactory
createSubIndex
in interface MOFactory
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
.MOTableSubIndex
instance.public MOTableSubIndex createSubIndex(int smiSyntax, int minLength, int maxLength)
public MOTableSubIndex createSubIndex(org.snmp4j.smi.OID oid, int smiSyntax, int minLength, int maxLength)
MOFactory
createSubIndex
in interface MOFactory
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.MOTableSubIndex
instance.public MOTableIndex createIndex(MOTableSubIndex[] subIndexes, boolean impliedLength, MOTableIndexValidator validator)
MOFactory
createIndex
in interface MOFactory
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.MOTableIndex
instance.public <V extends org.snmp4j.smi.Variable> MOColumn<V> createColumn(int columnID, int syntax, MOAccess access, String tcModuleName, String textualConvention)
MOFactory
createColumn
in interface MOFactory
V
- the Variable
type of the column to return.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.MOColumn
instance.public <V extends org.snmp4j.smi.Variable> MOColumn<V> createColumn(int columnID, int syntax, MOAccess access, V defaultValue, boolean mutableInService, String tcModuleName, String textualConvention)
MOFactory
createColumn
in interface MOFactory
V
- the Variable
type of the column to return.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.MOColumn
instance.public <V extends org.snmp4j.smi.Variable> MOScalar<V> createScalar(org.snmp4j.smi.OID id, MOAccess access, V value, String tcModuleName, String textualConvention)
MOFactory
createScalar
in interface MOFactory
V
- the Variable
type of the scalar to return.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.MOScalar
instance.public MOAccess createAccess(int moAccess)
MOFactory
MOAccess
.createAccess
in interface MOFactory
moAccess
- any bitwise OR combined constant from MOAccess
.public void setLink(org.snmp4j.smi.OID oid, Object instrumentationHelperObject)
LinkedMOFactory
setLink
in interface LinkedMOFactory
oid
- an OID of a managed object class or sub-tree.instrumentationHelperObject
- an object that helps the factory or the objects created on its behalf
to instrument the those objects.LinkedMOFactory.getLink(OID oid)
public Object getLink(org.snmp4j.smi.OID oid)
LinkedMOFactory
getLink
in interface LinkedMOFactory
oid
- the oid of the managed object class (prefix) for which to returned the
linked instrumentation helper class.null
if no such link exists.protected void initLinkMap()
Copyright © 2017 SNMP4J.org. All rights reserved.