Interface DataTreeAwareEffectiveStatement<A,D extends DeclaredStatement<A>>

Type Parameters:
A - Argument type
D - Class representing declared version of this statement.
All Superinterfaces:
EffectiveStatement<A,D>, ModelStatement<A>, SchemaTreeAwareEffectiveStatement<A,D>
All Known Subinterfaces:
ActionEffectiveStatement, CaseEffectiveStatement, ChoiceEffectiveStatement, ContainerEffectiveStatement, GroupingEffectiveStatement, InputEffectiveStatement, ListEffectiveStatement, ModuleEffectiveStatement, NotificationEffectiveStatement, OutputEffectiveStatement, RpcEffectiveStatement, SubmoduleEffectiveStatement

public interface DataTreeAwareEffectiveStatement<A,D extends DeclaredStatement<A>> extends SchemaTreeAwareEffectiveStatement<A,D>
Interface implemented by all SchemaTreeAwareEffectiveStatements which can contain a data tree child.
  • Method Details

    • dataTreeNodes

      @NonNull Collection<DataTreeEffectiveStatement<?>> dataTreeNodes()
      Return the mapping of data tree children of this statement. This is a subtree of SchemaTreeAwareEffectiveStatement.schemaTreeNodes() in that all data nodes are also schema nodes. The structure of the tree is different, though, as choice and case statements are glossed over and they do not contribute to the tree hierarchy -- only their children do.

      Note that returned statements are not necessarily direct substatements of this statement.

      Returns:
      All substatements participating on the data tree
    • findDataTreeNode

      @NonNull Optional<DataTreeEffectiveStatement<?>> findDataTreeNode(@NonNull QName qname)
      Find a data tree child DataTreeEffectiveStatement, as identified by its QName argument.
      Parameters:
      qname - Child identifier
      Returns:
      Data tree child, or empty
      Throws:
      NullPointerException - if qname is null
    • findDataTreeNode

      default <E> @NonNull Optional<E> findDataTreeNode(Class<E> type, @NonNull QName qname)
      Find a data tree child DataTreeEffectiveStatement, as identified by its QName argument.
      Type Parameters:
      E - Effective substatement type
      Parameters:
      type - Effective substatement class
      qname - Child identifier
      Returns:
      Data tree child, or empty
      Throws:
      NullPointerException - if any argument is null