Interface BaseManager<E extends NamedBean>

Type Parameters:
E - the type of NamedBean supported by this manager
All Superinterfaces:
Manager<E>, PropertyChangeProvider, SilenceablePropertyChangeProvider, VetoableChangeProvider
All Known Subinterfaces:
AnalogActionManager, AnalogExpressionManager, DigitalActionManager, DigitalBooleanActionManager, DigitalExpressionManager, StringActionManager, StringExpressionManager
All Known Implementing Classes:
AbstractBaseManager, DefaultAnalogActionManager, DefaultAnalogExpressionManager, DefaultDigitalActionManager, DefaultDigitalBooleanActionManager, DefaultDigitalExpressionManager, DefaultStringActionManager, DefaultStringExpressionManager

public interface BaseManager<E extends NamedBean>
extends Manager<E>
Base interface for the LogixNG action and expression managers.
  • Method Details

    • registerBean

      E registerBean​(@Nonnull E maleSocket)
      Remember a NamedBean Object created outside the manager.

      The non-system-specific SignalHeadManagers use this method extensively.

      Parameters:
      maleSocket - the bean
      Returns:
      the registered bean with attached male sockets
      Throws:
      NamedBean.DuplicateSystemNameException - if a different bean with the same system name is already registered in the manager
    • deleteBean

      void deleteBean​(@Nonnull MaleSocket maleSocket, @Nonnull String property) throws PropertyVetoException
      Method for a UI to delete a bean.

      The UI should first request a "CanDelete", this will return a list of locations (and descriptions) where the bean is in use via throwing a VetoException, then if that comes back clear, or the user agrees with the actions, then a "DoDelete" can be called which inform the listeners to delete the bean, then it will be deregistered and disposed of.

      If a property name of "DoNotDelete" is thrown back in the VetoException then the delete process should be aborted.

      Parameters:
      maleSocket - The MaleSocket to be deleted
      property - The programmatic name of the request. "CanDelete" will enquire with all listeners if the item can be deleted. "DoDelete" tells the listener to delete the item
      Throws:
      PropertyVetoException - If the recipients wishes the delete to be aborted (see above)
    • getMaleSocketClass

      Get the default male socket class
      Returns:
      the class
    • getLastRegisteredMaleSocket

      Get the last item registered in the mananger.
      Returns:
      the last item
    • registerMaleSocketFactory

      Register a male socket factory.
      Parameters:
      factory - the factory