Interface NodeTypeDefinition

  • All Known Subinterfaces:
    NodeType, NodeTypeTemplate
    All Known Implementing Classes:
    AbstractNodeType, NodeTypeDefinitionImpl, NodeTypeTemplateImpl

    public interface NodeTypeDefinition
    The NodeTypeDefinition interface provides methods for discovering the static definition of a node type. These are accessible both before and after the node type is registered. Its subclass NodeType adds methods that are relevant only when the node type is "live"; that is, after it has been registered. Note that the separate NodeDefinition interface only plays a significant role in implementations that support node type registration. In those cases it serves as the superclass of both NodeType and NodeTypeTemplate. In implementations that do not support node type registration, only objects implementing the subinterface NodeType will be encountered.
    Since:
    JCR 2.0
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      NodeDefinition[] getDeclaredChildNodeDefinitions()
      Returns an array containing the child node definitions actually declared in this node type.
      PropertyDefinition[] getDeclaredPropertyDefinitions()
      Returns an array containing the property definitions actually declared in this node type.
      java.lang.String[] getDeclaredSupertypeNames()
      Returns the names of the supertypes actually declared in this node type.
      java.lang.String getName()
      Returns the name of the node type.
      java.lang.String getPrimaryItemName()
      Returns the name of the primary item (one of the child items of the nodes of this node type).
      boolean hasOrderableChildNodes()
      Returns true if nodes of this type must support orderable child nodes; returns false otherwise.
      boolean isAbstract()
      Returns true if this is an abstract node type; returns false otherwise.
      boolean isMixin()
      Returns true if this is a mixin type; returns false if it is primary.
      boolean isQueryable()
      Returns true if the node type is queryable, meaning that the available-query-operators, full-text-searchable and query-orderable attributes of its property definitions take effect.
    • Method Detail

      • getName

        java.lang.String getName()
        Returns the name of the node type.

        In implementations that support node type registration, if this NodeTypeDefinition object is actually a newly-created empty NodeTypeTemplate, then this method will return null.

        Returns:
        a String
        Since:
        JCR 2.0 moved here from JCR 1.0 NodeType.
      • getDeclaredSupertypeNames

        java.lang.String[] getDeclaredSupertypeNames()
        Returns the names of the supertypes actually declared in this node type.

        In implementations that support node type registration, if this NodeTypeDefinition object is actually a newly-created empty NodeTypeTemplate, then this method will return an empty array.

        Returns:
        an array of Strings
        Since:
        JCR 2.0
      • isAbstract

        boolean isAbstract()
        Returns true if this is an abstract node type; returns false otherwise.

        An abstract node type is one that cannot be assigned as the primary or mixin type of a node but can be used in the definitions of other node types as a superclass.

        In implementations that support node type registration, if this NodeTypeDefinition object is actually a newly-created empty NodeTypeTemplate, then this method will return false.

        Returns:
        a boolean
        Since:
        JCR 2.0
      • isMixin

        boolean isMixin()
        Returns true if this is a mixin type; returns false if it is primary.

        In implementations that support node type registration, if this NodeTypeDefinition object is actually a newly-created empty NodeTypeTemplate, then this method will return false.

        Returns:
        a boolean
        Since:
        JCR 2.0 moved here from JCR 1.0 NodeType.
      • hasOrderableChildNodes

        boolean hasOrderableChildNodes()
        Returns true if nodes of this type must support orderable child nodes; returns false otherwise. If a node type returns true on a call to this method, then all nodes of that node type must support the method Node.orderBefore. If a node type returns false on a call to this method, then nodes of that node type may support Node.orderBefore. Only the primary node type of a node controls that node's status in this regard. This setting on a mixin node type will not have any effect on the node.

        In implementations that support node type registration, if this NodeTypeDefinition object is actually a newly-created empty NodeTypeTemplate, then this method will return false.

        Returns:
        a boolean
        Since:
        JCR 2.0 moved here from JCR 1.0 NodeType.
      • isQueryable

        boolean isQueryable()
        Returns true if the node type is queryable, meaning that the available-query-operators, full-text-searchable and query-orderable attributes of its property definitions take effect. See PropertyDefinition.getAvailableQueryOperators(), PropertyDefinition.isFullTextSearchable() and PropertyDefinition.isQueryOrderable().

        If a node type is declared non-queryable then these attributes of its property definitions have no effect.

        In implementations that support node type registration, if this NodeTypeDefinition object is actually a newly-created empty NodeTypeTemplate, then this method will return an implementation-determined defalt value.

        Returns:
        a boolean
        Since:
        JCR 2.0
      • getPrimaryItemName

        java.lang.String getPrimaryItemName()
        Returns the name of the primary item (one of the child items of the nodes of this node type). If this node has no primary item, then this method returns null. This indicator is used by the method Node.getPrimaryItem().

        In implementations that support node type registration, if this NodeTypeDefinition object is actually a newly-created empty NodeTypeTemplate, then this method will return null.

        Returns:
        a String
        Since:
        JCR 2.0 moved here from JCR 1.0 NodeType.
      • getDeclaredPropertyDefinitions

        PropertyDefinition[] getDeclaredPropertyDefinitions()
        Returns an array containing the property definitions actually declared in this node type.

        In implementations that support node type registration, if this NodeTypeDefinition object is actually a newly-created empty NodeTypeTemplate, then this method will return null.

        Returns:
        an array of PropertyDefinitions
        Since:
        JCR 2.0 moved here from JCR 1.0 NodeType.
      • getDeclaredChildNodeDefinitions

        NodeDefinition[] getDeclaredChildNodeDefinitions()
        Returns an array containing the child node definitions actually declared in this node type.

        In implementations that support node type registration, if this NodeTypeDefinition object is actually a newly-created empty NodeTypeTemplate, then this method will return null.

        Returns:
        an array of NodeDefinitions
        Since:
        JCR 2.0 moved here from JCR 1.0 NodeType.