Class TemplateNode

All Implemented Interfaces:
Serializable, TemplateContent, TemplateNodeRef, TemplatePermissions, TemplateProperties, NamespacePrefixResolverProvider
Direct Known Subclasses:
CategoryTemplateNode

public class TemplateNode extends BasePermissionsNode implements NamespacePrefixResolverProvider
Node class specific for use by Template pages that support Bean objects as part of the model. The default template engine FreeMarker can use these objects and they are provided to support it. A single method is completely freemarker specific - getXmlNodeModel()

The class exposes Node properties, children as dynamically populated maps and lists.

Various helper methods are provided to access common and useful node variables such as the content url and type information.

See Template_Guide

Author:
Kevin Roast
See Also:
  • Field Details

    • nodeRef

      protected NodeRef nodeRef
      Cached values
  • Constructor Details

    • TemplateNode

      public TemplateNode(NodeRef nodeRef, ServiceRegistry services, TemplateImageResolver resolver)
      Constructor
      Parameters:
      nodeRef - The NodeRef this Node wrapper represents
      services - The ServiceRegistry the TemplateNode can use to access services
      resolver - Image resolver to use to retrieve icons
  • Method Details

    • getId

      public String getId()
      Specified by:
      getId in interface TemplateNodeRef
      Returns:
      The GUID for the node
    • getStoreType

      public String getStoreType()
      Returns:
      the store type for the node
    • getStoreId

      public String getStoreId()
      Returns:
      the store id for the node
    • getNodeRef

      public NodeRef getNodeRef()
      Specified by:
      getNodeRef in interface TemplateNodeRef
      Returns:
      Returns the NodeRef this Node object represents
    • getExists

      public boolean getExists()
      Returns:
      true if this node still exists
    • getIsWorkingCopy

      public boolean getIsWorkingCopy()
      Returns:
      true if this node is a working copy
    • getType

      public QName getType()
      Specified by:
      getType in interface TemplateNodeRef
      Returns:
      Returns the type.
    • getParentTypeShort

      public String getParentTypeShort()
      Returns:
      Returns the type of the parent
    • getTypeShort

      public String getTypeShort()
      Returns:
      Returns the type in short format.
    • getName

      public String getName()
      Specified by:
      getName in interface TemplateNodeRef
      Returns:
      The display name for the node
    • getProperties

      public Map<String,Serializable> getProperties()
      Specified by:
      getProperties in interface TemplateProperties
      Returns:
      All the properties known about this node.
    • getAssocs

      public Map<String,List<TemplateNode>> getAssocs()
      Returns:
      Target associations for this Node. As a Map of assoc name to a List of TemplateNodes.
    • getAssociations

      public Map<String,List<TemplateNode>> getAssociations()
    • getSourceAssocs

      public Map<String,List<TemplateNode>> getSourceAssocs()
      Returns:
      Source associations for this Node. As a Map of assoc name to a List of TemplateNodes.
    • getSourceAssociations

      public Map<String,List<TemplateNode>> getSourceAssociations()
    • getChildAssocs

      public Map<String,List<TemplateNode>> getChildAssocs()
      Returns:
      The child associations for this Node. As a Map of assoc name to a List of TemplateNodes.
    • getChildAssociations

      public Map<String,List<TemplateNode>> getChildAssociations()
    • getChildAssocsByType

      public List<TemplateNode> getChildAssocsByType(String type)
      Returns:
      The list of children of this Node that match a specific object type.
    • getIsLocked

      public boolean getIsLocked()
      Returns:
      true if the node is currently locked
    • getIsCategory

      public boolean getIsCategory()
      Returns:
      true if the node is a Category instance
    • getParent

      public TemplateProperties getParent()
      Specified by:
      getParent in interface TemplateProperties
      Returns:
      the primary parent node
    • getPrimaryParentAssoc

      public ChildAssociationRef getPrimaryParentAssoc()
      Returns:
      the primary parent association so we can access the association QName and association type QName.
    • getVersionHistory

      public List<VersionHistoryNode> getVersionHistory()
      Returns:
      a list of objects representing the version history of this node.
      See Also:
    • getXmlNodeModel

      public freemarker.ext.dom.NodeModel getXmlNodeModel()
      Returns:
      FreeMarker NodeModel for the XML content of this node, or null if no parsable XML found
    • getChildByNamePath

      public Map getChildByNamePath()
      Returns:
      A map capable of returning the TemplateNode at the specified Path as a child of this node.
    • getChildrenByXPath

      public Map getChildrenByXPath()
      Returns:
      A map capable of returning a List of TemplateNode objects from an XPath query as children of this node.
    • getChildrenBySavedSearch

      public Map getChildrenBySavedSearch()
      Returns:
      A map capable of returning a List of TemplateNode objects from an NodeRef to a Saved Search object. The Saved Search is executed and the resulting nodes supplied as a sequence.
    • getChildrenByLuceneSearch

      public Map getChildrenByLuceneSearch()
      Returns:
      A map capable of returning a List of TemplateNode objects from an NodeRef to a Lucene search string. The Saved Search is executed and the resulting nodes supplied as a sequence.
    • getNodeByReference

      public Map getNodeByReference()
      Returns:
      A map capable of returning a TemplateNode for a single specified NodeRef reference.
    • getAuditTrail

      public List<TemplateNode.TemplateAuditInfo> getAuditTrail()
      Returns:
      a list of AuditInfo objects describing the Audit Trail for this node instance
    • getImageResolver

      public TemplateImageResolver getImageResolver()
      Returns:
      the image resolver instance used by this node
    • getShareUrl

      public String getShareUrl()
      This method returns a URL string which resolves to an Alfresco Share view of this node. Note that in order for this method to return meaningful data, the sysAdminParams bean must have been configured.

      Currently this method only produces valid URls for documents and not for folders.

      See Also:
    • getNamespacePrefixResolver

      public NamespacePrefixResolver getNamespacePrefixResolver()
      Specified by:
      getNamespacePrefixResolver in interface NamespacePrefixResolverProvider