Interface ModuleManager

All Superinterfaces:
Manager<Module>, PropertyChangeProvider, SilenceablePropertyChangeProvider, VetoableChangeProvider
All Known Implementing Classes:
DefaultModuleManager

public interface ModuleManager extends Manager<Module>
Manager for LogixNG modules
  • Method Details

    • createModule

      Create a new Module if the Module does not exist.
      Parameters:
      systemName - the system name
      userName - the user name
      socketType - the socket type
      Returns:
      a new Module or null if unable to create
      Throws:
      IllegalArgumentException - when needed
    • createModule

      For use with User GUI, to allow the auto generation of systemNames, where the user can optionally supply a username.
      Parameters:
      userName - the user name
      socketType - the socket type
      Returns:
      a new Module or null if unable to create
      Throws:
      IllegalArgumentException - when needed
    • getModule

      Locate via user name, then system name if needed. Does not create a new one if nothing found
      Parameters:
      name - User name or system name to match
      Returns:
      null if no match found
    • getByUserName

      Locate an existing instance based on a user name.
      Specified by:
      getByUserName in interface Manager<Module>
      Parameters:
      name - System Name of the required NamedBean
      Returns:
      requested NamedBean object or null if none exists
    • getBySystemName

      Locate an existing instance based on a system name.
      Specified by:
      getBySystemName in interface Manager<Module>
      Parameters:
      name - System Name of the required NamedBean
      Returns:
      requested NamedBean object or null if none exists
    • getAutoSystemName

      Create a new system name for a Module.
      Returns:
      a new system name
    • resolveAllTrees

      boolean resolveAllTrees(List<String> errors)
      Resolve all the Module trees.

      This method ensures that everything in the Module tree has a pointer to its parent.

      Parameters:
      errors - a list of potential errors
      Returns:
      true if success, false otherwise
    • setupAllModules

      Setup all Modules. This method is called after a configuration file is loaded.
    • deleteModule

      Delete Module by removing it from the manager. The Module must first be deactivated so it stops processing.
      Parameters:
      x - the Module to delete
    • printTree

      void printTree(Base.PrintTreeSettings settings, PrintWriter writer, String indent, MutableInt lineNumber)
      Print the tree to a stream.
      Parameters:
      settings - settings for what to print
      writer - the stream to print the tree to
      indent - the indentation of each level
      lineNumber - the line number
    • printTree

      void printTree(Base.PrintTreeSettings settings, Locale locale, PrintWriter writer, String indent, MutableInt lineNumber)
      Print the tree to a stream.
      Parameters:
      settings - settings for what to print
      locale - The locale to be used
      writer - the stream to print the tree to
      indent - the indentation of each level
      lineNumber - the line number
    • validSystemNameFormat

      static Manager.NameValidity validSystemNameFormat(String subSystemNamePrefix, String systemName)
      Test if parameter is a properly formatted system name.

      This method should only be used by the managers of the Module system.

      Parameters:
      subSystemNamePrefix - the sub system prefix
      systemName - the system name
      Returns:
      enum indicating current validity, which might be just as a prefix
    • getSubSystemNamePrefix

      Get the sub system prefix of this manager. The sub system prefix is the system name prefix and possibly some extra characters of the NamedBeans handled by this manager.

      For most managers, this is the same as Manager.getSystemNamePrefix(), but for some like the managers in LogixNG, it differs. The sub system prefix for the DigitalActionManager is Manager.getSystemNamePrefix() and "DA";

      Specified by:
      getSubSystemNamePrefix in interface Manager<Module>
      Returns:
      the sub system prefix