Class SitemapCategoryProvider
java.lang.Object
org.ametys.plugins.newsletter.category.SitemapCategoryProvider
- All Implemented Interfaces:
CategoryProvider
,PluginAware
,Configurable
,LogEnabled
,Serviceable
public class SitemapCategoryProvider
extends Object
implements LogEnabled, CategoryProvider, Serviceable, Configurable, PluginAware
This class provides newsletter categories from the site map
-
Field Summary
Modifier and TypeFieldDescriptionprotected I18nizableText
The descriptionprotected String
The feature nameprotected String
The idprotected I18nizableText
The labelprotected Logger
The Loggerprotected String
The plugin namestatic final String
The metadata name for newsletter templatestatic final String
The metadata name for automatic newsletter ids.static final String
The metadata name for newsletter templatestatic final String
The root id -
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
configure
(Configuration configuration) protected I18nizableText
configureDescription
(Configuration configuration) Configure description from the passed configurationprotected I18nizableText
configureLabel
(Configuration configuration) Configure label from the passed configurationvoid
enableLogging
(Logger logger) getAllCategories
(String siteName, String lang) Returns all the provider's categories, recursively.getAutomaticIds
(String categoryId) Get automatic property.getCategories
(String categoryID) Get the sub-categories of a categorygetCategories
(String siteName, String lang) Returns the provider's root categories.getCategory
(String categoryID) Returns the provider's category.Returns the provider's description.getId()
Returns the provider's id.getLabel()
Returns the provider's label.getNewsletters
(String categoryID, String siteName, String lang) Get the newsletter contents linked to a categoryGet the plugin nameGet the root idboolean
hasCategory
(String categoryID) Determines if the category exists.boolean
hasChildren
(String categoryID) Determines if the category has sub-categoriesboolean
hasNewsletters
(String categoryID, String siteName, String lang) Determines if a category has categories linked withboolean
Determines if the categories can be modifiedvoid
service
(ServiceManager serviceManager) void
setAutomatic
(String categoryId, Collection<String> automaticNewsletterIds) Set automatic property.void
setPluginInfo
(String pluginName, String featureName, String id) Sets the plugin info relative to the current component.
Note : The feature name may be null if the targeted component in declared at plugin level.void
setTemplate
(Category category, String templateName) Affect a template to category
-
Field Details
-
TAG_NAME
The root id- See Also:
-
METADATA_TEMPLATE
The metadata name for newsletter template- See Also:
-
METADATA_AUTOMATIC_IDS
The metadata name for automatic newsletter ids.- See Also:
-
CATEGORY_PREFIX_ID
The metadata name for newsletter template- See Also:
-
_id
The id -
_label
The label -
_description
The description -
_pluginName
The plugin name -
_featureName
The feature name -
_logger
The Logger
-
-
Constructor Details
-
SitemapCategoryProvider
public SitemapCategoryProvider()
-
-
Method Details
-
service
- Specified by:
service
in interfaceServiceable
- Throws:
ServiceException
-
configure
- Specified by:
configure
in interfaceConfigurable
- Throws:
ConfigurationException
-
enableLogging
- Specified by:
enableLogging
in interfaceLogEnabled
-
isWritable
Description copied from interface:CategoryProvider
Determines if the categories can be modified- Specified by:
isWritable
in interfaceCategoryProvider
- Returns:
- true if the categories can be modified
-
getCategories
Description copied from interface:CategoryProvider
Returns the provider's root categories.- Specified by:
getCategories
in interfaceCategoryProvider
- Parameters:
siteName
- The site name. Can be null for all siteslang
- The languages. Can be null for all languages- Returns:
- the provider's root categories.
-
getAllCategories
Description copied from interface:CategoryProvider
Returns all the provider's categories, recursively.- Specified by:
getAllCategories
in interfaceCategoryProvider
- Parameters:
siteName
- The site name.lang
- The languages.- Returns:
- all the provider's categories.
-
getCategories
Description copied from interface:CategoryProvider
Get the sub-categories of a category- Specified by:
getCategories
in interfaceCategoryProvider
- Parameters:
categoryID
- The category id- Returns:
- the sub-categories
-
hasCategory
Description copied from interface:CategoryProvider
Determines if the category exists.- Specified by:
hasCategory
in interfaceCategoryProvider
- Parameters:
categoryID
- The category id- Returns:
- true if the category exists.
-
getCategory
Description copied from interface:CategoryProvider
Returns the provider's category.- Specified by:
getCategory
in interfaceCategoryProvider
- Parameters:
categoryID
- The category id- Returns:
- the provider's category.
-
setTemplate
Description copied from interface:CategoryProvider
Affect a template to category- Specified by:
setTemplate
in interfaceCategoryProvider
- Parameters:
category
- The categorytemplateName
- The template name
-
getAutomaticIds
Description copied from interface:CategoryProvider
Get automatic property.- Specified by:
getAutomaticIds
in interfaceCategoryProvider
- Parameters:
categoryId
- The category id.- Returns:
- the list of automatic newsletter IDs.
-
setAutomatic
Description copied from interface:CategoryProvider
Set automatic property.- Specified by:
setAutomatic
in interfaceCategoryProvider
- Parameters:
categoryId
- The category id.automaticNewsletterIds
- The automatic newsletter IDs or empty to set non-automatic.
-
getNewsletters
public AmetysObjectIterable<Content> getNewsletters(String categoryID, String siteName, String lang) Description copied from interface:CategoryProvider
Get the newsletter contents linked to a category- Specified by:
getNewsletters
in interfaceCategoryProvider
- Parameters:
categoryID
- The category idsiteName
- The site namelang
- The language name- Returns:
- the newsletter contents
-
hasChildren
Description copied from interface:CategoryProvider
Determines if the category has sub-categories- Specified by:
hasChildren
in interfaceCategoryProvider
- Parameters:
categoryID
- The category id- Returns:
- true if the category have sub-categories
-
hasNewsletters
Description copied from interface:CategoryProvider
Determines if a category has categories linked with- Specified by:
hasNewsletters
in interfaceCategoryProvider
- Parameters:
categoryID
- The category idsiteName
- The site namelang
- The language name- Returns:
- if a category has categories linked with
-
configureLabel
Configure label from the passed configuration- Parameters:
configuration
- The configuration- Returns:
- The label
- Throws:
ConfigurationException
- If an error occurred
-
configureDescription
protected I18nizableText configureDescription(Configuration configuration) throws ConfigurationException Configure description from the passed configuration- Parameters:
configuration
- The configuration- Returns:
- The description
- Throws:
ConfigurationException
- If an error occurred
-
setPluginInfo
Description copied from interface:PluginAware
Sets the plugin info relative to the current component.
Note : The feature name may be null if the targeted component in declared at plugin level.- Specified by:
setPluginInfo
in interfacePluginAware
- Parameters:
pluginName
- Unique identifier for the plugin hosting the extensionfeatureName
- Unique feature identifier (unique for a given pluginName)id
- Unique identifier of this component
-
getPluginName
Get the plugin name- Returns:
- the plugin name
-
getDescription
Description copied from interface:CategoryProvider
Returns the provider's description.- Specified by:
getDescription
in interfaceCategoryProvider
- Returns:
- the provider's description.
-
getId
Description copied from interface:CategoryProvider
Returns the provider's id.- Specified by:
getId
in interfaceCategoryProvider
- Returns:
- the provider's id.
-
getLabel
Description copied from interface:CategoryProvider
Returns the provider's label.- Specified by:
getLabel
in interfaceCategoryProvider
- Returns:
- the provider's label.
-
getRootId
Description copied from interface:CategoryProvider
Get the root id- Specified by:
getRootId
in interfaceCategoryProvider
- Parameters:
siteName
- The site namelang
- The language name- Returns:
- the root id
-