Interface Plugin
-
- All Superinterfaces:
org.apache.log4j.spi.OptionHandler
- All Known Implementing Classes:
CustomSQLDBReceiver
,DBReceiver
,Generator
,GUIPluginSkeleton
,JMSReceiver
,LogFilePatternReceiver
,LogFileXMLReceiver
,MulticastReceiver
,PluginSkeleton
,Receiver
,UDPReceiver
,VFSLogFilePatternReceiver
,XMLSocketReceiver
,ZeroConfPlugin
public interface Plugin extends org.apache.log4j.spi.OptionHandler
Defines the required interface for all Plugin objects.A plugin implements some specific functionality to extend the log4j framework. Each plugin is associated with a specific LoggerRepository, which it then uses/acts upon. The functionality of the plugin is up to the developer.
Examples of plugins are Receiver and Watchdog. Receiver plugins allow for remote logging events to be received and processed by a repository as if the event was sent locally. Watchdog plugins allow for a repository to be reconfigured when some "watched" configuration data changes.
- Author:
- Mark Womack (mwomack@apache.org), Nicko Cadell, Paul Smith (psmith@apache.org)
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
addPropertyChangeListener(PropertyChangeListener l)
Adds a PropertyChangeListener that will be notified of all property changes.void
addPropertyChangeListener(String propertyName, PropertyChangeListener l)
Adds a PropertyChangeListener to this instance which is notified only by changes of the property with name propertyName.org.apache.log4j.spi.LoggerRepository
getLoggerRepository()
Gets the logger repository for this plugin.String
getName()
Gets the name of the plugin.boolean
isActive()
True if the plugin is active and running.boolean
isEquivalent(Plugin testPlugin)
Returns true if the testPlugin is considered to be "equivalent" to the this plugin.void
removePropertyChangeListener(PropertyChangeListener l)
Removes a specific PropertyChangeListener from this instances registry that has been mapped to be notified of all property changes.void
removePropertyChangeListener(String propertyName, PropertyChangeListener l)
Removes a specific PropertyChangeListener from this instance's registry which has been previously registered to be notified of only a specific property change.void
setLoggerRepository(org.apache.log4j.spi.LoggerRepository repository)
Sets the logger repository used by this plugin.void
setName(String name)
Sets the name of the plugin.void
shutdown()
Call when the plugin should be stopped.
-
-
-
Method Detail
-
getName
String getName()
Gets the name of the plugin.- Returns:
- String the name of the plugin.
-
setName
void setName(String name)
Sets the name of the plugin.- Parameters:
name
- the name of the plugin.
-
getLoggerRepository
org.apache.log4j.spi.LoggerRepository getLoggerRepository()
Gets the logger repository for this plugin.- Returns:
- the logger repository to which this plugin is attached.
-
setLoggerRepository
void setLoggerRepository(org.apache.log4j.spi.LoggerRepository repository)
Sets the logger repository used by this plugin. This repository will be used by the plugin functionality.- Parameters:
repository
- the logger repository to attach this plugin to.
-
addPropertyChangeListener
void addPropertyChangeListener(String propertyName, PropertyChangeListener l)
Adds a PropertyChangeListener to this instance which is notified only by changes of the property with name propertyName.- Parameters:
propertyName
- the name of the property in standard JavaBean syntax (e.g. for setName(), property="name")l
- listener
-
addPropertyChangeListener
void addPropertyChangeListener(PropertyChangeListener l)
Adds a PropertyChangeListener that will be notified of all property changes.- Parameters:
l
- The listener to add.
-
removePropertyChangeListener
void removePropertyChangeListener(PropertyChangeListener l)
Removes a specific PropertyChangeListener from this instances registry that has been mapped to be notified of all property changes.- Parameters:
l
- The listener to remove.
-
removePropertyChangeListener
void removePropertyChangeListener(String propertyName, PropertyChangeListener l)
Removes a specific PropertyChangeListener from this instance's registry which has been previously registered to be notified of only a specific property change.- Parameters:
propertyName
- property name, may not be null.l
- listener to be removed.
-
isActive
boolean isActive()
True if the plugin is active and running.- Returns:
- boolean true if the plugin is currently active.
-
isEquivalent
boolean isEquivalent(Plugin testPlugin)
Returns true if the testPlugin is considered to be "equivalent" to the this plugin.The equivalency test is at the discretion of the plugin implementation. The PluginRegistry will use this method when starting new plugins to see if a given plugin is considered equivalent to an already running plugin with the same name. If they are considered to be equivalent, the currently running plugin will be left in place, and the new plugin will not be started.
It is possible to override the equals() method, however this has more meaning than is required for this simple test and would also require the overriding of the hashCode() method as well. All of this is more work than is needed, so this simple method is used instead.
- Parameters:
testPlugin
- The plugin to test equivalency against.- Returns:
- Returns true if testPlugin is considered to be equivelent.
-
shutdown
void shutdown()
Call when the plugin should be stopped.
-
-