Class PluginSkeleton

java.lang.Object
org.apache.log4j.spi.ComponentBase
org.apache.log4j.plugins.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
  • Field Details

    • name

      protected String name
      Name of this plugin.
    • active

      protected boolean active
      Active state of plugin.
    • propertySupport

      private PropertyChangeSupport propertySupport
      This is a delegate that does all the PropertyChangeListener support.
  • Constructor Details

    • PluginSkeleton

      protected PluginSkeleton()
      Construct new instance.
  • Method Details

    • 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(PropertyChangeListener listener)
      Add property change listener.
      Specified by:
      addPropertyChangeListener in interface Plugin
      Parameters:
      listener - listener.
    • 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(PropertyChangeListener listener)
      Remove property change listener.
      Specified by:
      removePropertyChangeListener in interface Plugin
      Parameters:
      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.