The categories may be created either in the site root either in a parent category.
public void site_createTopic( ISiteModule siteModule, IContext context, ISite site ) throws SiteModuleException
{
// 1st case: creation of a category in the site root
ITopic topic = siteModule.createTopic( context, site, "test-topic", "test topic label" );
// 2nd case: creation of a category in a parent category
ITopic parentTopic = null;
topic = siteModule.createTopic( context, parentTopic, "test-topic", "test topic label" );
}
A root category or a sub-category is recovered using the category system name.
public void site_getTopic( ISiteModule siteModule, IContext context, ISite site ) throws SiteModuleException
{
// recovering a category from a site
ITopic topic = siteModule.getTopic( context, site, "test-topic" );
// recovering a category from a parent category
ITopic parentTopic = null;
topic = siteModule.getTopic( context, parentTopic, "test-topic" );
System.out.println( topic.getName() );
}
The site module planned to recover the root categories or the sub-categories of a specific topic.
public void site_getTopics( ISiteModule siteModule, IContext context, ISite site ) throws SiteModuleException
{
// recovering root categories from a site
Collection topics = siteModule.getTopics( context, site );
for ( Iterator iterator = topics.iterator() ; iterator.hasNext() ; )
{
ITopic topic = (ITopic)iterator.next();
System.out.println( topic.getName() );
}
// recovering root categories from a parent category
ITopic parentTopic = null;
topics = siteModule.getTopics( context, parentTopic );
for ( Iterator iterator = topics.iterator() ; iterator.hasNext() ; )
{
ITopic topic = (ITopic)iterator.next();
System.out.println( topic.getName() );
}
}
The categories may be directly created in the site root or in a parent category.
public void site_createPage( ISiteModule siteModule, IContext context, ISite site ) throws SiteModuleException
{
// 1st case: creation of a page on the site root
IPageContainer sitePage = siteModule.createPageContainer( context, site, "site-page", "My page" );
ITopic topic = null;
// 2nd case: creation of a page under a category
IPageContainer topicPage = siteModule.createPageContainer( context, topic, "topic-page", "page" );
}
The site management module planned to recover a page from the website root as well as a category.
public void site_getPage( ISiteModule siteModule, IContext context, ISite site ) throws SiteModuleException
{
// 1st case: recover a page from the site root
IPageContainer pageContainer = siteModule.getPageContainer( context, site, "site-page" );
ITopic topic = null;
// 2nd case: recover a page from a category
IPageContainer childPageContainer = siteModule.getPageContainer( context, topic, "topic-page" );
}
The site management module enables to recover every pages present at the site root as well as the one presents in a sub-category.
public void site_getPages( ISiteModule siteModule, IContext context, ISite site ) throws SiteModuleException
{
// recovering the pages in the website root
Collection pageContainers = siteModule.getPageContainers( context, site );
for ( Iterator iterator = pageContainers.iterator() ; iterator.hasNext() ; )
{
IPageContainer pageContainer = (IPageContainer)iterator.next();
System.out.println( pageContainer.getLabel() );
}
// recovering a category
ITopic topic = siteModule.getTopic( context, site, "my-lovely-topic" );
// recovering the pages in the website category
pageContainers = siteModule.getPageContainers( context, topic );
for ( Iterator iterator = pageContainers.iterator() ; iterator.hasNext() ; )
{
IPageContainer pageContainer = (IPageContainer)iterator.next();
System.out.println( pageContainer.getLabel() );
}
}