|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.opencms.xml.CmsXmlEntityResolver
public class CmsXmlEntityResolver
Resolves XML entities (e.g. external DTDs) in the OpenCms VFS.
Also provides a cache for XML content schema definitions.
Field Summary | |
---|---|
static String |
INTERNAL_SCHEME
Scheme for files which should be retrieved from the classpath. |
static String |
OPENCMS_SCHEME
The scheme to identify a file in the OpenCms VFS. |
Constructor Summary | |
---|---|
CmsXmlEntityResolver(CmsObject cms)
Creates a new XML entity resolver based on the provided CmsObject. |
Method Summary | |
---|---|
void |
cacheContentDefinition(String systemId,
CmsXmlContentDefinition contentDefinition)
Caches an XML content definition based on the given system id and the online / offline status of this entity resolver instance. |
static void |
cacheSystemId(String systemId,
byte[] content)
Adds a system ID URL to to internal permanent cache. |
void |
cmsEvent(CmsEvent event)
Acknowledge the occurrence of the specified event, implement this method to check for CmsEvents in your class. |
CmsXmlContentDefinition |
getCachedContentDefinition(String systemId)
Looks up the given XML content definition system id in the internal content definition cache. |
protected static void |
initialize(CmsObject adminCms,
byte[] typeSchemaBytes)
Initialize the OpenCms XML entity resolver. |
static boolean |
isCachedSystemId(String systemId)
Checks if a given system ID URL is in the internal permanent cache. |
static boolean |
isInternalId(String schema)
Checks whether the given schema id is an internal schema id or is translated to an internal schema id. |
InputSource |
resolveEntity(String publicId,
String systemId)
|
void |
uncacheSystemId(String systemId)
Removes a cached entry for a system id (filename) from the internal offline temporary and content definition caches. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final String OPENCMS_SCHEME
public static final String INTERNAL_SCHEME
Constructor Detail |
---|
public CmsXmlEntityResolver(CmsObject cms)
If the provided CmsObject is null, then the OpenCms VFS is not searched for XML entities, however the internal cache and other OpenCms internal entities not in the VFS are still resolved.
cms
- the cms context to use for resolving XML files from the OpenCms VFSMethod Detail |
---|
public static void cacheSystemId(String systemId, byte[] content)
This cache will NOT be cleared automatically.
systemId
- the system ID to addcontent
- the content of the system idpublic static boolean isCachedSystemId(String systemId)
This check is required to see if a XML content is based on a file that actually exists in the OpenCms VFS, or if the schema has been just cached without a VFS file.
systemId
- the system id ID check
true
if the system ID is in the internal permanent cache, false
otherwisepublic static boolean isInternalId(String schema)
schema
- the schema id
protected static void initialize(CmsObject adminCms, byte[] typeSchemaBytes)
adminCms
- an initialized OpenCms user context with "Administrator" role permissionstypeSchemaBytes
- the base widget type XML schema definitionsCmsXmlContentTypeManager.initialize(CmsObject)
public void cacheContentDefinition(String systemId, CmsXmlContentDefinition contentDefinition)
systemId
- the system id to use as cache keycontentDefinition
- the content definition to cachepublic void cmsEvent(CmsEvent event)
I_CmsEventListener
cmsEvent
in interface I_CmsEventListener
event
- CmsEvent that has occurredI_CmsEventListener.cmsEvent(org.opencms.main.CmsEvent)
public CmsXmlContentDefinition getCachedContentDefinition(String systemId)
systemId
- the system id of the XML content definition to look up
public InputSource resolveEntity(String publicId, String systemId)
resolveEntity
in interface EntityResolver
EntityResolver.resolveEntity(java.lang.String, java.lang.String)
public void uncacheSystemId(String systemId)
The online resources cached for the online project are only flushed when a project is published.
systemId
- the system id (filename) to remove from the cache
|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |