com.atlassian.confluence.content
Class ContentEntityAdapterParent

java.lang.Object
  extended by com.atlassian.confluence.content.ContentEntityAdapterParent
All Implemented Interfaces:
ContentEntityAdapter
Direct Known Subclasses:
ContentPropertyEntityAdapter, DummyAvailableContentEntityAdapter, DummyCurrentVersionContentEntityAdapter, DummyOriginalVersionContentEntityAdapter, DummyUnavailableContentEntityAdapter, MailContentEntityAdapter

public class ContentEntityAdapterParent
extends Object
implements ContentEntityAdapter

Default implementation of ContentEntityAdapter. Plugins should extend this class instead of implementing the interface directly so as not to be broken by changes to the interface.


Constructor Summary
ContentEntityAdapterParent()
           
 
Method Summary
 com.atlassian.fugue.Option<String> getAttachmentsUrlPath(CustomContentEntityObject pluginContentEntityObject)
          Return the URL path to view the list of attachments on the content
 com.atlassian.fugue.Option<String> getAttachmentUrlPath(CustomContentEntityObject pluginContentEntityObject, Attachment attachment)
          Return the URL path to view the a particular attachment of the content
 BodyType getDefaultBodyType(CustomContentEntityObject pluginContentEntityObject)
          Get the default type for BodyContent objects attached to this content.
 com.atlassian.fugue.Option<String> getDisplayTitle(CustomContentEntityObject pluginContentEntityObject)
          Gets the display-friendly title for the content.
 com.atlassian.fugue.Option<String> getExcerpt(CustomContentEntityObject pluginContentEntityObject)
          Get a text-only summary of the content that is suitable for use in activity streams, search results and other places where a short placeholder for the content is necessary.
 com.atlassian.fugue.Option<String> getNameForComparison(CustomContentEntityObject pluginContentEntityObject)
          Return the sorting-friendly title for the content, if the content is to be sorted in alphabetical order.
 com.atlassian.fugue.Option<String> getUrlPath(CustomContentEntityObject pluginContentEntityObject)
          Gets the URL string (relative to the Confluence application context) at which this content can be viewed.
 VersionChildOwnerPolicy getVersionChildPolicy(ContentType contentType)
          This will be called by Versioned.getVersionChildPolicy(com.atlassian.confluence.api.model.content.ContentType) to determine the policy to be used when saving the CCEO.
 boolean isAllowedContainer(ContentEntityObject child, ContentEntityObject container)
          Determine if a particular content is an acceptable container for a particular child.
 boolean isAllowedParent(CustomContentEntityObject child, CustomContentEntityObject parent)
          Determine if a particular content is an acceptable parent for this content.
 boolean isIndexable(CustomContentEntityObject pluginContentEntityObject, boolean isDefaultIndexable)
          Determine if a particular content should be indexed.
 boolean shouldConvertToContent(CustomContentEntityObject pluginContentEntityObject)
          Determine if a particular content is going to be part of the core API.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ContentEntityAdapterParent

public ContentEntityAdapterParent()
Method Detail

getUrlPath

public com.atlassian.fugue.Option<String> getUrlPath(CustomContentEntityObject pluginContentEntityObject)
Description copied from interface: ContentEntityAdapter
Gets the URL string (relative to the Confluence application context) at which this content can be viewed.

Specified by:
getUrlPath in interface ContentEntityAdapter
Parameters:
pluginContentEntityObject - the content to be viewed
Returns:
the relative URL path to that content, or none to use to the default

getDisplayTitle

public com.atlassian.fugue.Option<String> getDisplayTitle(CustomContentEntityObject pluginContentEntityObject)
Description copied from interface: ContentEntityAdapter
Gets the display-friendly title for the content. For example, a Comment does not have a title of its own, but where the UI needs to display the title of a comment, it uses "Re: Title Of Page Being Commented On".

Specified by:
getDisplayTitle in interface ContentEntityAdapter
Parameters:
pluginContentEntityObject - the content to calculate the display title for
Returns:
the display title of that content, or none to use to the default

getNameForComparison

public com.atlassian.fugue.Option<String> getNameForComparison(CustomContentEntityObject pluginContentEntityObject)
Description copied from interface: ContentEntityAdapter
Return the sorting-friendly title for the content, if the content is to be sorted in alphabetical order.

Specified by:
getNameForComparison in interface ContentEntityAdapter
Parameters:
pluginContentEntityObject - the content to calculate the sorting title for
Returns:
the sorting title of that content, or none to use to the default

getAttachmentsUrlPath

public com.atlassian.fugue.Option<String> getAttachmentsUrlPath(CustomContentEntityObject pluginContentEntityObject)
Description copied from interface: ContentEntityAdapter
Return the URL path to view the list of attachments on the content

