📄 opencms.java
字号:
/**
* Returns the current OpenCms run level.<p>
*
* The following runlevels are defined:
* <dl>
* <dt>Runlevel {@link OpenCms#RUNLEVEL_0_OFFLINE}:</dt><dd>
* OpenCms is in the process of being shut down, the system is offline.</dd>
*
* <dt>Runlevel {@link OpenCms#RUNLEVEL_1_CORE_OBJECT}:</dt><dd>
* OpenCms instance available, but configuration has not been processed.
* No database or VFS available.</dd>
*
* <dt>Runlevel {@link OpenCms#RUNLEVEL_2_INITIALIZING}:</dt><dd>
* OpenCms is initializing, but the process is not finished.
* The database with the VFS is currently being connected but can't be accessed.</dd>
*
* <dt>Runlevel {@link OpenCms#RUNLEVEL_3_SHELL_ACCESS}:</dt><dd>
* OpenCms database and VFS available, but http processing (i.e. servlet) not initialized.
* This is the runlevel the OpenCms shell operates in.</dd>
*
* <dt>Runlevel {@link OpenCms#RUNLEVEL_4_SERVLET_ACCESS}:</dt><dd>
* OpenCms fully initialized, servlet and database available.
* This is the "default" when OpenCms is in normal operation.</dd>
* </dl>
*
* @return the OpenCms run level
*/
public static int getRunLevel() {
return OpenCmsCore.getInstance().getRunLevel();
}
/**
* Looks up a value in the runtime property Map.<p>
*
* @param key the key to look up in the runtime properties
* @return the value for the key, or null if the key was not found
*/
public static Object getRuntimeProperty(Object key) {
return OpenCmsCore.getInstance().getRuntimeProperty(key);
}
/**
* Returns the configured schedule manager.<p>
*
* @return the configured schedule manager
*/
public static CmsScheduleManager getScheduleManager() {
return OpenCmsCore.getInstance().getScheduleManager();
}
/**
* Returns the initialized search manager,
* which provides indexing and searching operations.<p>
*
* @return the initialized search manager
*/
public static CmsSearchManager getSearchManager() {
return OpenCmsCore.getInstance().getSearchManager();
}
/**
* Returns the session manager that keeps track of the active users.<p>
*
* @return the session manager that keeps track of the active users
*/
public static CmsSessionManager getSessionManager() {
return OpenCmsCore.getInstance().getSessionManager();
}
/**
* Returns the initialized site manager,
* which contains information about all configured sites.<p>
*
* @return the initialized site manager
*/
public static CmsSiteManager getSiteManager() {
return OpenCmsCore.getInstance().getSiteManager();
}
/**
* Returns an instance of the common sql manager.<p>
*
* @return an instance of the common sql manager
*/
public static CmsSqlManager getSqlManager() {
return OpenCmsCore.getInstance().getSqlManager();
}
/**
* Returns the properties for the static export.<p>
*
* @return the properties for the static export
*/
public static CmsStaticExportManager getStaticExportManager() {
return OpenCmsCore.getInstance().getStaticExportManager();
}
/**
* Returns the system information storage.<p>
*
* @return the system information storage
*/
public static CmsSystemInfo getSystemInfo() {
return OpenCmsCore.getInstance().getSystemInfo();
}
/**
* Returns the list of system defined roles (instances of <code>{@link CmsRole}</code>).<p>
*
* Caution: This list can not be modified.<p>
*
* @return the list of system defined roles
*/
public static List getSystemRoles() {
return CmsRole.getSystemRoles();
}
/**
* Returns the OpenCms Thread store.<p>
*
* @return the OpenCms Thread store
*/
public static CmsThreadStore getThreadStore() {
return OpenCmsCore.getInstance().getThreadStore();
}
/**
* Returns the runtime validation handler.<p>
*
* @return the validation handler
*/
public static I_CmsValidationHandler getValidationHandler() {
return OpenCmsCore.getInstance().getValidationHandler();
}
/**
* Returns the initialized workplace manager,
* which contains information about the global workplace settings.<p>
*
* @return the initialized workplace manager
*/
public static CmsWorkplaceManager getWorkplaceManager() {
return OpenCmsCore.getInstance().getWorkplaceManager();
}
/**
* Returns the XML content type manager.<p>
*
* @return the XML content type manager
*/
public static CmsXmlContentTypeManager getXmlContentTypeManager() {
return OpenCmsCore.getInstance().getXmlContentTypeManager();
}
/**
* Returns an independent copy of the provided CmsObject.<p>
*
* This can be useful in case a permanent reference to a CmsObject is stored.
* Changing the request context values (for example project, siteroot) in the new CmsObject
* will have no side effects to the CmsObject it was copied form.<p>
*
* @param cms the CmsObject to create a copy of
*
* @return an independent copy of the provided CmsObject
*
* @throws CmsException in case the intialization failed
*
* @see OpenCms#initCmsObject(CmsObject)
* @see OpenCms#initCmsObject(CmsObject, CmsContextInfo)
* @see OpenCms#initCmsObject(String)
*/
public static CmsObject initCmsObject(CmsObject cms) throws CmsException {
return OpenCmsCore.getInstance().initCmsObject(cms);
}
/**
* Returns an initialized CmsObject with the user and context initialized as provided.<p>
*
* Note: Only if the provided <code>adminCms</code> CmsObject has admin permissions,
* this method allows the creation a CmsObject for any existing user. Otherwise
* only the default users 'Guest' and 'Export' can initialized with
* this method, all other user names will throw an Exception.<p>
*
* @param adminCms must either be initialized with "Admin" permissions, or null
* @param contextInfo the context info to create a CmsObject for
*
* @return an initialized CmsObject with the given users permissions
*
* @throws CmsException if an invalid user name was provided, or if something else goes wrong
*
* @see org.opencms.db.CmsDefaultUsers#getUserGuest()
* @see org.opencms.db.CmsDefaultUsers#getUserExport()
* @see OpenCms#initCmsObject(CmsObject)
* @see OpenCms#initCmsObject(CmsObject, CmsContextInfo)
* @see OpenCms#initCmsObject(String)
*/
public static CmsObject initCmsObject(CmsObject adminCms, CmsContextInfo contextInfo) throws CmsException {
return OpenCmsCore.getInstance().initCmsObject(adminCms, contextInfo);
}
/**
* Returns an initialized CmsObject (OpenCms user context) with the user initialized as provided,
* with the "Online" project selected and "/" set as the current site root.<p>
*
* Note: Only the default users 'Guest' and 'Export' can initialized with
* this method, all other user names will throw an Exception.<p>
*
* In order to initialize another user (for example, the {@link CmsDefaultUsers#getUserAdmin()}),
* you need to get the 'Guest' user context first, then login the target user with
* his user name and password, using {@link CmsObject#loginUser(String, String)}.
* There is no way to obtain a user context other then the 'Guest' or 'Export' user
* without the users password. This is a security feature.<p>
*
* @param user the user name to initialize, can only be
* {@link org.opencms.db.CmsDefaultUsers#getUserGuest()} or
* {@link org.opencms.db.CmsDefaultUsers#getUserExport()}
*
* @return an initialized CmsObject with the given users permissions
*
* @throws CmsException if an invalid user name was provided, or if something else goes wrong
*
* @see org.opencms.db.CmsDefaultUsers#getUserGuest()
* @see org.opencms.db.CmsDefaultUsers#getUserExport()
* @see OpenCms#initCmsObject(CmsObject)
* @see OpenCms#initCmsObject(CmsObject, CmsContextInfo)
* @see OpenCms#initCmsObject(String)
*/
public static CmsObject initCmsObject(String user) throws CmsException {
return OpenCmsCore.getInstance().initCmsObject(user);
}
/**
* Reads the requested resource from the OpenCms VFS,
* and in case a directory name is requested, the default files of the
* directory will be looked up and the first match is returned.<p>
*
* The resource that is returned is always a <code>{@link org.opencms.file.CmsFile}</code>,
* even though the content will usually not be loaded in the result. Folders are never returned since
* the point of this method is really to load the default file if just a folder name is requested.<p>
*
* The URI stored in the given OpenCms user context will be changed to the URI of the resource
* that was found and returned.<p>
*
* Implementing and configuring an <code>{@link I_CmsResourceInit}</code> handler
* allows to customize the process of default resouce selection.<p>
*
* @param cms the current users OpenCms context
* @param resourceName the path of the requested resource in the OpenCms VFS
* @param req the current http request
* @param res the current http response
* @return the requested resource read from the VFS
*
* @throws CmsException in case the requested file does not exist or the user has insufficient access permissions
*/
public static CmsResource initResource(
CmsObject cms,
String resourceName,
HttpServletRequest req,
HttpServletResponse res) throws CmsException {
return OpenCmsCore.getInstance().initResource(cms, resourceName, req, res);
}
/**
* Removes a cms event listener.<p>
*
* @param listener the listener to remove
*/
public static void removeCmsEventListener(I_CmsEventListener listener) {
OpenCmsCore.getInstance().getEventManager().removeCmsEventListener(listener);
}
/**
* This method adds an Object to the OpenCms runtime properties.
* The runtime properties can be used to store Objects that are shared
* in the whole system.<p>
*
* @param key the key to add the Object with
* @param value the value of the Object to add
*/
public static void setRuntimeProperty(Object key, Object value) {
OpenCmsCore.getInstance().setRuntimeProperty(key, value);
}
/**
* Writes the XML configuration for the provided configuration class.<p>
*
* @param clazz the configuration class to write the XML for
*/
public static void writeConfiguration(Class clazz) {
OpenCmsCore.getInstance().writeConfiguration(clazz);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -