Class PluginSkeleton

  • All Implemented Interfaces:
    Plugin, Component, org.apache.log4j.spi.OptionHandler
    Direct Known Subclasses:
    Receiver

    public abstract class PluginSkeleton
    extends ComponentBase
    implements Plugin
    A convienent abstract class for plugin subclasses that implements the basic methods of the Plugin interface. Subclasses are required to implement the isActive(), activateOptions(), and shutdown() methods.

    Developers are not required to subclass PluginSkeleton to develop their own plugins (they are only required to implement the Plugin interface), but it provides a convenient base class to start from.

    Contributors: Nicko Cadell
    Author:
    Mark Womack (mwomack@apache.org), Paul Smith (psmith@apache.org)
    • Field Detail

      • name

        protected String name
        Name of this plugin.
      • active

        protected boolean active
        Active state of plugin.
    • Constructor Detail

      • PluginSkeleton

        protected PluginSkeleton()
        Construct new instance.
    • Method Detail

      • getName

        public String getName()
        Gets the name of the plugin.
        Specified by:
        getName in interface Plugin
        Returns:
        String the name of the plugin.
      • setName

        public void setName​(String newName)
        Sets the name of the plugin and notifies PropertyChangeListeners of the change.
        Specified by:
        setName in interface Plugin
        Parameters:
        newName - the name of the plugin to set.
      • getLoggerRepository

        public org.apache.log4j.spi.LoggerRepository getLoggerRepository()
        Gets the logger repository for this plugin.
        Specified by:
        getLoggerRepository in interface Plugin
        Overrides:
        getLoggerRepository in class ComponentBase
        Returns:
        LoggerRepository the logger repository this plugin will affect.
      • setLoggerRepository

        public void setLoggerRepository​(org.apache.log4j.spi.LoggerRepository repository)
        Sets the logger repository used by this plugin and notifies a relevant PropertyChangeListeners registered. This repository will be used by the plugin functionality.
        Specified by:
        setLoggerRepository in interface Component
        Specified by:
        setLoggerRepository in interface Plugin
        Overrides:
        setLoggerRepository in class ComponentBase
        Parameters:
        repository - the logger repository that this plugin should affect.
      • isActive

        public boolean isActive()
        Returns whether this plugin is Active or not.
        Specified by:
        isActive in interface Plugin
        Returns:
        true/false
      • isEquivalent

        public boolean isEquivalent​(Plugin testPlugin)
        Returns true if the plugin has the same name and logger repository as the testPlugin passed in.
        Specified by:
        isEquivalent in interface Plugin
        Parameters:
        testPlugin - The plugin to test equivalency against.
        Returns:
        Returns true if testPlugin is considered to be equivalent.
      • addPropertyChangeListener

        public final void addPropertyChangeListener​(String propertyName,
                                                    PropertyChangeListener listener)
        Add property change listener for one property only.
        Specified by:
        addPropertyChangeListener in interface Plugin
        Parameters:
        propertyName - property name.
        listener - listener.
      • removePropertyChangeListener

        public final void removePropertyChangeListener​(String propertyName,
                                                       PropertyChangeListener listener)
        Remove property change listener on a specific property.
        Specified by:
        removePropertyChangeListener in interface Plugin
        Parameters:
        propertyName - property name.
        listener - listener.
      • firePropertyChange

        protected final void firePropertyChange​(PropertyChangeEvent evt)
        Fire a property change event to appropriate listeners.
        Parameters:
        evt - change event.
      • firePropertyChange

        protected final void firePropertyChange​(String propertyName,
                                                boolean oldValue,
                                                boolean newValue)
        Fire property change event to appropriate listeners.
        Parameters:
        propertyName - property name.
        oldValue - old value.
        newValue - new value.
      • firePropertyChange

        protected final void firePropertyChange​(String propertyName,
                                                int oldValue,
                                                int newValue)
        Fire property change event to appropriate listeners.
        Parameters:
        propertyName - property name.
        oldValue - old value.
        newValue - new value.
      • firePropertyChange

        protected final void firePropertyChange​(String propertyName,
                                                Object oldValue,
                                                Object newValue)
        Fire property change event to appropriate listeners.
        Parameters:
        propertyName - property name.
        oldValue - old value.
        newValue - new value.