Interface EffectiveNodeType


  • public interface EffectiveNodeType
    An immutable and aggregated or effective JCR Repository NodeType representation or an aggregation thereof to represent a concrete Node instance. Note: not all information available from the JCR NodeType model is captured.
    • Method Detail

      • version

        long version()
        Returns:
        The immutable version of the EffectiveNodeTypes instance used to create this definition
      • isAggregate

        boolean isAggregate()
        Returns:
        True if this is an aggregation of multiple EffectiveNodeTypes like to represent a concrete Node instance
      • getName

        String getName()
        Returns:
        the Qualified name of the JCR Repository NodeType (see JCR-2.0 3.2.5.2); or the list of aggregated NodeType names as [,...] if isAggregate()
        See Also:
        NodeTypeDefinition.getName()
      • getPrefix

        String getPrefix()
        Returns:
        The namespace prefix as used by this registered NodeType (derived from its name); null if isAggregate()
      • getSuperTypes

        SortedSet<String> getSuperTypes()
        Returns:
        The natural ordered set of names of all directly or inherited parent NodeTypes or mixins for this NodeType or Node. Never null but may be empty.
        See Also:
        NodeType.getSupertypes()
      • isNodeType

        boolean isNodeType​(String nodeTypeName)
        Parameters:
        nodeTypeName - The name of a node type
        Returns:
        True if the name of this node type or any of its getSuperTypes() is equal to nodeTypeName
        See Also:
        NodeType.isNodeType(String)
      • isAbstract

        boolean isAbstract()
        Returns:
        True if this EffectiveNodeType is marked abstract; false if isAggregate()
        See Also:
        NodeTypeDefinition.isAbstract()
      • isMixin

        boolean isMixin()
        Returns:
        True if this EffectiveNodeType represents a Mixin; false if isAggregate()
        See Also:
        NodeTypeDefinition.isMixin()
      • isOrdered

        boolean isOrdered()
        Returns:
        True if for this aggregated or effective NodeType its child Nodes are ordered
        See Also:
        NodeTypeDefinition.hasOrderableChildNodes()
      • getPrimaryItemName

        String getPrimaryItemName()
        Returns:
        The name of the NodeTypeItem to be used as PrimaryItem when creating a Node. May be null.
        See Also:
        NodeTypeDefinition.getPrimaryItemName()
      • getChildren

        SortedMap<String,​List<EffectiveNodeTypeChild>> getChildren()
        Returns the aggregated map of all allowable Child Node definitions. The map keys are the Qualified Child Node names, or "*" for the list of residual Child Node definitions. For each child 'name', possible multiple children are ordered by the number of requiredPrimaryTypes and the names thereof.
        Returns:
        The aggregated map of all allowable Child Node definitions.
        See Also:
        NodeType.getChildNodeDefinitions()
      • getProperties

        SortedMap<String,​List<EffectiveNodeTypeProperty>> getProperties()
        Returns the aggregated map of all allowable Property definitions. The map keys are the Qualified Property names, or "*" for the list of residual Property definitions. For each property 'name', possible multiple properties are ordered by their type (String first) and their multiplicity (single first)
        Returns:
        The aggregated map of all allowable Property definitions.
        See Also:
        NodeType.getPropertyDefinitions()