/* * Copyright 2000-2013 Enonic AS * http://www.enonic.com/license */ package com.enonic.cms.core.service; import java.util.Set; import org.w3c.dom.Element; import com.enonic.vertical.engine.CategoryAccessRight; import com.enonic.vertical.engine.ContentAccessRight; import com.enonic.vertical.engine.MenuAccessRight; import com.enonic.vertical.engine.MenuItemAccessRight; import com.enonic.vertical.engine.SectionCriteria; import com.enonic.vertical.engine.criteria.CategoryCriteria; import com.enonic.vertical.engine.filters.Filter; import com.enonic.cms.framework.xml.XMLDocument; import com.enonic.cms.core.content.binary.BinaryData; import com.enonic.cms.core.content.category.CategoryKey; import com.enonic.cms.core.content.contenttype.ContentTypeKey; import com.enonic.cms.core.language.LanguageKey; import com.enonic.cms.core.resource.ResourceKey; import com.enonic.cms.core.security.user.User; import com.enonic.cms.core.security.user.UserEntity; import com.enonic.cms.core.security.userstore.UserStoreKey; import com.enonic.cms.core.structure.SiteKey; import com.enonic.cms.core.structure.menuitem.MenuItemKey; import com.enonic.cms.core.structure.page.template.PageTemplateType; public interface AdminService { public XMLDocument getPageTemplates( PageTemplateType type ); public void copyMenu( User user, int menuKey, boolean includeContent ); public boolean contentExists( int categoryKey, String contentTitle ); public int getContentKey( int categoryKey, String contentTitle ); public String getContentCreatedTimestamp( int contentKey ); public java.util.Date getContentPublishFromTimestamp( int contentKey ); public java.util.Date getContentPublishToTimestamp( int contentKey ); public int getCategoryKey( int superCategoryKey, String name ); public MenuItemKey getSectionKeyByMenuItemKey( MenuItemKey menuItemKey ); public XMLDocument getCategory( User user, int categoryKey ); public int getCategoryKey( int contentKey ); public XMLDocument getSuperCategoryNames( int categoryKey, boolean withContentCount, boolean includeCategory ); public int createContentObject( User user, String xmlData ); public int createContentType( User user, String xmlData ); public void createLanguage( User user, String languageCode, String description ); public int createMenu( User user, String xmlData ); public void updateAccessRights( User user, String xmlData ); public void updateMenuItem( User user, String xmlData ); public void removeMenuItem( User user, int mikey ); public int createMenuItem( User user, String xmlData ); public String generateUID( String fName, String sName, UserStoreKey userStoreKey ); public BinaryData getBinaryData( User user, int binaryDataKey ); public XMLDocument getAccessRights( User user, int type, int key, boolean includeUserright ); public XMLDocument getDefaultAccessRights( User user, int type, int key ); public XMLDocument getContent( User user, int contentKey, int parentLevel, int childrenLevel, int parentChildrenLevel ); public String getCategoryName( int categoryKey ); public XMLDocument getCategoryNameXML( int categoryKey ); public CategoryAccessRight getCategoryAccessRight( User user, int categoryKey ); public ContentAccessRight getContentAccessRight( User user, int categoryKey ); public MenuAccessRight getMenuAccessRight( User user, int menuKey ); public XMLDocument getContentObject( int coc_lKey ); public XMLDocument getContentObjectsByMenu( int menuKey ); public String getContentTitle( int versionKey ); public XMLDocument getContentType( int contentTypeKey ); public XMLDocument getContentType( int contentTypeKey, boolean includeContentCount ); public int getContentCountByContentType( int contentTypeKey ); public int getContentTypeKey( int contentKey ); public int[] getContentTypeKeysByHandler( String handlerClass ); public int getContentTypeKeyByCategory( int categoryKey ); public String getContentTypeName( int contentTypeKey ); public XMLDocument getContentTypes(); public XMLDocument getLanguage( LanguageKey languageKey ); public XMLDocument getLanguages(); public XMLDocument getMenu( User user, int menuKey, boolean complete ); public MenuItemAccessRight getMenuItemAccessRight( User user, MenuItemKey key ); public XMLDocument getMenuItem( User user, int key, boolean withParents ); public XMLDocument getMenuItem( User user, int key, boolean withParents, boolean complete ); public String getMenuItemName( int menuItemKey ); public XMLDocument getMenuItemsByContentObject( User user, int cobKey ); public XMLDocument getMenuItemsByPageTemplates( User user, int[] pageTemplateKeys ); public String getPageTemplate( int pageTemplateKey ); public XMLDocument getPageTemplatesByMenu( int menuKey, int[] excludeTypeKeys ); public XMLDocument getPageTemplatesByContentObject( int contentObjectKey ); public String getPageTemplParams( int pageTemplateKey ); public int getSuperCategoryKey( int categoryKey ); public XMLDocument getUnit( int unitKey ); public String getUnitName( int unitKey ); public int getUnitKey( int categoryKey ); public int getUnitLanguageKey( int unitKey ); public XMLDocument getUnitNamesXML( Filter filter ); public boolean hasContent( int contentCategoryKey ); public boolean hasSubCategories( int contentCategoryKey ); public void regenerateIndexForContentType( int contentTypeKey ); public void regenerateIndexForContentHandler( int contentHandlerKey ); public void removeContentObject( int coc_lKey ); public void removeContentType( User user, int contentTypeKey ); public void removeLanguage( LanguageKey languageKey ); public void removeMenu( User user, int key ); public void updateContentObject( String xmlData ); public void updateContentType( User user, String xmlData ); public void updateLanguage( LanguageKey languageKey, String languageCode, String description ); public void updateMenuData( User user, String xmlData ); public XMLDocument getGroup( String gKey ); public XMLDocument getContentTypeModuleData( int ctKey ); public int getContentCount( int categoryKey, boolean recursive ); public XMLDocument getContent( User user, CategoryKey categoryKey, boolean includeSubCategories, String orderBy, int index, int count, int childrenLevel, int parentLevel, int parentChildrenLevel ); public boolean isEnterpriseAdmin( User user ); public boolean isAdmin( User user ); public boolean isUserStoreAdmin( User user, UserStoreKey userStoreKey ); public XMLDocument getMenu( User user, CategoryCriteria criteria ); public XMLDocument getPath( User user, int type, int key ); public XMLDocument getMenusForAdmin( User user ); public void moveMenuItem( User user, Element[] menuItemElems, int menuItemKey, int fromMenuKey, int fromParentKey, int toMenuKey, int toParentKey ); public void shiftMenuItems( User user, Element[] menuItemElems, int menuKey, int parentMenuItemKey ); public Set<UserEntity> getUserNames( String[] groupKeys ); public XMLDocument getContentHandler( int contentHandlerKey ); public String getContentHandlerClassForContentType( int contentTypeKey ); public XMLDocument getContentHandlers(); public int createContentHandler( User user, String xmlData ); public void updateContentHandler( User user, String xmlData ); public void removeContentHandler( User user, int contentHandlerKey ); public XMLDocument getContentTypes( boolean includeContentCount ); public String getIndexingParametersXML( ContentTypeKey contentTypeKey ); public long getSectionContentTimestamp( MenuItemKey sectionKey ); public XMLDocument getSections( User user, SectionCriteria criteria ); public void removeSection( int sectionKey, boolean recursive ); public void copySection( int sectionKey ); public boolean isSectionOrdered( int sectionKey ); public MenuItemKey getMenuItemKeyBySection( MenuItemKey sectionKey ); public int getMenuKeyBySection( MenuItemKey sectionKey ); public XMLDocument getContentTitlesBySection( MenuItemKey sectionKey, String orderBy, int fromIndex, int count, boolean includeTotalCount, boolean approveOnly ); public XMLDocument getContentTitles( int[] contentKeys ); public XMLDocument getUsersWithPublishRight( int categoryKey ); public XMLDocument getContentOwner( int contentKey ); public XMLDocument getLogEntries( User user, com.enonic.esl.containers.MultiValueMap adminParams, int fromIdx, int count, boolean complete ); public XMLDocument getLogEntry( String key ); public int getMenuKeyByMenuItem( MenuItemKey menuItemKey ); public int getParentMenuItemKey( int menuItemKey ); public XMLDocument getCategoryPathXML( CategoryKey categoryKey, int[] contentTypes ); public ResourceKey getContentTypeCSSKey( int contentTypeKey ); public XMLDocument getContentTypes( int[] contentTypeKeys, boolean includeContentCount ); public XMLDocument getData( User user, int type, int[] keys ); public ResourceKey getDefaultCSSByMenu( int menuKey ); public int getCurrentVersionKey( int contentKey ); public int[] getBinaryDataKeysByVersion( int versionKey ); public int getContentKeyByVersionKey( int versionKey ); public XMLDocument getContentVersion( User user, int versionKey ); public XMLDocument getContentXMLField( User user, int versionKey ); public int[] getContentTypesByHandlerClass( String className ); public int getBinaryDataKey( int contentKey, String label ); public XMLDocument getCategoryMenu( User user, int categoryKey, int[] contentTypes, boolean includeRootCategories ); public int getContentVersionState( int versionKey ); public boolean initializeDatabaseSchema() throws Exception; public boolean initializeDatabaseValues() throws Exception; public boolean isContentVersionApproved( int versionKey ); public XMLDocument getContentHomes( int contentKey ); public String getPathString( int type, int key ); public XMLDocument getContentTitleXML( int versionKey ); public boolean hasContentPageTemplates( int menuKey, int contentTypeKey ); public int getContentStatus( int versionKey ); public XMLDocument getAdminMenu( User user, int menuKey ); public XMLDocument getAdminMenuIncludeReadOnlyAccessRights( User user, int menuKey ); public void updateMenuDetails( int menuKey, int frontPageKey, int loginPageKey, int errorPageKey, int defaultPageTemplateKey ); public int getContentTypeKeyByName( String name ); public XMLDocument getUnits(); public long getArchiveSizeByCategory( int categoryKey ); public long getArchiveSizeByUnit( int unitKey ); public boolean isSiteAdmin( User user, SiteKey siteKey ); public XMLDocument getResourceTreeXml( String rootPath, boolean includeFullPath, boolean includeUsageCount, int maxLevels, boolean listFolders, boolean listResources ); public boolean isDeveloper( User user ); }