org.olat.ims.cp.objects
Class CPItem

java.lang.Object
  extended by org.dom4j.tree.AbstractNode
      extended by org.dom4j.tree.AbstractBranch
          extended by org.dom4j.tree.AbstractElement
              extended by org.dom4j.tree.DefaultElement
                  extended by org.olat.ims.cp.objects.CPItem
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, org.dom4j.Branch, org.dom4j.Element, org.dom4j.Node, CPNode

public class CPItem
extends org.dom4j.tree.DefaultElement
implements CPNode

Description:
This class represents an item-element of a IMS-manifest-file

Initial Date: 26.06.2008

Author:
Sergio Trentini
See Also:
Serialized Form

Field Summary
 
Fields inherited from interface org.dom4j.Node
ANY_NODE, ATTRIBUTE_NODE, CDATA_SECTION_NODE, COMMENT_NODE, DOCUMENT_NODE, DOCUMENT_TYPE_NODE, ELEMENT_NODE, ENTITY_REFERENCE_NODE, MAX_NODE_TYPE, NAMESPACE_NODE, PROCESSING_INSTRUCTION_NODE, TEXT_NODE, UNKNOWN_NODE
 
Constructor Summary
CPItem()
           
CPItem(org.dom4j.tree.DefaultElement me, org.dom4j.tree.DefaultElement parent)
          constructor is needed while building the datamodel-tree (parsing XML)
