atg.adapter.secure
Class GenericSecuredMutableContentItem

java.lang.Object
  extended by atg.security.GenericSecuredObject
      extended by atg.adapter.secure.SecuredRepositoryObject
          extended by atg.adapter.secure.GenericSecuredRepositoryItem
              extended by atg.adapter.secure.GenericSecuredMutableRepositoryItem
                  extended by atg.adapter.secure.GenericSecuredMutableContentItem
All Implemented Interfaces:
ContentRepositoryItem, FolderItem, DisplayableItem, MutableRepositoryItem, RepositoryItem, SecuredMutableRepositoryItem, SecuredRepositoryItem, SecuredObject

public class GenericSecuredMutableContentItem
extends GenericSecuredMutableRepositoryItem
implements ContentRepositoryItem

A class which can be used to wrap a GSAContentItem because it implements all appropriate interfaces (FolderItem, ContentRepositoryItem, MutableRepositoryItem)


Field Summary
static java.lang.String CLASS_VERSION
           
 
Fields inherited from class atg.adapter.secure.GenericSecuredRepositoryItem
ITEM_RIGHTS, ITEM_RIGHTS_MAP, mPolicy, mPropertyObjects
 
Fields inherited from class atg.adapter.secure.SecuredRepositoryObject
mDescriptor, mItem, mMutableItem, mRepository
 
Fields inherited from class atg.security.GenericSecuredObject
mAcl, mOwner, mSecurityContext
 
Constructor Summary
GenericSecuredMutableContentItem(GenericSecuredMutableContentRepository pRepository, MutableRepositoryItem pItem)
          Wraps a repository item with a secured repository item.
GenericSecuredMutableContentItem(GenericSecuredMutableRepository pRepository, ContentRepositoryItem pItem)
          Wraps a repository item with a secured repository item.
 
Method Summary
 java.lang.String[] getAncestorFolderIds()
          Returns an array of ids for all folders which are parents of this item.
 java.lang.String[] getAncestorFolderPaths()
          Returns an array of paths for all folders which are parents of this item.
 java.io.InputStream getContentByKey(java.lang.String pKey)
          Returns an InputStream to the named content piece
 java.lang.String[] getContentKeys()
          Returns an array of available content
 long getContentLastModified(java.lang.String pKey)
          Returns the time when the content was last modified.
 long getContentLength(java.lang.String pKey)
          Returns the size in bytes of the particular rendition.
 java.lang.String getItemPath()
          Return the path of this item, represented as a "relative path" from a "document root."
 
Methods inherited from class atg.adapter.secure.GenericSecuredMutableRepositoryItem
getOriginalItemDescriptor, setAccessControlList, setOwner, setPropertyAccessControlList, setPropertyValue, unsecuredSetCreationSecurity
 
Methods inherited from class atg.adapter.secure.GenericSecuredRepositoryItem
checkPropertyAccess, equals, getContextMemberships, getItemDescriptor, getItemDisplayName, getPropertyAccessControlList, getPropertySecuredObject, getPropertyValue, getRepository, getRepositoryId, hasAccess, hashCode, hasPropertyAccess, isRemoved, isTransient
 
Methods inherited from class atg.adapter.secure.SecuredRepositoryObject
getRepositoryItem, getSecuredObjectDescriptor, invalidate, logError, logError, logError, supportsAccessControlList, supportsOwner, unsecuredGetAccessControlList, unsecuredGetContainers, unsecuredGetOwner, unsecuredSetAccessControlList, unsecuredSetOwner
 
Methods inherited from class atg.security.GenericSecuredObject
checkAccess, checkRuntimeAccess, getAccessControlList, getOwner, getSecurityContext, setSecurityContext, unsecuredGetSecuredContainers
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface atg.repository.RepositoryItem
getContextMemberships, getItemDescriptor, getPropertyValue, getRepository, getRepositoryId, isTransient
 
Methods inherited from interface atg.repository.DisplayableItem
getItemDisplayName
 
Methods inherited from interface atg.repository.SecuredRepositoryItem
getPropertyAccessControlList, getPropertySecuredObject, hasAccess, hasPropertyAccess
 
Methods inherited from interface atg.security.SecuredObject
getAccessControlList, getOwner, getSecurityContext, supportsAccessControlList, supportsOwner, unsecuredGetAccessControlList, unsecuredGetContainers, unsecuredGetOwner, unsecuredSetAccessControlList, unsecuredSetOwner
 

Field Detail

CLASS_VERSION

public static java.lang.String CLASS_VERSION
Constructor Detail

GenericSecuredMutableContentItem

public GenericSecuredMutableContentItem(GenericSecuredMutableContentRepository pRepository,
                                        MutableRepositoryItem pItem)
                                 throws RepositoryException
Wraps a repository item with a secured repository item.

Throws:
RepositoryException

GenericSecuredMutableContentItem

public GenericSecuredMutableContentItem(GenericSecuredMutableRepository pRepository,
                                        ContentRepositoryItem pItem)
                                 throws RepositoryException
Wraps a repository item with a secured repository item.

Throws:
RepositoryException
Method Detail

getContentKeys

public java.lang.String[] getContentKeys()
Returns an array of available content

Specified by:
getContentKeys in interface ContentRepositoryItem

getContentByKey

public java.io.InputStream getContentByKey(java.lang.String pKey)
                                    throws RepositoryException
Returns an InputStream to the named content piece

Specified by:
getContentByKey in interface ContentRepositoryItem
Throws:
RepositoryException - if there was an error fetching the content

getContentLastModified

public long getContentLastModified(java.lang.String pKey)
                            throws RepositoryException
Returns the time when the content was last modified. Useful for determing when local cached content should be updated.

Specified by:
getContentLastModified in interface ContentRepositoryItem
Throws:
RepositoryException - if there was an error determining when the content was last modified.

getContentLength

public long getContentLength(java.lang.String pKey)
                      throws RepositoryException
Returns the size in bytes of the particular rendition. If this value cannot be determined for this particular piece of content, -1 is returned. You can provide a null value for the key parameter to refer to the default content rendition.

Specified by:
getContentLength in interface ContentRepositoryItem
Throws:
RepositoryException - if the key does not correspond to a valid key, or if there was a system error trying to access this content (such as the repository became unavailable).

getItemPath

public java.lang.String getItemPath()
Return the path of this item, represented as a "relative path" from a "document root."

Specified by:
getItemPath in interface FolderItem

getAncestorFolderPaths

public java.lang.String[] getAncestorFolderPaths()
Returns an array of paths for all folders which are parents of this item. If the item is the root folder then return an empty array. For example: if you have a piece of content with the itemPath property value "/foo/bar/somepage.html" then this method would return {"/", "/foo", "/foo/bar"}. With a these paths one can fetch the content via the ContentRepository.getFolderByPath methods.
Convention is as follows:
/foo/bar/somepage.html -> {"/", "/foo", "/foo/bar"}
/foo/bar -> {"/" + "/foo"}
/foo -> {"/"}
/ -> {}

Specified by:
getAncestorFolderPaths in interface FolderItem
See Also:
ContentRepository.getFolderByPath, ContentRepository.getFoldersByPath

getAncestorFolderIds

public java.lang.String[] getAncestorFolderIds()
Returns an array of ids for all folders which are parents of this item. If the item is the root folder then return an empty array.

Specified by:
getAncestorFolderIds in interface FolderItem
See Also:
ContentRepository.getFolder, ContentRepository.getFolders