public interface ContentElement extends Adaptable, Versionable
Implementations of this interface allow accessing elements of a content fragment in a way agnostic to the underlying data structures.
Each content element consists of a set of 0..n variations, the element's content being kind of a "master" variation all other variations derive from.
A content element is defined to consist of textual content. The
ContentFragment interface is agnostic to a specific MIME type, so it's up to
the implementation to decide when and how to transform the text to a format that's
suitable for output.
Transactional behavior: The caller is responsible for committing the respective
ResourceResolver after calling one or more
methods that change a content element unless specified otherwise.
| Modifier and Type | Method and Description |
|---|---|
ContentVariation |
createVariation(VariationTemplate template)
Creates a new variation of the element from the specified template.
|
java.lang.String |
getContent()
Gets the content of the content element.
|
java.lang.String |
getContentType()
Gets the MIME type of the content element.
|
java.lang.String |
getName()
Gets the (technical) name of the content element.
|
ContentVariation |
getResolvedVariation(java.lang.String variationName)
Gets the resolved variation for the given name.
|
java.lang.String |
getTitle()
Gets the (human-readable) title of the content element.
|
ContentVariation |
getVariation(java.lang.String variationName)
Gets the variation of the given name.
|
java.util.Iterator<ContentVariation> |
getVariations()
Gets an iterator on the currently available variations of the element.
|
void |
removeVariation(ContentVariation variation)
Removes the specified variation.
|
void |
setContent(java.lang.String content,
java.lang.String contentType)
Sets the content of the content element.
|
createVersion, getVersionedContent, listVersionsjava.util.Iterator<ContentVariation> getVariations()
ContentVariation getVariation(java.lang.String variationName)
variationName - The name of the variationnull if no variation of the given name existsContentVariation createVariation(VariationTemplate template) throws ContentFragmentException
The initial content of the new variation must be a copy of the current element content.
If the method is called multiple times with the same template, two different variations have to created (with different names/identifiers).
The specified template should be part of a FragmentTemplate.
template - The templateContentFragmentException - if the variation could not be createdvoid removeVariation(ContentVariation variation) throws ContentFragmentException
If the specified variation is not a member of the element, a
IllegalArgumentException has to be thrown.
variation - The variation to removeContentFragmentException - if the variation could not be removed on the
persistence leveljava.lang.IllegalArgumentException - if the specified variation is not part of this
elementContentVariation getResolvedVariation(java.lang.String variationName)
The method must be able to handle names that do not refer to actually existing variations. Instead, it has to handle this case in a well defined manner - usually by falling back to another, actually existing variation or to the element's default content.
From a client's perspective, this method should be used to determine content in any kind of "publishing context" - be it in the page authoring context or some other context that prepares the final content to be presented to the user.
How the resolution is eventually done is an implementation detail.
variationName - The name of the variation; may be null (which
will return null to signal that default content
has to be used)null if there's no suitable variation
and the element's default content has to be usedjava.lang.String getName()
Gets the (technical) name of the content element.
java.lang.String getTitle()
java.lang.String getContent()
Gets the content of the content element.
java.lang.String getContentType()
void setContent(java.lang.String content,
java.lang.String contentType)
throws ContentFragmentException
Sets the content of the content element.
The specified content & its MIME type must be textual. What MIME types are eventually supported is left to the implementation.
content - The new content of the content elementContentFragmentException - if the content could not be writtenjava.lang.IllegalArgumentException - if the specified MIME type is not supported or not
a textual MIME type"Copyright © 2010 - 2018 Adobe Systems Incorporated. All Rights Reserved"