Interface BaseManager<E extends NamedBean>

    • Method Detail

      • 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)