com.uwyn.rife.cmf.dam
Interface ContentManager

All Known Implementing Classes:
DatabaseContent

public interface ContentManager

A ContentManager manages content that is stored in a back-end data store.

Content is isolated in repositories that should have unique names. The installation of a content manager creates an initial default repository. If others are needed, they have to be created explicitly.

All content is identified by a unique location. The location is formatted like this:

repository:path

If the repository: prefix is omitted, the content will be stored in the default repository (see ContentRepository.DEFAULT).

The path should start with a slash that makes it 'absolute', this is completely analogue to file system paths.

Since:
1.0
Version:
$Revision: 3634 $
Author:
Geert Bevin (gbevin[remove] at uwyn dot com)i

Method Summary
 boolean containsRepository(String name)
          Checks if the content manager contains a certain repository.
 boolean createRepository(String name)
          Creates a new repository.
 boolean deleteContent(String location)
          Delete the content at a certain location.
 String getContentForHtml(String location, ElementSupport element, String serveContentExitName)
          Retrieves a content representation for use in html.
 ContentInfo getContentInfo(String location)
          Retrieves the content info from a certain location.
 boolean hasContentData(String location)
          Checks whether content data is available at a certain location.
 boolean install()
          Installs a content manager.
 boolean remove()
          Removes a content manager.
 void serveContentData(ElementSupport element, String location)
          Serves content data from a certain location through the provided element.
 boolean storeContent(String location, Content content, ContentTransformer transformer)
          Store content at a certain location.
<ResultType>
ResultType
useContentData(String location, ContentDataUser user)
          Use the data of content at a certain location.
 

Method Detail

install

boolean install()
                throws ContentManagerException
Installs a content manager.

Returns:
true if the installation was successful; or

false if it wasn't.

Throws:
ContentManagerException - if an unexpected error occurred
Since:
1.0

remove

boolean remove()
               throws ContentManagerException
Removes a content manager.

Returns:
true if the removal was successful; or

false if it wasn't.

Throws:
ContentManagerException - if an unexpected error occurred
Since:
1.0

createRepository

boolean createRepository(String name)
                         throws ContentManagerException
Creates a new repository.

Parameters:
name - the name of the repository to create
Returns:
true if the creation was successful; or

false if it wasn't.

Throws:
ContentManagerException - if an unexpected error occurred
Since:
1.0

containsRepository

boolean containsRepository(String name)
                           throws ContentManagerException
Checks if the content manager contains a certain repository.

Parameters:
name - the name of the repository to check
Returns:
true if the repository exists; or

false if it doesn't.

Throws:
ContentManagerException - if an unexpected error occurred
Since:
1.4

storeContent

boolean storeContent(String location,
                     Content content,
                     ContentTransformer transformer)
                     throws ContentManagerException
Store content at a certain location.

If content is already present at this location, the new content will become the current version and the old content remains available as an older version.

Parameters:
location - the location where the content has to be stored.
content - the content that has to be stored
transformer - a transformer that will modify the content data; or

null if the content data should stay intact

Returns:
true if the storing was successfully; or

false if it wasn't.

Throws:
ContentManagerException - if an unexpected error occurred
Since:
1.0

deleteContent

boolean deleteContent(String location)
                      throws ContentManagerException
Delete the content at a certain location.

This will delete all versions of the content at that location.

Parameters:
location - the location where the content has to be deleted
Returns:
true if the deletion was successfully; or

false if it wasn't.

Throws:
ContentManagerException - if an unexpected error occurred
Since:
1.0

useContentData

<ResultType> ResultType useContentData(String location,
                                       ContentDataUser user)
                          throws ContentManagerException
Use the data of content at a certain location.

Some content data will only be available during this method call due to their volatile nature (certain streams for instance). Therefore, one has to be careful when trying to move the data that is provided to the content user outside this method. The behaviour is undefined.

Parameters:
location - the location whose content will be used
user - the content user instance that will be called to use content data
Returns:
the data that the ContentDataUser.useContentData(Object) returns after its usage
Throws:
ContentManagerException - if an unexpected error occurred
Since:
1.0

hasContentData

boolean hasContentData(String location)
                       throws ContentManagerException
Checks whether content data is available at a certain location.

Parameters:
location - the location that has to be checked
Returns:
true if content data is available; or

false if it isn't.

Throws:
ContentManagerException - if an expected error occurred
Since:
1.0

getContentInfo

ContentInfo getContentInfo(String location)
                           throws ContentManagerException
Retrieves the content info from a certain location.

Parameters:
location - the location whose content info has to be retrieved
Returns:
an instance of ContentInfo; or

null if no content is present at the location

Throws:
ContentManagerException - if an expected error occurred
Since:
1.0

serveContentData

void serveContentData(ElementSupport element,
                      String location)
                      throws ContentManagerException
Serves content data from a certain location through the provided element.

This is intended to take over the complete handling of the request, so no other content should be output and no headers manipulated in the element if this method is called.

Parameters:
element - an active element instance
location - the location whose content data has to be served
Throws:
ContentManagerException - if an expected error occurred
Since:
1.0

getContentForHtml

String getContentForHtml(String location,
                         ElementSupport element,
                         String serveContentExitName)
                         throws ContentManagerException
Retrieves a content representation for use in html.

This is mainly used to integrate content data inside a html document. For instance, html content will be displayed as-is, while image content will cause an image tag to be generated with the correct source URL to serve the image.

Parameters:
location - the location whose content will be displayed
element - an active element instance
serveContentExitName - the exit namet that leads to a ServeContent element. This will be used to generate URLs for content that can't be directly displayed in-line.
Throws:
ContentManagerException - if an expected error occurred
Since:
1.0


Copyright © 2001-2007 Uwyn sprl/bvba. All Rights Reserved.