com.sapportals.wcm.protocol.ice.protocol

Class ICEItemRef

java.lang.Object
  extended by com.sapportals.wcm.protocol.ice.protocol.ICEItemBase
      extended by com.sapportals.wcm.protocol.ice.protocol.ICEItemRef
All Implemented Interfaces:
IICEElementHandler, IICEElement, IDOMStorable

public class ICEItemRef
extends ICEItemBase
implements IICEElementHandler, IDOMStorable

ICEItemRef represents an ice-item-ref element inside an ice-package. An ICEItemRef is send whenever the content cannot be transfered within the ice-package itself (either because it is too big or because it comes from a streaming server).

Detailed information about the ICE package structur could be found in the ICE 1.1 specification section 5.2 , the ice-item-ref element is described in section 5.2.2.3 . ice-item-ref format

 <!ENTITY % attlist.item "
           activation            CDATA           #IMPLIED
           expiration            CDATA           #IMPLIED
           content-filename      CDATA           #IMPLIED
           content-transfer-encoding   (base64 | x-native-xml)
                                                'x-native-xml'
           content-type          CDATA          'application/octet-stream'
           ip-status             CDATA           #IMPLIED
           xml:lang              CDATA           #IMPLIED
           license               CDATA           #IMPLIED
           rights-holder         CDATA           #IMPLIED
           show-credit           CDATA           #IMPLIED
           subscription-element  CDATA           #IMPLIED
 ">
 <!ENTITY % cm.item-ref "(ice-access)*" >
 <!ELEMENT ice-item-ref         %cm.item-ref;             >
 <!ATTLIST ice-item-ref         %attlist.item;
           url                   CDATA  #REQUIRED
           ice-element           CDATA  #FIXED 'ice-item-ref'
 >

See Also:

Copyright 2004 SAP AG


Field Summary
static String CID_ITEM_REF
           
static String TAGNAME
           
 
Constructor Summary
ICEItemRef(Attributes attributes)
          Create a new ICE item reference.
ICEItemRef(Element element)
          Create an ICEItemRef object from a DOM-element.
ICEItemRef(String configId)
           
ICEItemRef(String url, String subscriptionElement, String contentFilename, String contentType)
          Create a new ICE item reference.
 
Method Summary
 void addAccess(ICEAccess access)
          Add an access rule.
 void deleteConfig(com.sapportals.config.fwk.IConfigPlugin icePlugin)
           
 boolean endElement(String name)
          Receive notification of the end of an element.
 List getAccess()
          Get the list of rule to access the content of the item.
 String getConfigId()
          Gets the identifier of the configurable which stores the configuration of item ref.
 String getContentFilename()
          Get the relative filename of the ICE item.
 String getContentType()
          Get the mime type of the content.
 String getSubscriptionElement()
          Get the persistent identifier of the item in the subscription context that should be added or modified.
 String getUrl()
          Get the url of the item content this element refers to.
 void saveConfig(com.sapportals.config.fwk.IConfigPlugin icePlugin)
           
 IICECharacterHandler startElement(String name, Attributes attributes, PreparsedXML input)
          Receive notification of the beginning of an element.
 Node store(Document document)
          Store the informations into a DOM.
 String toString()
          Returns a string representation of this item reference.
 void write(ContentHandler handler)
          Write the XML representation of the ICE element to a SAX ContentHandler.
 boolean writeChunk(ContentHandler handler)
          Write a chunk of XML to a SAX ContentHandler.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

TAGNAME

public static final String TAGNAME
See Also:
Constant Field Values

CID_ITEM_REF

public static final String CID_ITEM_REF
See Also:
Constant Field Values
Constructor Detail

ICEItemRef

public ICEItemRef(String url,
                  String subscriptionElement,
                  String contentFilename,
                  String contentType)
Create a new ICE item reference.

Parameters:
url - The url of the item content this element refers to
subscriptionElement - The id of the item in the subscription context (might be null)
contentFilename - The filename of the content (might be null)
contentType - The type of the content (mime-type)

ICEItemRef

public ICEItemRef(Attributes attributes)
Create a new ICE item reference. This constructor is used by ICEInput to decode an ICE item reference from an ICE payload

Parameters:
attributes - The attributes of the ice-item-ref tag

ICEItemRef

public ICEItemRef(Element element)
Create an ICEItemRef object from a DOM-element.

