# Interface SmiModule

All Superinterfaces:
  `Comparable<SmiObject>, SmiObject`

All Known Subinterfaces:
  `SmiModuleIdentity`

public interface SmiModule extends SmiObject
The SmiModule represents a SMIv1 or SMIv2 MIB MODULE-DEFINITION.

Since:
  1.2 (Pro edition only)
Version:
  2.0.1
Author:
  Frank Fock

- ## Method Summary

  Modifier and Type
  Method
  Description
  `String[]`
  `getAsn1Comments()`
  Gets the ASN.1 comments associated with the MODULE-DEFINITION.
  `SmiCompiler.Strictness`
  `getCompilerStrictness()`
  Retrieves the strictness level used by the compiler for syntax and semantic checks during the processing of MIB modules.
  `List<SmiImport>`
  `getImports()`
  Gets the import dependencies of the MIB module (i.e. the IMPORTS constructs content).
  `String`
  `getModuleName()`
  Gets the MODULE name as defined by the MODULE-DEFINITION construct of a SMI specification.
  `Collection<org.snmp4j.smi.OID>`
  `getObjectIdentifiers(com.agentpp.mib.util.OIDComparator.OIDOrder orderBy)`
  Gets the list of object identifiers defined by this MIB module in depth-first or breadth-first order.
  `List<String>`
  `getObjectNames()`
  Gets the list of object names assigned to an OID in order of appearance in the MIB specification.
  `String`
  `getSmiModuleDefinition()`
  Gets the SMI MIB module text including all objects and ASN.1 comments within the MIB module.
  `String`
  `getSourceFilename()`
  Gets the file name (without path but with extension) of the MIB specification source file from which this MIB module was compiled.
  `List<String>`
  `getTextualConventionNames()`
  Gets the list of object names not assigned to an OID in order of appearance in the MIB specification.

  ### Methods inherited from interface Comparable

  `compareTo`

  ### Methods inherited from interface SmiObject

  `getChildren, getDescription, getObjectName, getOID, getParent, getReference, getSmiSyntax, getStatus, getSyntax, getType`

- ## Method Details

  - ### getModuleName

    String getModuleName()
    Gets the MODULE name as defined by the MODULE-DEFINITION construct of a SMI specification.
    Returns:
      the MIB module's name (e.g. `SNMPv2-MIB`.

  - ### getAsn1Comments

    String[] getAsn1Comments()
    Gets the ASN.1 comments associated with the MODULE-DEFINITION.
    Specified by:
      `getAsn1Comments` in interface `SmiObject`
    Returns:
      the ASN.1 comments associated with the MODULE-DEFINITION in ascending order.

  - ### getImports

    List<SmiImport> getImports()
    Gets the import dependencies of the MIB module (i.e. the IMPORTS constructs content).
    Returns:
      a list of `SmiImport` instances.

  - ### getObjectNames

    List<String> getObjectNames()
    Gets the list of object names assigned to an OID in order of appearance in the MIB specification.
    Returns:
      a list of object names with OID defined by this MIB module.

  - ### getObjectIdentifiers

    Collection<org.snmp4j.smi.OID> getObjectIdentifiers(com.agentpp.mib.util.OIDComparator.OIDOrder orderBy)
    Gets the list of object identifiers defined by this MIB module in depth-first or breadth-first order.
    Parameters:
      `orderBy` - specifies in which order the OIDs are returned.
    Returns:
      a list of `OID` objects that hold the object identifier of the MIB objects of this module.
    Since:
      1.9.5

  - ### getTextualConventionNames

    List<String> getTextualConventionNames()
    Gets the list of object names not assigned to an OID in order of appearance in the MIB specification.
    Returns:
      the list of object names without OID (i.e. TEXTUAL-CONVENTIONS and type assignments) defined by this MIB module.

  - ### getSourceFilename

    String getSourceFilename()
    Gets the file name (without path but with extension) of the MIB specification source file from which this MIB module was compiled.
    Returns:
      a file name with extension(s) or `null` if such a file name is not available (e.g., when the feature of remembering source file names was disabled when the MIB module has been compiled).
    Since:
      1.6

  - ### getSmiModuleDefinition

    String getSmiModuleDefinition()
    Gets the SMI MIB module text including all objects and ASN.1 comments within the MIB module.
    Returns:
      the SMI module definition.
    Since:
      1.9.4

  - ### getCompilerStrictness

    SmiCompiler.Strictness getCompilerStrictness()
    Retrieves the strictness level used by the compiler for syntax and semantic checks during the processing of MIB modules.
    Returns:
      the strictness level of the compiler. It can be `Strictness.standard` for full compliance with SMI(v1/v2) standards or `Strictness.lenient` for reduced-check mode, allowing some standard violations.