org.apache.jackrabbit.spi.commons
Class NodeInfoImpl

java.lang.Object
  extended by org.apache.jackrabbit.spi.commons.ItemInfoImpl
      extended by org.apache.jackrabbit.spi.commons.NodeInfoImpl
All Implemented Interfaces:
Serializable, ItemInfo, NodeInfo

public class NodeInfoImpl
extends ItemInfoImpl
implements NodeInfo

NodeInfoImpl implements a serializable NodeInfo based on another node info.

See Also:
Serialized Form

Constructor Summary
NodeInfoImpl(NodeId parentId, Name name, Path path, NodeId id, int index, Name primaryTypeName, Name[] mixinNames, Iterator references, Iterator propertyIds, Iterator childInfos)
          Deprecated. Use #NodeInfoImpl(Name, Path, NodeId, int, Name, Name[], Iterator, Iterator) instead. The parentId is not used any more.
NodeInfoImpl(Path path, NodeId id, int index, Name primaryTypeName, Name[] mixinNames, Iterator references, Iterator propertyIds, Iterator childInfos)
          Creates a new node info from the given parameters.
 
Method Summary
static NodeInfo createSerializableNodeInfo(NodeInfo nodeInfo, IdFactory idFactory)
          Creates a new serializable NodeInfo for the given NodeInfo.
 Iterator getChildInfos()
          Return the all ChildInfos of the node represent by this info, an empty iterator if that node doesn't have any child nodes or null if the implementation is not able or for some internal reasons not willing to compute the ChildInfo iterator.
 NodeId getId()
          Returns the NodeId for the node that is based on this info object.
 int getIndex()
          Index of the node.
 Name[] getMixins()
          
 Name getNodetype()
          
 Iterator getPropertyIds()
          
 PropertyId[] getReferences()
          
 
Methods inherited from class org.apache.jackrabbit.spi.commons.ItemInfoImpl
denotesNode, getPath
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.apache.jackrabbit.spi.ItemInfo
denotesNode, getPath
 

Constructor Detail

NodeInfoImpl

public NodeInfoImpl(NodeId parentId,
                    Name name,
                    Path path,
                    NodeId id,
                    int index,
                    Name primaryTypeName,
                    Name[] mixinNames,
                    Iterator references,
                    Iterator propertyIds,
                    Iterator childInfos)
Deprecated. Use #NodeInfoImpl(Name, Path, NodeId, int, Name, Name[], Iterator, Iterator) instead. The parentId is not used any more.

Creates a new node info from the given parameters.

Parameters:
parentId - the parent id.
name - the name of this item.
path - the path to this item.
id - the id of this item.
index - the index of this item.
primaryTypeName - the name of the primary node type.
mixinNames - the names of the assigned mixins.
references - the references to this node.
propertyIds - the properties of this node.
childInfos - the child infos of this node or null.

NodeInfoImpl

public NodeInfoImpl(Path path,
                    NodeId id,
                    int index,
                    Name primaryTypeName,
                    Name[] mixinNames,
                    Iterator references,
                    Iterator propertyIds,
                    Iterator childInfos)
Creates a new node info from the given parameters.

Parameters:
path - the path to this item.
id - the id of this item.
index - the index of this item.
primaryTypeName - the name of the primary node type.
mixinNames - the names of the assigned mixins.
references - the references to this node.
propertyIds - the properties of this node.
Method Detail

createSerializableNodeInfo

public static NodeInfo createSerializableNodeInfo(NodeInfo nodeInfo,
                                                  IdFactory idFactory)
Creates a new serializable NodeInfo for the given NodeInfo.

Parameters:
nodeInfo -

getId

public NodeId getId()
Returns the NodeId for the node that is based on this info object.

Specified by:
getId in interface NodeInfo
Returns:
identifier for the item that is based on this info object. the id can either be an absolute path or a uniqueID (+ relative path).
See Also:
RepositoryService.getNodeInfo(SessionInfo, NodeId)

getIndex

public int getIndex()
Index of the node.

Specified by:
getIndex in interface NodeInfo
Returns:
the index.

getNodetype

public Name getNodetype()

Specified by:
getNodetype in interface NodeInfo
Returns:
Name representing the name of the primary nodetype.

getMixins

public Name[] getMixins()

Specified by:
getMixins in interface NodeInfo
Returns:
Array of Names representing the names of mixin nodetypes. This includes only explicitly assigned mixin nodetypes. It does not include mixin types inherited through the addition of supertypes to the primary type hierarchy. If there are no mixin node types assigned an empty array will be returned.

getReferences

public PropertyId[] getReferences()

Specified by:
getReferences in interface NodeInfo
Returns:
Ids of the properties that are referencing the node based on this info object or an empty array if the node is not referenceable or no references exist.
See Also:
PropertyInfo.getId()

getPropertyIds

public Iterator getPropertyIds()

Specified by:
getPropertyIds in interface NodeInfo
Returns:
Ids of children properties
See Also:
PropertyInfo.getId()

getChildInfos

public Iterator getChildInfos()
Return the all ChildInfos of the node represent by this info, an empty iterator if that node doesn't have any child nodes or null if the implementation is not able or for some internal reasons not willing to compute the ChildInfo iterator. In the latter case the user of this API must call RepositoryService.getChildInfos(SessionInfo, NodeId) in order to determine the existence and identity of the child nodes.

Specified by:
getChildInfos in interface NodeInfo
Returns:
An iterator of ChildInfos or null if the implementation is not able or willing to compute the set of ChildInfos (e.g. an implementation may choose to return null if there is a huge amount of child nodes). In this case RepositoryService.getChildInfos(SessionInfo, NodeId) will be used to load the ChildInfos.


Copyright © 2004-2009 The Apache Software Foundation. All Rights Reserved.