📄 cmsobject.java
字号:
* @param roles the roles to check
*
* @throws CmsRoleViolationException if the user does not have the required role permissions
*/
public void checkRole(CmsRole roles) throws CmsRoleViolationException {
m_securityManager.checkRole(m_context, roles);
}
/**
* Changes the resource flags of a resource.<p>
*
* The resource flags are used to indicate various "special" conditions
* for a resource. Most notably, the "internal only" setting which signals
* that a resource can not be directly requested with it's URL.<p>
*
* @param resourcename the name of the resource to change the flags for (full path)
* @param flags the new flags for this resource
*
* @throws CmsException if something goes wrong
*/
public void chflags(String resourcename, int flags) throws CmsException {
CmsResource resource = readResource(resourcename, CmsResourceFilter.IGNORE_EXPIRATION);
getResourceType(resource.getTypeId()).chflags(this, m_securityManager, resource, flags);
}
/**
* Changes the resource type of a resource.<p>
*
* OpenCms handles resources according to the resource type,
* not the file suffix. This is e.g. why a JSP in OpenCms can have the
* suffix ".html" instead of ".jsp" only. Changing the resource type
* makes sense e.g. if you want to make a plain text file a JSP resource,
* or a binary file an image, etc.<p>
*
* @param resourcename the name of the resource to change the type for (full path)
* @param type the new resource type for this resource
*
* @throws CmsException if something goes wrong
*/
public void chtype(String resourcename, int type) throws CmsException {
CmsResource resource = readResource(resourcename, CmsResourceFilter.IGNORE_EXPIRATION);
getResourceType(resource.getTypeId()).chtype(this, m_securityManager, resource, type);
}
/**
* Copies a resource.<p>
*
* The copied resource will always be locked to the current user
* after the copy operation.<p>
*
* Siblings will be treated according to the
* <code>{@link org.opencms.file.CmsResource#COPY_PRESERVE_SIBLING}</code> mode.<p>
*
* @param source the name of the resource to copy (full path)
* @param destination the name of the copy destination (full path)
*
* @throws CmsException if something goes wrong
* @throws CmsIllegalArgumentException if the <code>destination</code> argument is null or of length 0
*
* @see #copyResource(String, String, int)
*/
public void copyResource(String source, String destination) throws CmsException, CmsIllegalArgumentException {
copyResource(source, destination, CmsResource.COPY_PRESERVE_SIBLING);
}
/**
* Copies a resource.<p>
*
* The copied resource will always be locked to the current user
* after the copy operation.<p>
*
* The <code>siblingMode</code> parameter controls how to handle siblings
* during the copy operation.<br>
* Possible values for this parameter are: <br>
* <ul>
* <li><code>{@link org.opencms.file.CmsResource#COPY_AS_NEW}</code></li>
* <li><code>{@link org.opencms.file.CmsResource#COPY_AS_SIBLING}</code></li>
* <li><code>{@link org.opencms.file.CmsResource#COPY_PRESERVE_SIBLING}</code></li>
* </ul><p>
*
* @param source the name of the resource to copy (full path)
* @param destination the name of the copy destination (full path)
* @param siblingMode indicates how to handle siblings during copy
*
* @throws CmsException if something goes wrong
* @throws CmsIllegalArgumentException if the <code>destination</code> argument is null or of length 0
*/
public void copyResource(String source, String destination, int siblingMode)
throws CmsException, CmsIllegalArgumentException {
CmsResource resource = readResource(source, CmsResourceFilter.IGNORE_EXPIRATION);
getResourceType(resource.getTypeId()).copyResource(this, m_securityManager, resource, destination, siblingMode);
}
/**
* Copies a resource to the current project of the user.<p>
*
* This is used to extend the current users project with the
* specified resource, in case that the resource is not yet part of the project.
* The resource is not really copied like in a regular copy operation,
* it is in fact only "enabled" in the current users project.<p>
*
* @param resourcename the name of the resource to copy to the current project (full path)
*
* @throws CmsException if something goes wrong
*/
public void copyResourceToProject(String resourcename) throws CmsException {
CmsResource resource = readResource(resourcename, CmsResourceFilter.ALL);
getResourceType(resource.getTypeId()).copyResourceToProject(this, m_securityManager, resource);
}
/**
* Counts the locked resources in a project.<p>
*
* @param id the id of the project
*
* @return the number of locked resources in this project
*
* @throws CmsException if operation was not successful
*/
public int countLockedResources(int id) throws CmsException {
return m_securityManager.countLockedResources(m_context, id);
}
/**
* Counts the locked resources within a folder.<p>
*
* @param foldername the name of the folder
*
* @return the number of locked resources in this folder
*
* @throws CmsException if operation was not successful
*/
public int countLockedResources(String foldername) throws CmsException {
return m_securityManager.countLockedResources(m_context, addSiteRoot(foldername));
}
/**
* Copies access control entries of a given resource to another resource.<p>
*
* Already existing access control entries of the destination resource are removed.<p>
*
* @param sourceName the name of the resource of which the access control entries are copied
* @param destName the name of the resource to which the access control entries are applied
*
* @throws CmsException if something goes wrong
*/
public void cpacc(String sourceName, String destName) throws CmsException {
CmsResource source = readResource(sourceName);
CmsResource dest = readResource(destName);
m_securityManager.copyAccessControlEntries(m_context, source, dest);
}
/**
* Creates a new user group.<p>
*
* @param name the name of the new group
* @param description the description of the new group
* @param flags the flags for the new group
* @param parent the parent group (or <code>null</code>)
*
* @return a <code>{@link CmsGroup}</code> object representing the newly created group
*
* @throws CmsException if operation was not successful
*/
public CmsGroup createGroup(String name, String description, int flags, String parent) throws CmsException {
return m_securityManager.createGroup(m_context, name, description, flags, parent);
}
/**
* Creates a new project.<p>
*
* @param name the name of the project to create
* @param description the description for the new project
* @param groupname the name of the project user group
* @param managergroupname the name of the project manager group
*
* @return the created project
*
* @throws CmsException if something goes wrong
*/
public CmsProject createProject(String name, String description, String groupname, String managergroupname)
throws CmsException {
return m_securityManager.createProject(
m_context,
name,
description,
groupname,
managergroupname,
CmsProject.PROJECT_TYPE_NORMAL);
}
/**
* Creates a new project.<p>
*
* @param name the name of the project to create
* @param description the description for the new project
* @param groupname the name of the project user group
* @param managergroupname the name of the project manager group
* @param projecttype the type of the project (normal or temporary)
*
* @return the created project
*
* @throws CmsException if operation was not successful
*/
public CmsProject createProject(
String name,
String description,
String groupname,
String managergroupname,
int projecttype) throws CmsException {
return m_securityManager.createProject(m_context, name, description, groupname, managergroupname, projecttype);
}
/**
* Creates a property definition.<p>
*
* Property definitions are valid for all resource types.<p>
*
* @param name the name of the property definition to create
*
* @return the created property definition
*
* @throws CmsException if something goes wrong
*/
public CmsPropertyDefinition createPropertyDefinition(String name) throws CmsException {
return (m_securityManager.createPropertyDefinition(m_context, name));
}
/**
* Creates a new resource of the given resource type with
* empty content and no properties.<p>
*
* @param resourcename the name of the resource to create (full path)
* @param type the type of the resource to create
*
* @return the created resource
*
* @throws CmsException if something goes wrong
* @throws CmsIllegalArgumentException if the given <code>resourcename</code> is null or of length 0
*
* @see #createResource(String, int, byte[], List)
*/
public CmsResource createResource(String resourcename, int type) throws CmsException, CmsIllegalArgumentException {
return createResource(resourcename, type, new byte[0], Collections.EMPTY_LIST);
}
/**
* Creates a new resource of the given resource type
* with the provided content and properties.<p>
*
* @param resourcename the name of the resource to create (full path)
* @param type the type of the resource to create
* @param content the contents for the new resource
* @param properties the properties for the new resource
*
* @return the created resource
*
* @throws CmsException if something goes wrong
* @throws CmsIllegalArgumentException if the <code>resourcename</code> argument is null or of length 0
*/
public CmsResource createResource(String resourcename, int type, byte[] content, List properties)
throws CmsException, CmsIllegalArgumentException {
return getResourceType(type).createResource(this, m_securityManager, resourcename, content, properties);
}
/**
* Creates a new sibling of the source resource.<p>
*
* @param source the name of the resource to create a sibling for with complete path
* @param destination the name of the sibling to create with complete path
* @param properties the individual properties for the new sibling
*
* @throws CmsException if something goes wrong
*/
public void createSibling(String source, String destination, List properties) throws CmsException {
CmsResource resource = readResource(source, CmsResourceFilter.IGNORE_EXPIRATION);
getResourceType(resource.getTypeId()).createSibling(this, m_securityManager, resource, destination, properties);
}
/**
* Creates the project for the temporary workplace files.<p>
*
* @return the created project for the temporary workplace files
*
* @throws CmsException if something goes wrong
*/
public CmsProject createTempfileProject() throws CmsException {
return m_securityManager.createTempfileProject(m_context);
}
/**
* Creates a new user.<p>
*
* @param name the name for the new user
* @param password the password for the new user
* @param description the description for the new user
* @param additionalInfos the additional infos for the user
*
* @return the created user
*
* @throws CmsException if something goes wrong
*/
public CmsUser createUser(String name, String password, String description, Map additionalInfos)
throws CmsException {
return m_securityManager.createUser(m_context, name, password, description, additionalInfos);
}
/**
* Deletes all published resource entries.<p>
*
* @param linkType the type of resource deleted (0= non-paramter, 1=parameter)
*
* @throws CmsException if something goes wrong
*/
public void deleteAllStaticExportPublishedResources(int linkType) throws CmsException {
m_securityManager.deleteAllStaticExportPublishedResources(m_context, linkType);
}
/**
* Deletes the versions from the backup tables that are older then the given timestamp
* and/or number of remaining versions.<p>
*
* The number of verions always wins, i.e. if the given timestamp would delete more versions
* than given in the versions parameter, the timestamp will be ignored. <p>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -