Package org.apache.solr.cluster.events
Class ClusterEventProducerBase
- java.lang.Object
-
- org.apache.solr.cluster.events.ClusterEventProducerBase
-
- All Implemented Interfaces:
Closeable,AutoCloseable,ClusterSingleton,ClusterEventProducer
- Direct Known Subclasses:
ClusterEventProducerFactory,DefaultClusterEventProducer,DelegatingClusterEventProducer,NoOpProducer
public abstract class ClusterEventProducerBase extends Object implements ClusterEventProducer
Base class for implementingClusterEventProducer.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.apache.solr.cloud.ClusterSingleton
ClusterSingleton.State
-
-
Field Summary
Fields Modifier and Type Field Description protected CoreContainerccprotected Map<ClusterEvent.EventType,Set<ClusterEventListener>>listenersprotected ClusterSingleton.Statestate-
Fields inherited from interface org.apache.solr.cluster.events.ClusterEventProducer
PLUGIN_NAME
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedClusterEventProducerBase(CoreContainer cc)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description voidclose()protected voidfireEvent(ClusterEvent event)ClusterSingleton.StategetState()Returns the current state of the component.abstract Set<ClusterEvent.EventType>getSupportedEventTypes()voidregisterListener(ClusterEventListener listener, ClusterEvent.EventType... eventTypes)Register an event listener for processing the specified event types.voidunregisterListener(ClusterEventListener listener, ClusterEvent.EventType... eventTypes)Unregister an event listener for specified event types.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.solr.cluster.events.ClusterEventProducer
getName, unregisterListener
-
Methods inherited from interface org.apache.solr.cloud.ClusterSingleton
start, stop
-
-
-
-
Field Detail
-
listeners
protected final Map<ClusterEvent.EventType,Set<ClusterEventListener>> listeners
-
state
protected volatile ClusterSingleton.State state
-
cc
protected final CoreContainer cc
-
-
Constructor Detail
-
ClusterEventProducerBase
protected ClusterEventProducerBase(CoreContainer cc)
-
-
Method Detail
-
registerListener
public void registerListener(ClusterEventListener listener, ClusterEvent.EventType... eventTypes)
Description copied from interface:ClusterEventProducerRegister an event listener for processing the specified event types.- Specified by:
registerListenerin interfaceClusterEventProducer- Parameters:
listener- non-null listener. If the same instance of the listener is already registered for some event types then it will be also registered for additional event types specified in this call.eventTypes- event types that this listener is being registered for. If this is null or empty then all types will be used.
-
unregisterListener
public void unregisterListener(ClusterEventListener listener, ClusterEvent.EventType... eventTypes)
Description copied from interface:ClusterEventProducerUnregister an event listener for specified event types.- Specified by:
unregisterListenerin interfaceClusterEventProducer- Parameters:
listener- non-null listener.eventTypes- event types from which the listener will be unregistered. If this is null or empty then all event types will be used
-
getState
public ClusterSingleton.State getState()
Description copied from interface:ClusterSingletonReturns the current state of the component.- Specified by:
getStatein interfaceClusterSingleton
-
close
public void close() throws IOException- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Throws:
IOException
-
getSupportedEventTypes
public abstract Set<ClusterEvent.EventType> getSupportedEventTypes()
-
fireEvent
protected void fireEvent(ClusterEvent event)
-
-