public abstract class AbstractDecorator<T,D> extends java.lang.Object implements IDecorator<T,D>
Modifier and Type | Field and Description |
---|---|
protected java.util.Map<T,D> |
decorations |
Constructor and Description |
---|
AbstractDecorator() |
Modifier and Type | Method and Description |
---|---|
IDecorator<T,D> |
clone() |
void |
copyDecoration(T target,
T oldTarget,
Decorations<?> oldDecorations) |
abstract void |
copyDecoration(T target,
T oldTarget,
IDecorator<T,?> oldDecorator) |
abstract void |
deriveDecoration(T target,
java.lang.Object oldTarget,
Decorations<?> oldDecorations) |
abstract <T2> IDecorator<T2,D> |
deriveDecorationInstance(java.lang.Class<T2> type) |
D |
getDecoration(T target) |
boolean |
hasDecoration(T target) |
abstract IDecorator<T,D> |
newInstance() |
void |
removeDecoration(T target) |
void |
setDecoration(T target,
D decoration) |
java.lang.String |
toString() |
public boolean hasDecoration(T target)
hasDecoration
in interface IDecorator<T,D>
public D getDecoration(T target)
getDecoration
in interface IDecorator<T,D>
public void setDecoration(T target, D decoration)
setDecoration
in interface IDecorator<T,D>
public void removeDecoration(T target)
removeDecoration
in interface IDecorator<T,D>
public abstract IDecorator<T,D> newInstance()
newInstance
in interface IDecorator<T,D>
public abstract <T2> IDecorator<T2,D> deriveDecorationInstance(java.lang.Class<T2> type)
deriveDecorationInstance
in interface IDecorator<T,D>
public void copyDecoration(T target, T oldTarget, Decorations<?> oldDecorations)
copyDecoration
in interface IDecorator<T,D>
public abstract void copyDecoration(T target, T oldTarget, IDecorator<T,?> oldDecorator)
copyDecoration
in interface IDecorator<T,D>
public abstract void deriveDecoration(T target, java.lang.Object oldTarget, Decorations<?> oldDecorations)
deriveDecoration
in interface IDecorator<T,D>
public IDecorator<T,D> clone()
clone
in interface IDecorator<T,D>
clone
in class java.lang.Object
public java.lang.String toString()
toString
in class java.lang.Object