CPItem(java.lang.String identifier)
          Constructor is needed when generating a new Item (e.g.
 
Method Summary
 void addItem(CPItem newItem)
          adds a new CPItem to the childrens-list of this item (inserts at the end)
 void addItemAt(CPItem newItem, int index)
          adds a new CPItem to the childrens-list of this item at position index
 void buildChildren()
          traverses XML-nodes and builds children-objects this function is invoked while the CP is instantiating (parsing-process of the manifest-file)
 void buildDocument(org.dom4j.tree.DefaultElement parent)
          generates a DefaultElement with all its Attributes and children, and adds it to parent This Function is needed to build the DefaultDocument of the ContentPackage
 java.lang.Object clone()
           
 java.util.Vector<CPItem> getAllItems()
          returns a Vector which holds all the children and its subchildren etc.
 org.dom4j.tree.DefaultElement getElementByIdentifier(java.lang.String id)
           
 CPItem getFirstItemWithResource()
          searches for the first item with a linked resource (identifierRef id not "") within the children items of this element if this element itself has a referenced resource, this item is returned if no resource is found, null is returned
 java.lang.String getIdentifier()
           
 java.lang.String getIdentifierRef()
           
 CPItem getItemByID(java.lang.String id)
          Returns the Item with the specified identifier Returns null if Item is not found
 java.util.List<java.lang.String> getItemIdentifiers()
           
 java.util.Iterator<CPItem> getItemIterator()
           
 java.util.Vector<CPItem> getItems()
           
 CPMetadata getMetadata()
           
 org.dom4j.tree.DefaultElement getParentElement()
           
 int getPosition()
           
 java.lang.String getTitle()
           
 boolean isVisible()
          Returns true, if item is visible
 java.lang.String isVisibleString()
          return "true" if item is visible "false" otherwise
 void removeChild(java.lang.String id)
          removes a child
 void removeFromManifest()
          removes this item from the manifest
 void setIdentifier(java.lang.String identifier)
           
 void setIdentifierRef(java.lang.String identifierRef)
           
 void setMetadata(CPMetadata md)
           
 void setNewUniqueID()
          generates a new system-unique identifier and sets it
 void setNewUniqueIDrev()
          Deprecated.  
 void setParentElement(org.dom4j.tree.DefaultElement parent)
           
 void setPosition(int position)
           
 void setTitle(java.lang.String title)
           
 void setVisible(boolean visible)
           
 boolean validateElement()
          checks whether required attributes are set, and whether required child-elements are present
 
Methods inherited from class org.dom4j.tree.DefaultElement
add, additionalNamespaces, additionalNamespaces, attribute, attribute, attribute, attribute, attributeCount, attributeIterator, attributes, clearContent, declaredNamespaces, element, element, element, getDocument, getNamespaceForPrefix, getNamespaceForURI, getParent, getQName, getStringValue, getText, indexOf, node, nodeCount, nodeIterator, processingInstruction, processingInstructions, processingInstructions, remove, removeProcessingInstruction, setAttributes, setContent, setDocument, setParent, setQName, supportsParent
 
Methods inherited from class org.dom4j.tree.AbstractElement
accept, add, add, add, add, add, add, add, add, addAttribute, addAttribute, addCDATA, addComment, addElement, addEntity, addNamespace, addProcessingInstruction, addProcessingInstruction, addText, appendAttributes, asXML, attributeValue, attributeValue, attributeValue, attributeValue, createCopy, createCopy, createCopy, elementIterator, elementIterator, elementIterator, elementIterator, elements, elements, elements, elements, elementText, elementText, elementTextTrim, elementTextTrim, ensureAttributesCapacity, getData, getName, getNamespace, getNamespacePrefix, getNamespacesForURI, getNamespaceURI, getNodeType, getPath, getQName, getQualifiedName, getUniquePath, getXPathNameStep, getXPathResult, hasMixedContent, isRootElement, isTextOnly, normalize, remove, remove, remove, remove, remove, remove, remove, remove, setAttributes, setAttributeValue, setAttributeValue, setData, setName, setNamespace, setText, toString, write
 
Methods inherited from class org.dom4j.tree.AbstractBranch
addElement, addElement, addElement, appendContent, content, elementByID, getTextTrim, hasContent, isReadOnly, setProcessingInstructions
 
Methods inherited from class org.dom4j.tree.AbstractNode
asXPathResult, createPattern, createXPath, createXPathFilter, detach, getNodeTypeName, getPath, getUniquePath, matches, numberValueOf, selectNodes, selectNodes, selectNodes, selectObject, selectSingleNode, valueOf
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.dom4j.Element
getTextTrim
 
Methods inherited from interface org.dom4j.Branch
addElement, addElement, appendContent, content, elementByID, setProcessingInstructions
 
Methods inherited from interface org.dom4j.Node
asXPathResult, createXPath, detach, getNodeTypeName, getPath, getUniquePath, hasContent, isReadOnly, matches, numberValueOf, selectNodes, selectNodes, selectNodes, selectObject, selectSingleNode, valueOf
 

Constructor Detail

CPItem

public CPItem(org.dom4j.tree.DefaultElement me,
              org.dom4j.tree.DefaultElement parent)
constructor is needed while building the datamodel-tree (parsing XML)

Parameters:
me -

CPItem

public CPItem(java.lang.String identifier)
Constructor is needed when generating a new Item (e.g. adding a new Item to the CP)


CPItem

public CPItem()
Method Detail

buildChildren

public void buildChildren()
Description copied from interface: CPNode
traverses XML-nodes and builds children-objects this function is invoked while the CP is instantiating (parsing-process of the manifest-file)

Specified by:
buildChildren in interface CPNode
See Also:
CPNode.buildChildren()

validateElement

public boolean validateElement()
Description copied from interface: CPNode
checks whether required attributes are set, and whether required child-elements are present

Specified by:
validateElement in interface CPNode
See Also:
CPNode.validateElement()

buildDocument

public void buildDocument(org.dom4j.tree.DefaultElement parent)
Description copied from interface: CPNode
generates a DefaultElement with all its Attributes and children, and adds it to parent This Function is needed to build the DefaultDocument of the ContentPackage

Specified by:
buildDocument in interface CPNode
See Also:
org.olat.ims.cp.objects.CPNode#getXML(java.lang.StringBuilder)

addItem

public void addItem(CPItem newItem)
adds a new CPItem to the childrens-list of this item (inserts at the end)

Parameters:
newItem - the new CPItem to add

addItemAt

public void addItemAt(CPItem newItem,
                      int index)
adds a new CPItem to the childrens-list of this item at position index

Parameters:
newItem - the new CPItem to add
index - position

removeFromManifest

public void removeFromManifest()
removes this item from the manifest


removeChild

public void removeChild(java.lang.String id)
removes a child


clone

public java.lang.Object clone()
Specified by:
clone in interface org.dom4j.Node
Overrides:
clone in class org.dom4j.tree.DefaultElement
See Also:
DefaultElement.clone()

isVisible

public boolean isVisible()
Returns true, if item is visible

Returns:
boolean

isVisibleString

public java.lang.String isVisibleString()
return "true" if item is visible "false" otherwise

Returns:

getItemByID

public CPItem getItemByID(java.lang.String id)
Returns the Item with the specified identifier Returns null if Item is not found

Parameters:
identifier - id
Returns:
CPItem or null

getElementByIdentifier

public org.dom4j.tree.DefaultElement getElementByIdentifier(java.lang.String id)
Specified by:
getElementByIdentifier in interface CPNode
Returns:
See Also:
CPNode.getElementByIdentifier(java.lang.String)

getTitle

public java.lang.String getTitle()

getIdentifier

public java.lang.String getIdentifier()

getIdentifierRef

public java.lang.String getIdentifierRef()

getPosition

public int getPosition()
Specified by:
getPosition in interface CPNode
Returns:
Returns the position of this Element

getFirstItemWithResource

public CPItem getFirstItemWithResource()
searches for the first item with a linked resource (identifierRef id not "") within the children items of this element if this element itself has a referenced resource, this item is returned if no resource is found, null is returned

Returns:

getParentElement

public org.dom4j.tree.DefaultElement getParentElement()

getMetadata

public CPMetadata getMetadata()

getItems

public java.util.Vector<CPItem> getItems()

getItemIdentifiers

public java.util.List<java.lang.String> getItemIdentifiers()

getAllItems

public java.util.Vector<CPItem> getAllItems()
returns a Vector which holds all the children and its subchildren etc.

Returns:

getItemIterator

public java.util.Iterator<CPItem> getItemIterator()

setTitle

public void setTitle(java.lang.String title)

setIdentifier

public void setIdentifier(java.lang.String identifier)

setIdentifierRef

public void setIdentifierRef(java.lang.String identifierRef)

setVisible

public void setVisible(boolean visible)

setPosition

public void setPosition(int position)
Specified by:
setPosition in interface CPNode

setParentElement

public void setParentElement(org.dom4j.tree.DefaultElement parent)

setMetadata

public void setMetadata(CPMetadata md)

setNewUniqueID

public void setNewUniqueID()
generates a new system-unique identifier and sets it


setNewUniqueIDrev

public void setNewUniqueIDrev()
Deprecated. 

generates new system-unique ids for this element and all it's children