Class ObjectExtensions<O extends ExtensibleObject<O,E>,E extends ObjectExtension<O,E>>
java.lang.Object
java.util.AbstractMap<Class<? extends E>,E>
org.opendaylight.yangtools.concepts.ObjectExtensions<O,E>
- Type Parameters:
O
- Type of extensible objectE
- Extension marker interface
- All Implemented Interfaces:
ClassToInstanceMap<E>
,Map<Class<? extends E>,
E>
public final class ObjectExtensions<O extends ExtensibleObject<O,E>,E extends ObjectExtension<O,E>>
extends AbstractMap<Class<? extends E>,E>
implements ClassToInstanceMap<E>
Utility
ClassToInstanceMap
implementation for implementing ExtensibleObject.getExtensions()
method
by objects which are themselves implementing the extension.-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final class
ObjectExtensions.Factory<T,
O extends ExtensibleObject<O, E>, E extends ObjectExtension<O, E>> Nested classes/interfaces inherited from class java.util.AbstractMap
AbstractMap.SimpleEntry<K extends Object,
V extends Object>, AbstractMap.SimpleImmutableEntry<K extends Object, V extends Object> -
Method Summary
Modifier and TypeMethodDescriptionvoid
clear()
boolean
containsKey
(Object key) boolean
containsValue
(Object value) entrySet()
static <T,
O extends ExtensibleObject<O, E>, E extends ObjectExtension<O, E>>
@NonNull ObjectExtensions.Factory<T,O, E> <T extends E>
TgetInstance
(Class<T> type) boolean
isEmpty()
keySet()
void
<T extends E>
TputInstance
(Class<T> type, T value) int
size()
values()
Methods inherited from class java.util.AbstractMap
clone, equals, hashCode, toString
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface java.util.Map
compute, computeIfAbsent, computeIfPresent, equals, forEach, getOrDefault, hashCode, merge, putIfAbsent, remove, replace, replace, replaceAll
-
Method Details
-
factory
@SafeVarargs public static <T,O extends ExtensibleObject<O, @NonNull ObjectExtensions.Factory<T,E>, E extends ObjectExtension<O, E>> O, factoryE> (Class<T> objClass, Class<? extends E>... extensions) -
size
public int size()- Specified by:
size
in interfaceMap<O extends ExtensibleObject<O,
E>, E extends ObjectExtension<O, E>> - Overrides:
size
in classAbstractMap<Class<? extends E extends ObjectExtension<O,
E>>, E extends ObjectExtension<O, E>>
-
isEmpty
public boolean isEmpty()- Specified by:
isEmpty
in interfaceMap<O extends ExtensibleObject<O,
E>, E extends ObjectExtension<O, E>> - Overrides:
isEmpty
in classAbstractMap<Class<? extends E extends ObjectExtension<O,
E>>, E extends ObjectExtension<O, E>>
-
containsKey
- Specified by:
containsKey
in interfaceMap<O extends ExtensibleObject<O,
E>, E extends ObjectExtension<O, E>> - Overrides:
containsKey
in classAbstractMap<Class<? extends E extends ObjectExtension<O,
E>>, E extends ObjectExtension<O, E>>
-
containsValue
- Specified by:
containsValue
in interfaceMap<O extends ExtensibleObject<O,
E>, E extends ObjectExtension<O, E>> - Overrides:
containsValue
in classAbstractMap<Class<? extends E extends ObjectExtension<O,
E>>, E extends ObjectExtension<O, E>>
-
get
- Specified by:
get
in interfaceMap<O extends ExtensibleObject<O,
E>, E extends ObjectExtension<O, E>> - Overrides:
get
in classAbstractMap<Class<? extends E extends ObjectExtension<O,
E>>, E extends ObjectExtension<O, E>>
-
put
- Specified by:
put
in interfaceMap<O extends ExtensibleObject<O,
E>, E extends ObjectExtension<O, E>> - Overrides:
put
in classAbstractMap<Class<? extends E extends ObjectExtension<O,
E>>, E extends ObjectExtension<O, E>>
-
remove
- Specified by:
remove
in interfaceMap<O extends ExtensibleObject<O,
E>, E extends ObjectExtension<O, E>> - Overrides:
remove
in classAbstractMap<Class<? extends E extends ObjectExtension<O,
E>>, E extends ObjectExtension<O, E>>
-
putAll
- Specified by:
putAll
in interfaceMap<O extends ExtensibleObject<O,
E>, E extends ObjectExtension<O, E>> - Overrides:
putAll
in classAbstractMap<Class<? extends E extends ObjectExtension<O,
E>>, E extends ObjectExtension<O, E>>
-
clear
public void clear()- Specified by:
clear
in interfaceMap<O extends ExtensibleObject<O,
E>, E extends ObjectExtension<O, E>> - Overrides:
clear
in classAbstractMap<Class<? extends E extends ObjectExtension<O,
E>>, E extends ObjectExtension<O, E>>
-
keySet
- Specified by:
keySet
in interfaceMap<O extends ExtensibleObject<O,
E>, E extends ObjectExtension<O, E>> - Overrides:
keySet
in classAbstractMap<Class<? extends E extends ObjectExtension<O,
E>>, E extends ObjectExtension<O, E>>
-
values
- Specified by:
values
in interfaceMap<O extends ExtensibleObject<O,
E>, E extends ObjectExtension<O, E>> - Overrides:
values
in classAbstractMap<Class<? extends E extends ObjectExtension<O,
E>>, E extends ObjectExtension<O, E>>
-
entrySet
- Specified by:
entrySet
in interfaceMap<O extends ExtensibleObject<O,
E>, E extends ObjectExtension<O, E>> - Specified by:
entrySet
in classAbstractMap<Class<? extends E extends ObjectExtension<O,
E>>, E extends ObjectExtension<O, E>>
-
getInstance
- Specified by:
getInstance
in interfaceClassToInstanceMap<O extends ExtensibleObject<O,
E>>
-
putInstance
- Specified by:
putInstance
in interfaceClassToInstanceMap<O extends ExtensibleObject<O,
E>>
-