Package org.ametys.cms.contenttype
Class ContentTypesHelper
java.lang.Object
org.apache.avalon.framework.logger.AbstractLogEnabled
org.ametys.cms.contenttype.ContentTypesHelper
- All Implemented Interfaces:
Disposable
,Initializable
,Component
,Contextualizable
,LogEnabled
,Serviceable
,ThreadSafe
public class ContentTypesHelper
extends AbstractLogEnabled
implements Component, Serviceable, ThreadSafe, Disposable, Initializable, Contextualizable
Helper for manipulating
ContentType
s-
Field Summary
Modifier and TypeFieldDescriptionprotected ContentAttributeTypeExtensionPoint
The extension point with the available types for contentsprotected ContentTypeExtensionPoint
The content types extension pointprotected RightManager
The rights managerprotected RootContentHelper
Helper for root contentprotected CurrentUserProvider
The current user providerstatic final String
Archived content typestatic final String
The Avalon role -
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected void
Creates the cachesprotected ContentTypeExtensionPoint
Lazy lookup ofContentTypeExtensionPoint
protected boolean
_hasRight
(ContentType contentType) Test if the current user has the right needed by the content type to create a content.protected void
_populateModelItemsAccumulator
(Map<String, ModelItem> internalAcc, ViewItemContainer viewItemContainer, String prefix) Populates the accumulator with the model itemsbuildReverseHierarchies
(String contentTypeId) Builds the reverse hierarchies of ancestors of a content typeboolean
canRead
(Content content, MetadataDefinition metadataDef) Deprecated.boolean
canWrite
(Content content, MetadataDefinition metadataDef) Deprecated.UseAttributeDefinition.canWrite(Content)
insteadvoid
contextualize
(Context context) void
Deprecated.UseView.includeView(View)
insteadvoid
dispose()
getAncestors
(String contentTypeId) Get all ancestors for the given content typegetCommonAncestors
(Collection<String> contentTypeIds) Get the identifiers of the content types common ancestorsgetCommonModelItems
(Collection<String> contentTypeIds, String viewName) Retrieves the common model items for a list of content typesgetContentTypeCategory
(Content content) Retrieves the category of the content type.getContentTypeDefaultTitle
(Content content) Retrieves the default title of the content type.getContentTypeDescription
(Content content) Retrieves the description of the content type.getContentTypeIdForRendering
(Content content) Get the id of content type to use for renderinggetContentTypeLabel
(Content content) Retrieves the label of the content type.getContentTypePluginForRendering
(Content content) Get the plugin name of content type to use for renderinggetContentTypeProperties
(ContentType contentType) Get the content type propertiesGet information on content types.getContentTypesInformations
(List<String> contentTypeIds, boolean withRight) Get the content types information as JSONgetContentTypesList
(List<String> ids, boolean inherited, boolean checkRights, boolean includePrivate, boolean includeMixins, boolean includeAbstract) Get information on content types.getDynamicContentTypeId
(String[] contentTypes, String[] mixinTypes) Get the id of the dynamic content type matching to given onesgetDynamicContentTypePlugin
(String[] contentTypes, String[] mixinTypes) Get the plugin name of the dynamic content type matching to given onesgetFirstContentType
(Content content) Get the content type which determines the content icons and renderinggetIconDecorator
(Content content) Retrieves the CSS class to use as decorator above the main icongetIconGlyph
(Content content) Retrieves the CSS class to use as glyph icon of the contentgetIndexingModel
(String[] cTypes, String[] mixins) Get the indexing model resulting of the concatenation of indexing models of given content types and mixins.getIndexingModel
(Content content) Get the indexing model resulting of the concatenation of indexing models of given content types and mixins.getLargeIcon
(Content content) Retrieves the URL of the icon without the context path.getMediumIcon
(Content content) Retrieves the URL of the icon without the context path.getMetadataDefinition
(String metadataPath, String[] cTypes, String[] mixins) Deprecated.UsegetModelItem(String, String[], String[])
insteadgetMetadataDefinition
(String metadataPath, ContentType initialContentType) Deprecated.UseModelItemAccessor.getModelItem(String)
insteadgetMetadataDefinition
(String metadataPath, Content content) Deprecated.UseModelAwareDataAwareAmetysObject.getDefinition(String)
API insteadgetMetadataSetForEdition
(String metadataSetName, String[] cTypes, String[] mixins) Deprecated.UsegetView(String, String[], String[])
insteadgetMetadataSetForView
(String metadataSetName, String[] cTypes, String[] mixins) Deprecated.UsegetView(String, String[], String[])
insteadgetMetadataSetsForEdition
(String[] cTypes, String[] mixins, boolean includeInternal) Deprecated.UsegetViews(String[], String[])
insteadgetMetadataSetsForView
(String[] cTypes, String[] mixins, boolean includeInternal) Deprecated.UsegetViews(String[], String[])
insteadgetModelItem
(String path, String[] cTypes, String[] mixins) Retrieves the model item at the given pathgetModelItemPath
(String path, ContentType contentType) Retrieve the list of successive model items represented by the given path.getModelItemPath
(String path, Content content) Retrieve the list of successive model items represented by the given path.getModelItems
(String[] contentTypes) Retrieves all model items of given content types.getModelItemsPaths
(Set<String> paths, ContentType contentType) Retrieve the list of successive model items represented by the given paths, indexed by path.getModelItemsPaths
(Set<String> paths, Content content) Retrieve the list of successive model items represented by the given paths, indexed by path.getPluginName
(String contentTypeId) Get plugin name for the given content typegetSmallIcon
(Content content) Retrieves the URL of the icon without the context path.getSupertypeIds
(String contentTypeId) Get super type's ids for the given content type The first entry contains super content types, the second one contains super mixin typesRetrieves the definition for the standard "title" attribute.static MetadataDefinition
Deprecated.UsegetTitleAttributeDefinition()
insteadgetTitleViewAsJSON
(String contentTypeId, boolean isEdition) Converts the title view in a JSON MapGet the view for view resulting of the concatenation of views of the given content types and mixins.Get the view for view resulting of the concatenation of views of the given content.getViewAsJSON
(String contentTypeId, String viewName, boolean isEdition) Converts the view with the given name in a JSON MapGet all views resulting of the concatenation of views of given content types and mixins.Get all views resulting of the concatenation of views of given content types and mixins.getViewsInfo
(String contentTypeId, boolean includeInternals) Get the views of a content typegetViewWithFallback
(String viewName, String fallbackViewName, String[] contentTypeIds, String[] mixinIds) Get the view for view resulting of the concatenation of views of the given content types and mixins.getViewWithFallback
(String viewName, String fallbackViewName, Content content) Get the view for view resulting for a given contentboolean
Test if the current user has the right needed by the content type to create a content.void
Initializeboolean
isArchivedContentType
(String cTypeId) Determines if the content type is an archived content typeboolean
isCompatibleContentType
(Content content, String cTypeId) Determines if the given content type can be added to contentboolean
isInstanceOf
(Content content, String cTypeId) Determines if a content is a instance of given content type idCreates a view that is a jointure between all the given viewsparseView
(ContentType contentType, Map<ContentType, Configuration> viewConfigurations) Parses the view of the given content type from the configurationsremoveAncestors
(Set<String> contentTypes) Remove all content types in the set that are ancestors of other content types in the set.void
service
(ServiceManager smanager) Methods inherited from class org.apache.avalon.framework.logger.AbstractLogEnabled
enableLogging, getLogger, setupLogger, setupLogger, setupLogger
-
Field Details
-
ROLE
The Avalon role -
ARCHIVED_CONTENT_TYPE
Archived content type- See Also:
-
_cTypeEP
The content types extension point -
_userProvider
The current user provider -
_rightManager
The rights manager -
_rootContentHelper
Helper for root content -
_contentAttributeTypeExtensionPoint
The extension point with the available types for contents
-
-
Constructor Details
-
ContentTypesHelper
public ContentTypesHelper()
-
-
Method Details
-
contextualize
- Specified by:
contextualize
in interfaceContextualizable
- Throws:
ContextException
-
service
- Specified by:
service
in interfaceServiceable
- Throws:
ServiceException
-
initialize
Initialize- Specified by:
initialize
in interfaceInitializable
-
_createCaches
Creates the caches -
dispose
- Specified by:
dispose
in interfaceDisposable
-
_getContentTypeEP
Lazy lookup ofContentTypeExtensionPoint
- Returns:
- the content type extension point
-
isInstanceOf
Determines if a content is a instance of given content type id- Parameters:
content
- The contentcTypeId
- The id of content type or mixin- Returns:
true
if the content is an instance of content type
-
getCommonAncestors
Get the identifiers of the content types common ancestors- Parameters:
contentTypeIds
- The identifiers of the content types to compare- Returns:
- The identifiers of common ancestors
-
removeAncestors
Remove all content types in the set that are ancestors of other content types in the set.- Parameters:
contentTypes
- a Set of content type IDs.- Returns:
- a Set of content type IDs without ancestors.
-
getAncestors
Get all ancestors for the given content type- Parameters:
contentTypeId
- The content type id to test- Returns:
- A non-null set of all ancestors. Does not contains the contentTypeId itself.
- Throws:
IllegalArgumentException
- if the content type does not exist.
-
getSupertypeIds
Get super type's ids for the given content type The first entry contains super content types, the second one contains super mixin types- Parameters:
contentTypeId
- The content type id to test- Returns:
- An array of super type's ids.
- Throws:
IllegalArgumentException
- if the content type does not exist.
-
getPluginName
Get plugin name for the given content type- Parameters:
contentTypeId
- The content type id to test- Returns:
- the plugin name
- Throws:
IllegalArgumentException
- if the content type does not exist.
-
buildReverseHierarchies
Builds the reverse hierarchies of ancestors of a content type- Parameters:
contentTypeId
- The content type's id- Returns:
- the reverse hierarchies with ancestors
-
getViews
Get all views resulting of the concatenation of views of given content types and mixins.- Parameters:
contentTypeIds
- the identifiers of the content typesmixinIds
- the identifiers of the mixins- Returns:
- The views
-
getViews
public Map<String,View> getViews(String[] contentTypeIds, String[] mixinIds, Set<String> viewNamesToAvoid) Get all views resulting of the concatenation of views of given content types and mixins.- Parameters:
contentTypeIds
- the identifiers of the content typesmixinIds
- the identifiers of the mixinsviewNamesToAvoid
- names of views that should not be managed- Returns:
- The views
-
getView
Get the view for view resulting of the concatenation of views of the given content.- Parameters:
viewName
- the name of the view to retrievecontent
- the given content- Returns:
- The view or null if none matches.
-
getView
Get the view for view resulting of the concatenation of views of the given content types and mixins.- Parameters:
viewName
- the name of the view to retrievecontentTypeIds
- the identifiers of the content typesmixinIds
- the identifiers of the mixins- Returns:
- The view or null if none matches.
-
getViewWithFallback
Get the view for view resulting for a given content- Parameters:
viewName
- the name of the view to retrieve. If null or empty, fallback view will be used.fallbackViewName
- the name of the view to retrieve if the initial was not found. If null or empty, "main" view view will be used as fallback view.content
- the content- Returns:
- The view or null if none matches.
-
getViewWithFallback
public View getViewWithFallback(String viewName, String fallbackViewName, String[] contentTypeIds, String[] mixinIds) Get the view for view resulting of the concatenation of views of the given content types and mixins.- Parameters:
viewName
- the name of the view to retrieve. If null or empty, fallback view will be used.fallbackViewName
- the name of the view to retrieve if the initial was not found. If null or empty, "main" view view will be used as fallback view.contentTypeIds
- the identifiers of the content typesmixinIds
- the identifiers of the mixins- Returns:
- The view or null if none matches.
-
getViewAsJSON
public Map<String,Object> getViewAsJSON(String contentTypeId, String viewName, boolean isEdition) throws ProcessingException Converts the view with the given name in a JSON Map- Parameters:
contentTypeId
- the content type identifierviewName
- the name of the view to convertisEdition
-true
if the JSON result is used for edition purposes (configure a form panel, ...)false
otherwise- Returns:
- the view as a JSON Map
- Throws:
ProcessingException
- if an error occurs when converting the view
-
getTitleViewAsJSON
public Map<String,Object> getTitleViewAsJSON(String contentTypeId, boolean isEdition) throws ProcessingException Converts the title view in a JSON Map- Parameters:
contentTypeId
- the content type identifierisEdition
-true
if the JSON result is used for edition purposes (configure a form panel, ...)false
otherwise- Returns:
- the view as a JSON Map
- Throws:
ProcessingException
- if an error occurs when converting the view
-
parseView
public View parseView(ContentType contentType, Map<ContentType, Configuration> viewConfigurations) throws ConfigurationExceptionParses the view of the given content type from the configurations- Parameters:
contentType
- the content typeviewConfigurations
- the view's configurations, indexed by the content types defining this view- Returns:
- the parsed view
- Throws:
ConfigurationException
- if the configuration is invalid
-
joinViews
Creates a view that is a jointure between all the given views- Parameters:
views
- the views to join- Returns:
- the joined view
-
getMetadataSetsForView
@Deprecated public Map<String,MetadataSet> getMetadataSetsForView(String[] cTypes, String[] mixins, boolean includeInternal) Deprecated.UsegetViews(String[], String[])
insteadGet all metadata sets for view resulting of the concatenation of metadata sets of given content types and mixins.- Parameters:
cTypes
- The id of content typesmixins
- The id of mixinsincludeInternal
-true
True to include internal metadata sets- Returns:
- The metadata sets
-
getMetadataSetsForEdition
@Deprecated public Map<String,MetadataSet> getMetadataSetsForEdition(String[] cTypes, String[] mixins, boolean includeInternal) Deprecated.UsegetViews(String[], String[])
insteadGet all metadata sets for edition resulting of the concatenation of metadata sets of given content types and mixins.- Parameters:
cTypes
- The id of content typesmixins
- The id of mixinsincludeInternal
-true
True to include internal metadata sets- Returns:
- The metadata sets
-
getMetadataSetForView
@Deprecated public MetadataSet getMetadataSetForView(String metadataSetName, String[] cTypes, String[] mixins) Deprecated.UsegetView(String, String[], String[])
insteadGet the metadata set for view resulting of the concatenation of metadata sets of given content types and mixins.- Parameters:
metadataSetName
- the name of metadata set to retrievecTypes
- The id of content typesmixins
- The id of mixins- Returns:
- The list of metadata set names.
-
getMetadataSetForEdition
@Deprecated public MetadataSet getMetadataSetForEdition(String metadataSetName, String[] cTypes, String[] mixins) Deprecated.UsegetView(String, String[], String[])
insteadGet the metadata set for edition resulting of the concatenation of metadata sets of given content types and mixins.- Parameters:
metadataSetName
- the name of metadata set to retrievecTypes
- The id of content typesmixins
- The id of mixins- Returns:
- The metadata set
-
getViewsInfo
Get the views of a content type- Parameters:
contentTypeId
- the content type idincludeInternals
- Set to true to include internal views.- Returns:
- the views' info
-
getIndexingModel
Get the indexing model resulting of the concatenation of indexing models of given content types and mixins.- Parameters:
content
- The content.- Returns:
- The indexing model
-
getIndexingModel
Get the indexing model resulting of the concatenation of indexing models of given content types and mixins.- Parameters:
cTypes
- The id of content typesmixins
- The id of mixins- Returns:
- The indexing model
-
copyMetadataSetElementsIfNotExist
@Deprecated public void copyMetadataSetElementsIfNotExist(AbstractMetadataSetElement src, AbstractMetadataSetElement dest) Deprecated.UseView.includeView(View)
insteadCopy the elements of metadata set into a metadata set of destination, only if the elements are not already presents- Parameters:
src
- The metadata set to copydest
- The metadata of destination
-
getMetadataDefinition
Deprecated.UseModelAwareDataAwareAmetysObject.getDefinition(String)
API insteadRetrieve the metadata definition represented by the given path. The path can represent a metadata on another content.- Parameters:
metadataPath
- the metadata path separated by '/'content
- The content.- Returns:
- the metadata definition or null.
-
getMetadataDefinition
@Deprecated public MetadataDefinition getMetadataDefinition(String metadataPath, String[] cTypes, String[] mixins) Deprecated.UsegetModelItem(String, String[], String[])
insteadRetrieve the metadata definition represented by the given path. The path can represent a metadata on another content.- Parameters:
metadataPath
- the metadata path separated by '/'cTypes
- The content types.mixins
- The content mixins types.- Returns:
- the metadata definition or null.
-
getModelItem
public ModelItem getModelItem(String path, String[] cTypes, String[] mixins) throws IllegalArgumentException, UndefinedItemPathException Retrieves the model item at the given path- Parameters:
path
- path of the model item to retrieve. No matter if it is a definition or data path (with repeater entry positions)cTypes
- identifiers of the content types where to search the model itemmixins
- identifiers of the mixins where to search the model item- Returns:
- the model item
- Throws:
IllegalArgumentException
- if the given path is null or emptyUndefinedItemPathException
- if there is no item defined at the given path in given item containers
-
getMetadataDefinition
@Deprecated public MetadataDefinition getMetadataDefinition(String metadataPath, ContentType initialContentType) Deprecated.UseModelItemAccessor.getModelItem(String)
insteadRetrieves a metadata definition from a path. The metadata can be defined in a referenced or sub content.- Parameters:
metadataPath
- the metadata path separated by '/'initialContentType
- The initial content type to start the search- Returns:
- the metadata definition or
null
if not found
-
getModelItemsPaths
Retrieve the list of successive model items represented by the given paths, indexed by path.- Parameters:
paths
- paths of the model items to retrieve. These paths are relative to the given containers. No matter if they are definition or data paths (with repeater entry positions)content
- the content- Returns:
- the list of successive model items, indexed by path
- Throws:
IllegalArgumentException
- if one of the given paths is null or emptyUndefinedItemPathException
- if there is no item defined at one of the given paths in given item containers
-
getModelItemPath
public List<ModelItem> getModelItemPath(String path, Content content) throws IllegalArgumentException, UndefinedItemPathException Retrieve the list of successive model items represented by the given path.- Parameters:
path
- path of the model items to retrieve. This path is relative to the given containers. No matter if it is a definition or data path (with repeater entry positions)content
- the content- Returns:
- the list of successive model items
- Throws:
IllegalArgumentException
- if the given path is null or emptyUndefinedItemPathException
- if there is no item defined at the given path in given item containers
-
getModelItemsPaths
Retrieve the list of successive model items represented by the given paths, indexed by path.- Parameters:
paths
- paths of the model items to retrieve. These paths are relative to the given containers. No matter if they are definition or data paths (with repeater entry positions)contentType
- the content type- Returns:
- the list of successive model items, indexed by path
- Throws:
IllegalArgumentException
- if one of the given paths is null or emptyUndefinedItemPathException
- if there is no item defined at one of the given paths in given item containers
-
getModelItemPath
Retrieve the list of successive model items represented by the given path.- Parameters:
path
- path of the model items to retrieve. This path is relative to the given containers. No matter if it is a definition or data path (with repeater entry positions)contentType
- the content type- Returns:
- the list of successive model items
- Throws:
IllegalArgumentException
- if the given path is null or emptyUndefinedItemPathException
- if there is no item defined at the given path in given item containers
-
isCompatibleContentType
Determines if the given content type can be added to content- Parameters:
content
- The contentcTypeId
- The id of content type- Returns:
true
if the content type is compatible with content
-
getModelItems
Retrieves all model items of given content types.- Parameters:
contentTypes
- The identifier of the content types- Returns:
- the model items
- Throws:
ConfigurationException
- if an error occurred
-
getCommonModelItems
public Map<String,ModelItem> getCommonModelItems(Collection<String> contentTypeIds, String viewName) Retrieves the common model items for a list of content types- Parameters:
contentTypeIds
- The list of content types to considerviewName
- The view name to list model items- Returns:
- The map of model items. Key are the model item's path in the content type
-
_populateModelItemsAccumulator
protected void _populateModelItemsAccumulator(Map<String, ModelItem> internalAcc, ViewItemContainer viewItemContainer, String prefix) Populates the accumulator with the model items- Parameters:
internalAcc
- the accumulator of model itemsviewItemContainer
- the view item container of the contentprefix
- the view item accessor path prefix
-
getContentTypesInformations
Get information on content types.- Returns:
- A Map with content types
-
getContentTypesInformations
public Set<Map<String,Object>> getContentTypesInformations(List<String> contentTypeIds, boolean withRight) Get the content types information as JSON- Parameters:
contentTypeIds
- the list of content type idswithRight
- true to add rights to results- Returns:
- the list of content types information as JSON
-
getContentTypesList
public Map<String,Object> getContentTypesList(List<String> ids, boolean inherited, boolean checkRights, boolean includePrivate, boolean includeMixins, boolean includeAbstract) Get information on content types.- Parameters:
ids
- The id of content types to retrieveinherited
- If true, the sub-types will be also returned.checkRights
- If true, only content types allowed for creation will be returnedincludePrivate
- If true, the list will include the private content types. By default the list is restricted to the public content types.includeMixins
- If true the list will include the mixins content types.includeAbstract
- If true the list will include the abstract content types.- Returns:
- A Map with retrieved, unknown, not-allowed and private content types
-
getContentTypeProperties
Get the content type properties- Parameters:
contentType
- The content type- Returns:
- The content type properties
-
hasRight
Test if the current user has the right needed by the content type to create a content.- Parameters:
contentTypeId
- The content type id- Returns:
- true if the user has the right needed, false otherwise.
-
_hasRight
Test if the current user has the right needed by the content type to create a content.- Parameters:
contentType
- The content type- Returns:
- true if the user has the right needed, false otherwise.
-
canRead
Deprecated.UseAttributeDefinition.canRead(Content)
insteadDetermine whether a metadata can be read at this time.- Parameters:
metadataDef
- the metadata definitioncontent
- The content where metadata is to be read on.- Returns:
true
if the current user is allowed to read the metadata of this content.- Throws:
AmetysRepositoryException
- if an error occurs while accessing the content.
-
canWrite
Deprecated.UseAttributeDefinition.canWrite(Content)
insteadDetermine whether a metadata can be read at this time.- Parameters:
metadataDef
- the metadata definitioncontent
- The content where metadata is to be read on.- Returns:
true
if the current user is allowed to read the metadata of this content.- Throws:
AmetysRepositoryException
- if an error occurs while accessing the content.
-
getContentTypeIdForRendering
Get the id of content type to use for rendering- Parameters:
content
- The content- Returns:
- the id of dynamic or standard content type
-
getDynamicContentTypeId
Get the id of the dynamic content type matching to given ones- Parameters:
contentTypes
- The content typesmixinTypes
- The mixins- Returns:
- the id of dynamic content type or null if no dynamic content type was found
-
getContentTypePluginForRendering
Get the plugin name of content type to use for rendering- Parameters:
content
- The content- Returns:
- the plugin name of dynamic or standard content type
-
getDynamicContentTypePlugin
Get the plugin name of the dynamic content type matching to given ones- Parameters:
contentTypes
- The content typesmixinTypes
- The mixins- Returns:
- the plugin name of dynamic content type or null if no dynamic content type was found
-
getContentTypeLabel
Retrieves the label of the content type.- Parameters:
content
- The content- Returns:
- the label.
-
getContentTypeDescription
Retrieves the description of the content type.- Parameters:
content
- The content- Returns:
- the label.
-
getContentTypeDefaultTitle
Retrieves the default title of the content type.- Parameters:
content
- The content- Returns:
- the label.
-
getContentTypeCategory
Retrieves the category of the content type.- Parameters:
content
- The content- Returns:
- the label.
-
getIconGlyph
Retrieves the CSS class to use as glyph icon of the content- Parameters:
content
- The content- Returns:
- the glyph
-
getIconDecorator
Retrieves the CSS class to use as decorator above the main icon- Parameters:
content
- The content- Returns:
- the decorator CSS class name
-
getSmallIcon
Retrieves the URL of the icon without the context path.- Parameters:
content
- The content- Returns:
- the icon URL for the small image 16x16.
-
getMediumIcon
Retrieves the URL of the icon without the context path.- Parameters:
content
- The content- Returns:
- the icon URL for the medium image 32x32.
-
getLargeIcon
Retrieves the URL of the icon without the context path.- Parameters:
content
- The content- Returns:
- the icon URL for the large image 48x48.
-
getFirstContentType
Get the content type which determines the content icons and rendering- Parameters:
content
- The content- Returns:
- The main content type
-
getTitleMetadataDefinition
Deprecated.UsegetTitleAttributeDefinition()
insteadGet the metadata definition for the "title" standard metadata.- Returns:
- The standard title metadata definition.
-
getTitleAttributeDefinition
Retrieves the definition for the standard "title" attribute.- Returns:
- the standard "title" attribute.
-
isArchivedContentType
Determines if the content type is an archived content type- Parameters:
cTypeId
- The id of content type- Returns:
- true if the content type is an org.ametys.cms.ArchivedContent
-
AttributeDefinition.canRead(Content)
instead