Parameters:
element - @todo: Description of the incoming method parameter

ICEItemRef

public ICEItemRef(String configId)
           throws com.sapportals.config.fwk.InitialConfigException,
                  com.sapportals.config.fwk.CannotAccessConfigException
Throws:
com.sapportals.config.fwk.InitialConfigException
com.sapportals.config.fwk.CannotAccessConfigException
Method Detail

getUrl

public String getUrl()
Get the url of the item content this element refers to.

Returns:
The url of the item content

getContentType

public String getContentType()
Get the mime type of the content.

Returns:
The mime type of the content

getContentFilename

public String getContentFilename()
Get the relative filename of the ICE item.

Returns:
The relative filename of the ICE item or null

getSubscriptionElement

public String getSubscriptionElement()
Get the persistent identifier of the item in the subscription context that should be added or modified.

Returns:
The persistent identifier of the item in the subscription context.

getAccess

public List getAccess()
Get the list of rule to access the content of the item.

Returns:
A list of ICEAccess objects defining the access rules

addAccess

public void addAccess(ICEAccess access)
Add an access rule.

Parameters:
access - The access rule to be added

startElement

public IICECharacterHandler startElement(String name,
                                         Attributes attributes,
                                         PreparsedXML input)
                                  throws SAXException
Receive notification of the beginning of an element. ICEInput invokes this method upon a start element event from the underlying SAX parser.

Specified by:
startElement in interface IICEElementHandler
Parameters:
name - The local name of the XML element (we don't need namespaces at this point)
input - The preparsed XML stream to get the element content
attributes - @todo: Description of the incoming method parameter
Returns:
An IICECharacterHandler to receive the character events from the SAX parser or null if the character events could be ignored
Throws:
SAXException - on error (might wrap another exception)

endElement

public boolean endElement(String name)
                   throws SAXException
Receive notification of the end of an element. ICEInput invokes this method upon an end element event from the underlying SAX parser.

Specified by:
endElement in interface IICEElementHandler
Parameters:
name - The local name of the XML element (we don't need namespaces at this point)
Returns:
true if this handler should still receive SAX element events, false if this handler isn't interested in the following SAX element events
Throws:
SAXException - on error (might wrap another exception)

write

public void write(ContentHandler handler)
           throws SAXException
Write the XML representation of the ICE element to a SAX ContentHandler. This method is used by ICEOutput to create an ICE payload.

Specified by:
write in interface IICEElement
Parameters:
handler - The SAX ContentHandler (usually a XMLSerializer)
Throws:
SAXException - on error (might wrap another exception)

writeChunk

public boolean writeChunk(ContentHandler handler)
                   throws SAXException
Write a chunk of XML to a SAX ContentHandler. This method is used by ICEOutput to write an ICE payload in chunked mode.

Specified by:
writeChunk in interface IICEElement
Parameters:
handler - The SAX ContentHandler (usually a XMLSerializer)
Returns:
true if there are more chunks in the queue
Throws:
SAXException - on error (might wrap another exception)

store

public Node store(Document document)
Store the informations into a DOM.

Specified by:
store in interface IDOMStorable
Parameters:
document - The DOM document that should be used as factory for the DOM elements
Returns:
A Node containing the informations of the configuration object (this might be the document element of the XML that is eventually written to the repository)

saveConfig

public void saveConfig(com.sapportals.config.fwk.IConfigPlugin icePlugin)
                throws com.sapportals.config.fwk.ConfigException
Throws:
com.sapportals.config.fwk.ConfigException

deleteConfig

public void deleteConfig(com.sapportals.config.fwk.IConfigPlugin icePlugin)
                  throws com.sapportals.config.fwk.ConfigException
Throws:
com.sapportals.config.fwk.ConfigException

getConfigId

public String getConfigId()
Gets the identifier of the configurable which stores the configuration of item ref.

Returns:
the identifier of the configurable

toString

public String toString()
Returns a string representation of this item reference.

Overrides:
toString in class Object
Returns:
a string representation of this item reference
Access Rights

This class can be accessed from:


SC DC Public Part ACH
[sap.com] KMC-WPC [sap.com] tc/kmc/wpc/wpcfacade api EP-PIN-WPC-WCM
[sap.com] KMC-CM [sap.com] tc/km/frwk api EP-KM-CM


Copyright 2011 SAP AG Complete Copyright Notice