Class AbstractBindingLazyContainerNode<T extends DataObject,C>
java.lang.Object
com.google.common.collect.ForwardingObject
org.opendaylight.yangtools.binding.data.codec.spi.AbstractBindingLazyContainerNode<T,C>
- Type Parameters:
T
- Binding DataObject typeC
- Context type
- All Implemented Interfaces:
BindingLazyContainerNode<T>
,Delegator<ContainerNode>
,ItemOrder<ItemOrder.Unordered>
,ItemOrder.Unordered
,PrettyTreeAware
,ContainerNode
,DataContainer
,DataContainerChild
,DataContainerNode
,DistinctContainer<YangInstanceIdentifier.NodeIdentifier,
,DataContainerChild> DistinctNodeContainer<YangInstanceIdentifier.NodeIdentifier,
,DataContainerChild> NormalizedContainer<DataContainerChild>
,NormalizedData
,NormalizedNode
,NormalizedNodeContainer<DataContainerChild>
,OrderingAware
,OrderingAware.System
- Direct Known Subclasses:
LazyActionInputContainerNode
,LazyActionOutputContainerNode
public abstract class AbstractBindingLazyContainerNode<T extends DataObject,C>
extends ForwardingObject
implements BindingLazyContainerNode<T>
A
ContainerNode
backed by a binding DataObject
, with lazy instantiation of the ContainerNode view.
This class is thread-safe.-
Nested Class Summary
Nested classes/interfaces inherited from interface org.opendaylight.yangtools.yang.data.api.schema.ContainerNode
ContainerNode.Builder
Nested classes/interfaces inherited from interface org.opendaylight.yangtools.concepts.ItemOrder
ItemOrder.Ordered, ItemOrder.Unordered
Nested classes/interfaces inherited from interface org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode
NormalizedNode.BuilderFactory
Nested classes/interfaces inherited from interface org.opendaylight.yangtools.yang.data.api.schema.OrderingAware
OrderingAware.System, OrderingAware.User
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
AbstractBindingLazyContainerNode
(@NonNull YangInstanceIdentifier.NodeIdentifier identifier, @NonNull T bindingData, C context) -
Method Summary
Modifier and TypeMethodDescriptionCollection
<@NonNull DataContainerChild> body()
Returns the body of this node.Returns a child node identified by provided key.protected abstract @GuardedBy("this") @NonNull ContainerNode
computeContainerNode
(C context) protected final @NonNull ContainerNode
delegate()
boolean
ItemOrder
has impact onItemOrder.equals(Object)
.final T
Returns the underlying DataObject.final ContainerNode
Return underlying delegate.int
hashCode()
ItemOrder
has impact onItemOrder.hashCode()
.name()
Return the name of this data.Return aPrettyTree
view of this object.Methods inherited from class com.google.common.collect.ForwardingObject
toString
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.opendaylight.yangtools.yang.data.api.schema.ContainerNode
contract
Methods inherited from interface org.opendaylight.yangtools.yang.data.api.schema.DistinctContainer
findChildByArg, getChildByArg
Methods inherited from interface org.opendaylight.yangtools.concepts.ItemOrder.Unordered
itemOrder
Methods inherited from interface org.opendaylight.yangtools.yang.data.api.schema.NormalizedContainer
isEmpty, size
Methods inherited from interface org.opendaylight.yangtools.yang.data.api.schema.OrderingAware.System
ordering
-
Constructor Details
-
AbstractBindingLazyContainerNode
protected AbstractBindingLazyContainerNode(@NonNull YangInstanceIdentifier.NodeIdentifier identifier, @NonNull T bindingData, C context)
-
-
Method Details
-
getDataObject
Description copied from interface:BindingLazyContainerNode
Returns the underlying DataObject.- Specified by:
getDataObject
in interfaceBindingLazyContainerNode<T extends DataObject>
- Returns:
- underlying DataObject.
-
name
Description copied from interface:NormalizedData
Return the name of this data.- Specified by:
name
in interfaceDataContainerChild
- Specified by:
name
in interfaceNormalizedData
- Specified by:
name
in interfaceNormalizedNode
- Returns:
- Name of this data.
-
getDelegate
Description copied from interface:Delegator
Return underlying delegate.- Specified by:
getDelegate
in interfaceDelegator<T extends DataObject>
- Returns:
- underlying delegate.
-
body
Description copied from interface:DistinctContainer
Returns the body of this node. While the return value specifiesObject
, this method's return value has further semantics. The returned object must be a well-published contract, such asString
,Collection<NormalizedNode>
orDOMSource
.Returns iteration of all child nodes. Order of returned child nodes may be defined by subinterfaces.
All nodes returned in this iterable, MUST also be accessible via
DistinctContainer.childByArg(PathArgument)
using their associated identifier.- Specified by:
body
in interfaceDistinctContainer<T extends DataObject,
C> - Specified by:
body
in interfaceNormalizedContainer<T extends DataObject>
- Specified by:
body
in interfaceNormalizedData
- Returns:
- Iteration of all child nodes
-
childByArg
Description copied from interface:DistinctContainer
Returns a child node identified by provided key.- Specified by:
childByArg
in interfaceDistinctContainer<T extends DataObject,
C> - Parameters:
child
- Path argument identifying child node- Returns:
- Matching child node, or null if no matching child exists
-
prettyTree
Description copied from interface:PrettyTreeAware
Return aPrettyTree
view of this object.- Specified by:
prettyTree
in interfacePrettyTreeAware
- Returns:
- A
PrettyTree
.
-
hashCode
public int hashCode()Description copied from interface:ItemOrder.Unordered
ItemOrder
has impact onItemOrder.hashCode()
.Hash code contract of
ItemOrder.Unordered
objects must be insensitive to item order, similar toSet.hashCode()
.This contract is also exposed through
ItemOrder.Unordered.itemOrder()
.- Specified by:
hashCode
in interfaceDataContainer
- Specified by:
hashCode
in interfaceItemOrder<T extends DataObject>
- Specified by:
hashCode
in interfaceItemOrder.Unordered
- Overrides:
hashCode
in classObject
-
equals
Description copied from interface:ItemOrder.Unordered
ItemOrder
has impact onItemOrder.equals(Object)
.Equality contract of
ItemOrder.Unordered
objects must be insensitive to item order, similar toSet.equals(Object)
.This contract is also exposed through
ItemOrder.Unordered.itemOrder()
.- Specified by:
equals
in interfaceDataContainer
- Specified by:
equals
in interfaceItemOrder<T extends DataObject>
- Specified by:
equals
in interfaceItemOrder.Unordered
- Overrides:
equals
in classObject
-
delegate
- Specified by:
delegate
in classForwardingObject
-
computeContainerNode
-