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 CoreContainer
cc
protected Map<ClusterEvent.EventType,Set<ClusterEventListener>>
listeners
protected ClusterSingleton.State
state
-
Fields inherited from interface org.apache.solr.cluster.events.ClusterEventProducer
PLUGIN_NAME
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
ClusterEventProducerBase(CoreContainer cc)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description void
close()
protected void
fireEvent(ClusterEvent event)
ClusterSingleton.State
getState()
Returns the current state of the component.abstract Set<ClusterEvent.EventType>
getSupportedEventTypes()
void
registerListener(ClusterEventListener listener, ClusterEvent.EventType... eventTypes)
Register an event listener for processing the specified event types.void
unregisterListener(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:ClusterEventProducer
Register an event listener for processing the specified event types.- Specified by:
registerListener
in 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:ClusterEventProducer
Unregister an event listener for specified event types.- Specified by:
unregisterListener
in 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:ClusterSingleton
Returns the current state of the component.- Specified by:
getState
in interfaceClusterSingleton
-
close
public void close() throws IOException
- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
- Throws:
IOException
-
getSupportedEventTypes
public abstract Set<ClusterEvent.EventType> getSupportedEventTypes()
-
fireEvent
protected void fireEvent(ClusterEvent event)
-
-