public class ProviderSubscriptionManagerImpl extends java.lang.Object implements ProviderSubscriptionManager
Modifier and Type | Class and Description |
---|---|
protected class |
ProviderSubscriptionManagerImpl.ArrayElementReference |
protected class |
ProviderSubscriptionManagerImpl.WildcardListenerTree |
Modifier and Type | Field and Description |
---|---|
protected ProviderSubscriptionManagerImpl.WildcardListenerTree |
wildcardListeners |
Constructor and Description |
---|
ProviderSubscriptionManagerImpl(ExecutableTagCollection tagCollection,
LoggerEx logger) |
Modifier and Type | Method and Description |
---|---|
protected void |
decrementSCRefCount(GatewayTag tag)
Decrements scan class reference count, so we can unlease if necessary later.
|
protected java.lang.String |
getPathKey(TagPath path) |
java.util.Set<java.lang.String> |
getSubscribedScanclasses()
Returns a set of the names of scan classes that have tags subscribed.
|
java.util.List<? extends GatewayTag> |
getSubscribedTags(java.lang.String scanclass)
Returns the tags subscribed for a given scanclass.
|
protected void |
incrementSCRefCount(GatewayTag tag)
Increments the reference count for the scan class, so we'll know something is subscribed for leasing.
|
protected boolean |
isWildcardPath(TagPath path) |
void |
notifyFolders(java.util.Collection<TagPath> paths)
Notify folders that their contents have changed.
|
protected void |
notifyGlobalFolders(java.util.List<TagPath> folders) |
protected void |
notifyGlobalListeners(TagChangeEvent e) |
java.util.List<QualifiedValue> |
read(java.util.List<TagPath> paths)
Reads the values of the given tag paths.
|
void |
returnReference(TagReference reference) |
void |
returnReferences(TagReference[] references) |
void |
subscribe(java.util.List<TagPath> paths,
java.util.List<TagChangeListener> listeners)
Subscribes to multiple paths at once, in order to be more efficient.
|
void |
subscribe(TagPath path,
TagChangeListener listener)
Subscribes to the given tag path/property.
|
void |
unsubscribe(java.util.List<TagPath> paths,
java.util.List<TagChangeListener> listeners)
Unsubscribes from multiple paths at once, in order to be more efficient.
|
void |
unsubscribe(TagPath path,
TagChangeListener listener)
Unsubscribes from the given tag path/property.
|
void |
update(java.util.Collection<? extends GatewayTag> tags)
Notifies the manager that the given tags have changed or been added.
|
void |
updateRemoved(java.util.Collection<TagPath> paths)
Notifies the manager that the tags at the given paths have been deleted.
|
protected ProviderSubscriptionManagerImpl.WildcardListenerTree wildcardListeners
public ProviderSubscriptionManagerImpl(ExecutableTagCollection tagCollection, LoggerEx logger)
public java.util.Set<java.lang.String> getSubscribedScanclasses()
ProviderSubscriptionManager
getSubscribedScanclasses
in interface ProviderSubscriptionManager
public java.util.List<? extends GatewayTag> getSubscribedTags(java.lang.String scanclass)
ProviderSubscriptionManager
getSubscribedTags
in interface ProviderSubscriptionManager
protected void incrementSCRefCount(GatewayTag tag)
protected void decrementSCRefCount(GatewayTag tag)
protected java.lang.String getPathKey(TagPath path)
public java.util.List<QualifiedValue> read(java.util.List<TagPath> paths)
TagSubscriptionManager
read
in interface TagSubscriptionManager
public void subscribe(java.util.List<TagPath> paths, java.util.List<TagChangeListener> listeners)
TagSubscriptionManager
subscribe
in interface TagSubscriptionManager
protected boolean isWildcardPath(TagPath path)
public void unsubscribe(java.util.List<TagPath> paths, java.util.List<TagChangeListener> listeners)
TagSubscriptionManager
unsubscribe
in interface TagSubscriptionManager
public void subscribe(TagPath path, TagChangeListener listener)
TagSubscriptionManager
subscribe
in interface TagSubscriptionManager
public void unsubscribe(TagPath path, TagChangeListener listener)
TagSubscriptionManager
unsubscribe
in interface TagSubscriptionManager
public void returnReference(TagReference reference)
public void returnReferences(TagReference[] references)
public void update(java.util.Collection<? extends GatewayTag> tags)
ProviderSubscriptionManager
update
in interface ProviderSubscriptionManager
public void updateRemoved(java.util.Collection<TagPath> paths)
ProviderSubscriptionManager
updateRemoved
in interface ProviderSubscriptionManager
public void notifyFolders(java.util.Collection<TagPath> paths)
ProviderSubscriptionManager
notifyFolders
in interface ProviderSubscriptionManager
protected void notifyGlobalFolders(java.util.List<TagPath> folders)
protected void notifyGlobalListeners(TagChangeEvent e)