Package org.apache.qpid.proton.engine
Class ExtendableAccessor<E extends Extendable,T>
- java.lang.Object
-
- org.apache.qpid.proton.engine.ExtendableAccessor<E,T>
-
- Type Parameters:
E
- AnExtendable
type where the data is to be storedT
- The type of the data to be stored
public final class ExtendableAccessor<E extends Extendable,T> extends java.lang.Object
A typesafe convenience class for associating additional data withExtendable
classes.An instance of
ExtendableAccessor
uses itself as the key in theExtendable.attachments()
so it's best instantiated as a static final member.class Foo extends BaseHandler { private static ExtendableAccessor<Link, Bar> LINK_BAR = new ExtendableAccessor<>(Bar.class); void onLinkRemoteOpen(Event e) { Bar bar = LINK_BAR.get(e.getLink()); if (bar == null) { bar = new Bar(); LINK_BAR.set(e.getLink(), bar); } } }
-
-
Constructor Summary
Constructors Constructor Description ExtendableAccessor(java.lang.Class<T> klass)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description T
get(E e)
void
set(E e, T value)
-