Interface DataTreeEffectiveStatement<D extends DeclaredStatement<QName>>

Type Parameters:
D - Declared statement type
All Superinterfaces:
EffectiveStatement<QName,D>, ModelStatement<QName>, SchemaTreeEffectiveStatement<D>
All Known Subinterfaces:
AnydataEffectiveStatement, AnyxmlEffectiveStatement, ContainerEffectiveStatement, InputEffectiveStatement, LeafEffectiveStatement, LeafListEffectiveStatement, ListEffectiveStatement, OutputEffectiveStatement
All Known Implementing Classes:
AbstractContainerEffectiveStatement, AbstractLeafEffectiveStatement, DeclaredInputEffectiveStatement, DeclaredOutputEffectiveStatement, EmptyAnydataEffectiveStatement, EmptyAnyxmlEffectiveStatement, EmptyContainerEffectiveStatement, EmptyLeafEffectiveStatement, EmptyLeafListEffectiveStatement, EmptyListEffectiveStatement, RegularAnydataEffectiveStatement, RegularAnyxmlEffectiveStatement, RegularContainerEffectiveStatement, RegularLeafEffectiveStatement, RegularLeafListEffectiveStatement, RegularListEffectiveStatement, SlimLeafListEffectiveStatement, UndeclaredInputEffectiveStatement, UndeclaredLeafEffectiveStatement, UndeclaredOutputEffectiveStatement

public interface DataTreeEffectiveStatement<D extends DeclaredStatement<QName>> extends SchemaTreeEffectiveStatement<D>
Common interface grouping all EffectiveStatements which are accessible via DataTreeAwareEffectiveStatement.dataTreeNodes(). This such statement corresponds to a data node.

This interface could be named SchemaNodeEffectiveStatement, but that could induce a notion that it has something to do with DataSchemaNode -- which it has not. DataSchemaNode semantics are wrong in may aspects and while implementations of this interface may also implement DataSchemaNode, the semantics of this interface should always be preferred and DataSchemaNode is to be treated as deprecated whenever possible.