phpcr/src/PHPCR/NodeType/NodeDefinitionTemplateInterface.php

Show: PublicProtectedPrivateinherited
    Table of Contents
    This file is part of the PHPCR API and was originally ported from the Java JCR API to PHP by Karsten Dambekalns for the FLOW3 project.

    Copyright 2008-2011 Karsten Dambekalns karsten@typo3.org

    Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0
    

    Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

    License
    Apache Software License 2.0  
    Link
    http://phpcr.github.com/  

    \PHPCR\NodeType\NodeDefinitionTemplateInterface

    Package: Default
    The NodeDefinitionTemplate interface extends NodeDefinition with the addition of write methods, enabling the characteristics of a child node definition to be set, after which the NodeDefinitionTemplate is added to a NodeTypeTemplate.

    See the corresponding get methods for each attribute in NodeDefinition for the default values assumed when a new empty NodeDefinitionTemplate is created (as opposed to one extracted from an existing NodeType).

    Parent(s)
    \PHPCR\NodeType\NodeDefinitionInterface < \PHPCR\NodeType\ItemDefinitionInterface
    Api
     

    Methods

    methodpublicallowsSameNameSiblings() : boolean
    inherited

    Reports whether this child node can have same-name siblings.

    Inherited from: \PHPCR\NodeType\NodeDefinitionInterface::allowsSameNameSiblings()

    In other words, whether the parent node can have more than one child node of this name. If this NodeDefinition is actually a NodeDefinitionTemplate that is not part of a registered node type, then this method will return the same name siblings status as set in that template. If that template is a newly-created empty one, then this method will return false.

    Returns
    TypeDescription
    booleanTrue, if the node my have a same-name sibling, else false.
    Details
    Api
     
    methodpublicgetDeclaringNodeType() : \PHPCR\NodeType\NodeTypeInterface
    inherited

    Gets the node type that contains the declaration of this ItemDefinition.

    Inherited from: \PHPCR\NodeType\ItemDefinitionInterface::getDeclaringNodeType()\PHPCR\NodeType\NodeDefinitionInterface::getDeclaringNodeType()

    In implementations that support node type registration an ItemDefinition object may be acquired (in the form of a NodeDefinitionTemplate or PropertyDefinitionTemplate) that is not attached to a live NodeType. In such cases this method returns null.

    Returns
    TypeDescription
    \PHPCR\NodeType\NodeTypeInterfaceA NodeType object.
    Details
    Api
     
    methodpublicgetDefaultPrimaryType() : \PHPCR\NodeType\NodeTypeInterface
    inherited

    Gets the default primary node type that will be assigned to the child node if it is created without an explicitly specified primary node type.

    Inherited from: \PHPCR\NodeType\NodeDefinitionInterface::getDefaultPrimaryType()

    This node type must be a subtype of (or the same type as) the node types returned by getRequiredPrimaryTypes. If null is returned this indicates that no default primary type is specified and that therefore an attempt to create this node without specifying a node type will throw a ConstraintViolationException. In implementations that support node type registration an NodeDefinition object may be acquired (in the form of a NodeDefinitionTemplate) that is not attached to a live NodeType. In such cases this method returns null.

    Returns
    TypeDescription
    \PHPCR\NodeType\NodeTypeInterfaceA NodeType.
    Details
    Api
     
    methodpublicgetDefaultPrimaryTypeName() : string
    inherited

    Returns the name of the default primary node type.

    Inherited from: \PHPCR\NodeType\NodeDefinitionInterface::getDefaultPrimaryTypeName()

    If this NodeDefinition is acquired from a live NodeType this list will reflect the NodeType returned by getDefaultPrimaryType, above.

    If this NodeDefinition is actually a NodeDefinitionTemplate that is not part of a registered node type, then this method will return the required primary types as set in that template. If that template is a newly-created empty one, then this method will return null.

    Returns
    TypeDescription
    stringThe name of the default primary type.
    Details
    Api
     
    methodpublicgetName() : string

    If "*", this ItemDefinition defines a residual set of child items. That is, it defines the characteristics of all those child items with names apart from the names explicitly used in other child item definitions.

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

    Returns
    TypeDescription
    stringA string denoting the name or "*".
    Details
    Api
     
    methodpublicgetOnParentVersion() : integer

    This governs what occurs (in implementations that support versioning) when the parent node of this item is checked-in. One of:

    • OnParentVersionAction::COPY
    • OnParentVersionAction::VERSION
    • OnParentVersionAction::IGNORE
    • OnParentVersionAction::INITIALIZE
    • OnParentVersionAction::COMPUTE
    • OnParentVersionAction::ABORT

    In implementations that support node type registration, if this ItemDefinition object is actually a newly-created empty PropertyDefinitionTemplateInterface or NodeDefinitionTemplateInterface, then this method will return OnParentVersionAction::COPY.

    Returns
    TypeDescription
    integerAn int constant member of OnParentVersionAction.
    Details
    Api
     
    methodpublicgetRequiredPrimaryTypeNames() : array
    inherited

    Returns the names of the required primary node types.

    Inherited from: \PHPCR\NodeType\NodeDefinitionInterface::getRequiredPrimaryTypeNames()

    If this NodeDefinition is acquired from a live NodeType this list will reflect the node types returned by getRequiredPrimaryTypes, above.

    If this NodeDefinition is actually a NodeDefinitionTemplate that is not part of a registered node type, then this method will return the required primary types as set in that template. If that template is a newly-created empty one, then this method will return null.

    Returns
    TypeDescription
    arraya String array
    Details
    Api
     
    methodpublicgetRequiredPrimaryTypes() : \PHPCR\NodeType\NodeTypeInterface
    inherited

    Gets the minimum set of primary node types that the child node must have.

    Inherited from: \PHPCR\NodeType\NodeDefinitionInterface::getRequiredPrimaryTypes()

    Returns an array to support those implementations with multiple inheritance. This method never returns an empty array. If this node definition places no requirements on the primary node type, then this method will return an array containing only the NodeType object representing nt:base, which is the base of all primary node types and therefore constitutes the least restrictive node type requirement. Note that any particular node instance still has only one assigned primary node type, but in multiple-inheritance- supporting implementations the RequiredPrimaryTypes attribute can be used to restrict that assigned node type to be a subtype of all of a specified set of node types. In implementations that support node type registration an NodeDefinition object may be acquired (in the form of a NodeDefinitionTemplate) that is not attached to a live NodeType. In such cases this method returns null.

    Returns
    TypeDescription
    \PHPCR\NodeType\NodeTypeInterfaceAn array of NodeType objects.
    Details
    Api
     
    methodpublicisAutoCreated() : boolean
    inherited

    Reports whether the item is to be automatically created when its parent node is created.

    Inherited from: \PHPCR\NodeType\ItemDefinitionInterface::isAutoCreated()\PHPCR\NodeType\NodeDefinitionInterface::isAutoCreated()

    If true, then this ItemDefinition will necessarily not be a residual set definition but will specify an actual item name (in other words getName() will not return "*").

    An autocreated non-protected item must be created immediately when its parent node is created in the transient session space. Creation of autocreated non-protected items is never delayed until save.

    An autocreated protected item should be created immediately when its parent node is created in the transient session space. Creation of autocreated protected items should not be delayed until save, though doing so does not violate JCR compliance.

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

    Returns
    TypeDescription
    booleanTrue, if the item is automatically created when its parent node is created, else false.
    Details
    Api
     
    methodpublicisMandatory() : boolean

    A mandatory item is one that, if its parent node exists, must also exist. This means that a mandatory single-value property must have a value (since there is no such thing a null value). In the case of multi-value properties this means that the property must exist, though it can have zero or more values.

    An attempt to save a node that has a mandatory child item without first creating that child item will throw a ConstraintViolationException on save.

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

    An item definition cannot be both residual and mandatory.

    Returns
    TypeDescription
    booleanTrue, if the item is mandatory, else false.
    Details
    Api
     
    methodpublicisProtected() : boolean

    In level 2 implementations, a protected item is one that cannot be removed (except by removing its parent) or modified through the the standard write methods of this API (that is, ItemInterface::remove(), NodeInterface::addNode(), NodeInterface::setProperty() and PropertyInterface::setValue()).

    A protected node may be removed or modified (in a level 2 implementation), however, through some mechanism not defined by this specification or as a side-effect of operations other than the standard write methods of the API.

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

    Returns
    TypeDescription
    booleanTrue, if the child item is protected, else false.
    Details
    Api
     
    methodpublicsetAutoCreated(boolean $autoCreated) : void

    Sets the auto-create status of the node.

    Parameters
    NameTypeDescription
    $autoCreatedboolean

    The status the autocreate attribute of the node shall have.

    Details
    Api
     
    methodpublicsetDefaultPrimaryTypeName(string $defaultPrimaryTypeName) : void

    Sets the name of the default primary type of this node.

    Parameters
    NameTypeDescription
    $defaultPrimaryTypeNamestring

    The name of a primary type name to be registered.

    Details
    Api
     
    methodpublicsetMandatory(boolean $mandatory) : void

    Sets the mandatory status of the node.

    Parameters
    NameTypeDescription
    $mandatoryboolean

    The status of the mandatory attribute.

    Details
    Api
     
    methodpublicsetName(string $name) : void

    Sets the name of the node.

    Parameters
    NameTypeDescription
    $namestring

    The name of the node.

    Details
    Api
     
    methodpublicsetOnParentVersion(integer $opv) : void

    Sets the on-parent-version status of the node.

    Parameters
    NameTypeDescription
    $opvinteger

    An integer constant member of OnParentVersionAction.

    Details
    Api
     
    methodpublicsetProtected(boolean $protectedStatus) : void

    Sets the protected status of the node.

    Parameters
    NameTypeDescription
    $protectedStatusboolean

    The status of the protected attribute.

    Details
    Api
     
    methodpublicsetRequiredPrimaryTypeNames(array $requiredPrimaryTypeNames) : void

    Sets the names of the required primary types of this node.

    Parameters
    NameTypeDescription
    $requiredPrimaryTypeNamesarray

    List of primary type names to be registered.

    Details
    Api
     
    methodpublicsetSameNameSiblings(boolean $allowSameNameSiblings) : void

    Sets the same-name sibling status of this node.

    Parameters
    NameTypeDescription
    $allowSameNameSiblingsboolean

    Whether same-name siblings of this node should be allowed

    Details
    Api
     
    Documentation was generated by phpDocumentor 2.0.0a12.