public abstract class Dependency
extends java.lang.Object
Dependency
instances do not
know the source of their dependency
A dependencies must not start tracking its target until a listener is added,
and must stop when the listener is removed. Any other behavior will likely
cause unintended memory retention.Constructor and Description |
---|
Dependency() |
Modifier and Type | Method and Description |
---|---|
void |
addChangeListener(DependencyListener listener)
Adds a change listener for this dependency.
|
protected abstract void |
attach()
Attach this dependency to its target.
|
protected abstract void |
detach()
Detach this dependency from its target.
|
void |
fireDependencyChanged(boolean possibleSequence)
Notifies listeners that the target of this dependency has changed.
|
DependencyListener |
getChangeListener()
Gets the change listener for this dependency.
|
protected abstract java.lang.String |
getLongDescription()
Gets a translated long description of the target of this dependency.
|
protected abstract java.lang.String |
getShortDescription()
Gets a translated short description of the target of this dependency.
|
protected boolean |
isAttached()
Gets whether this dependency is attached to its target.
|
protected java.lang.String |
listenerDescription() |
void |
removeChangeListener(DependencyListener listener)
Removes a change listener from this dependency.
|
java.lang.String |
toString() |
public void addChangeListener(DependencyListener listener)
java.lang.IllegalStateException
- if more than one listener is added.public void removeChangeListener(DependencyListener listener)
public DependencyListener getChangeListener()
protected boolean isAttached()
protected abstract void attach()
protected abstract void detach()
protected abstract java.lang.String getShortDescription()
protected abstract java.lang.String getLongDescription()
public final void fireDependencyChanged(boolean possibleSequence)
possibleSequence
- true if this change may be part of a sequencepublic java.lang.String toString()
toString
in class java.lang.Object
protected java.lang.String listenerDescription()