Specified by:
getAttachmentsUrlPath in interface ContentEntityAdapter
Parameters:
pluginContentEntityObject - the content to view attachments for
Returns:
the URL path to view attachments on the content, or none to use to the default

getAttachmentUrlPath

public com.atlassian.fugue.Option<String> getAttachmentUrlPath(CustomContentEntityObject pluginContentEntityObject,
                                                               Attachment attachment)
Description copied from interface: ContentEntityAdapter
Return the URL path to view the a particular attachment of the content

Specified by:
getAttachmentUrlPath in interface ContentEntityAdapter
Parameters:
pluginContentEntityObject - the content to view attachments for
attachment - the attachment to link to
Returns:
the URL path to view attachments on the content, or none to use to the default

getDefaultBodyType

public BodyType getDefaultBodyType(CustomContentEntityObject pluginContentEntityObject)
Description copied from interface: ContentEntityAdapter
Get the default type for BodyContent objects attached to this content.

Specified by:
getDefaultBodyType in interface ContentEntityAdapter
Parameters:
pluginContentEntityObject - the content to get the body type of
Returns:
the default BodyType for that content

getExcerpt

public com.atlassian.fugue.Option<String> getExcerpt(CustomContentEntityObject pluginContentEntityObject)
Description copied from interface: ContentEntityAdapter
Get a text-only summary of the content that is suitable for use in activity streams, search results and other places where a short placeholder for the content is necessary. The default implementation takes the first 255 characters of the content's main body with most markup characters removed.

Specified by:
getExcerpt in interface ContentEntityAdapter
Parameters:
pluginContentEntityObject - the content to excerpt
Returns:
the excerpt for that content, or none to use the default

isAllowedParent

public boolean isAllowedParent(CustomContentEntityObject child,
                               CustomContentEntityObject parent)
Description copied from interface: ContentEntityAdapter
Determine if a particular content is an acceptable parent for this content. The content object will ensure that there are no loops in the parent/child chain, and that the parent is in the same space as the child (if any), so implementations do not need to check that.

Parent and child are required to be CustomContentEntityObjects. Typically this should be used if CustomContentEntityObject.getPluginModuleKey() returns the same value for both objects.

Specified by:
isAllowedParent in interface ContentEntityAdapter
See Also:
ContentEntityAdapter.isAllowedContainer(ContentEntityObject, ContentEntityObject)

isAllowedContainer

public boolean isAllowedContainer(ContentEntityObject child,
                                  ContentEntityObject container)
Description copied from interface: ContentEntityAdapter
Determine if a particular content is an acceptable container for a particular child. The content object will ensure that there are no loops in the container/child chain, and that the container is in the same space as the child (if any), so implementations do not need to check that.

Will be invoked for the child adapter and the container adapter, if applicable.

Only one of container or child are required to be CustomContentEntityObjects. If both types are CustomContentEntityObjects, this must only be used if CustomContentEntityObject.getPluginModuleKey() also returns distinct values for both objects.

Specified by:
isAllowedContainer in interface ContentEntityAdapter
See Also:
ContentEntityAdapter.isAllowedParent(CustomContentEntityObject, CustomContentEntityObject)

isIndexable

public boolean isIndexable(CustomContentEntityObject pluginContentEntityObject,
                           boolean isDefaultIndexable)
Description copied from interface: ContentEntityAdapter
Determine if a particular content should be indexed. The isDefaultIndexable parameter will contain the value of super.isIndexable(), so the plugin may choose to follow or override the standard reasons not to index SpaceContentEntityObject (trashed content, content that is not in a space, content that is an old version are all not indexed by default)

Specified by:
isIndexable in interface ContentEntityAdapter
Parameters:
pluginContentEntityObject - the entity to check
isDefaultIndexable - if the entity would be indexed absent of this check.

shouldConvertToContent

public boolean shouldConvertToContent(CustomContentEntityObject pluginContentEntityObject)
Description copied from interface: ContentEntityAdapter
Determine if a particular content is going to be part of the core API. Defaults to true.

Specified by:
shouldConvertToContent in interface ContentEntityAdapter
Parameters:
pluginContentEntityObject - the entity to check

getVersionChildPolicy

public VersionChildOwnerPolicy getVersionChildPolicy(ContentType contentType)
Description copied from interface: ContentEntityAdapter
This will be called by Versioned.getVersionChildPolicy(com.atlassian.confluence.api.model.content.ContentType) to determine the policy to be used when saving the CCEO.

Specified by:
getVersionChildPolicy in interface ContentEntityAdapter
See Also:
VersionChildOwnerPolicy


Copyright © 2003–2015 Atlassian. All rights reserved.