org.opencms.file.types
Class CmsResourceTypeImage

java.lang.Object
  extended by org.opencms.file.types.A_CmsResourceType
      extended by org.opencms.file.types.CmsResourceTypeImage
All Implemented Interfaces:
I_CmsConfigurationParameterHandler, I_CmsResourceType

public class CmsResourceTypeImage
extends A_CmsResourceType

Resource type descriptor for the type "image".

Since:
6.0.0
Version:
$Revision: 1.16 $
Author:
Alexander Kandzior

Nested Class Summary
protected static class CmsResourceTypeImage.CmsImageAdjuster
          A data container for image size and scale operations.
 
Field Summary
static org.apache.commons.logging.Log LOG
          The log object for this class.
static java.lang.String PROPERTY_VALUE_UNLIMITED
          The value for the CmsPropertyDefinition.PROPERTY_IMAGE_SIZE property if resources in a folder should never be downscaled.
 
Fields inherited from class org.opencms.file.types.A_CmsResourceType
m_addititionalModuleResourceType, m_className, m_copyResources, m_defaultProperties, m_frozen, m_mappings, m_typeId, m_typeName, MACRO_RESOURCE_FOLDER_PATH, MACRO_RESOURCE_NAME, MACRO_RESOURCE_PARENT_PATH, MACRO_RESOURCE_ROOT_PATH, MACRO_RESOURCE_SITE_PATH
 
Fields inherited from interface org.opencms.file.types.I_CmsResourceType
ADD_MAPPING_METHOD, ADD_RESOURCE_TYPE_METHOD, CONFIGURATION_PROPERTY_CREATE, CONFIGURATION_RESOURCE_TYPE_ID, CONFIGURATION_RESOURCE_TYPE_NAME, PROPERTY_ON_RESOURCE, PROPERTY_ON_STRUCTURE
 
Fields inherited from interface org.opencms.configuration.I_CmsConfigurationParameterHandler
ADD_PARAMETER_METHOD, INIT_CONFIGURATION_METHOD
 
Constructor Summary
CmsResourceTypeImage()
          Default constructor, used to initialize member variables.
 
Method Summary
 CmsResource createResource(CmsObject cms, CmsSecurityManager securityManager, java.lang.String resourcename, byte[] content, java.util.List properties)
          Creates a new resource of the given resource type with the provided content and properties.
static CmsImageScaler getDownScaler(CmsObject cms, java.lang.String rootPath)
          Returns the image downscaler to use when writing an image resource to the given root path.
 int getLoaderId()
          Returns the loader type id of this resource type.
static int getStaticTypeId()
          Returns the static type id of this (default) resource type.
static java.lang.String getStaticTypeName()
          Returns the static type name of this (default) resource type.
 CmsResource importResource(CmsObject cms, CmsSecurityManager securityManager, java.lang.String resourcename, CmsResource resource, byte[] content, java.util.List properties)
          Imports a resource to the OpenCms VFS.
 void initConfiguration(java.lang.String name, java.lang.String id, java.lang.String className)
          Special version of the configuration initialization used with resource types to set resource type, id and class name, required for the XML configuration.
 void replaceResource(CmsObject cms, CmsSecurityManager securityManager, CmsResource resource, int type, byte[] content, java.util.List properties)
          Replaces the content, type and properties of a resource.
 CmsFile writeFile(CmsObject cms, CmsSecurityManager securityManager, CmsFile resource)
          Writes a resource, including it's content.
 
Methods inherited from class org.opencms.file.types.A_CmsResourceType
addConfigurationParameter, addCopyResource, addDefaultProperty, addMappingType, changeLock, chflags, chtype, copyResource, copyResourceToProject, createRelations, createSibling, deleteResource, equals, getCachePropertyDefault, getClassName, getConfiguration, getConfiguredCopyResources, getConfiguredDefaultProperties, getConfiguredMappings, getMacroResolver, getResourceType, getTypeId, getTypeName, hashCode, initConfiguration, initConfiguration, initialize, isAdditionalModuleResourceType, isDirectEditable, isFolder, isIdentical, lockResource, moveResource, processCopyResources, processDefaultProperties, removeResourceFromProject, restoreResource, restoreResourceBackup, setAdditionalModuleResourceType, setDateExpired, setDateLastModified, setDateReleased, toString, undelete, undoChanges, unlockResource, updateRelationForUndo, writePropertyObject, writePropertyObjects
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

LOG

public static final org.apache.commons.logging.Log LOG
The log object for this class.


PROPERTY_VALUE_UNLIMITED

public static final java.lang.String PROPERTY_VALUE_UNLIMITED
The value for the CmsPropertyDefinition.PROPERTY_IMAGE_SIZE property if resources in a folder should never be downscaled.

See Also:
Constant Field Values
Constructor Detail

CmsResourceTypeImage

public CmsResourceTypeImage()
Default constructor, used to initialize member variables.

Method Detail

getDownScaler

public static CmsImageScaler getDownScaler(CmsObject cms,
                                           java.lang.String rootPath)
Returns the image downscaler to use when writing an image resource to the given root path.

If null is returned, image downscaling must not be used for the resource with the given path. This may be the case if image downscaling is not configured at all, or if image downscaling has been disabled for the parent folder by setting the folders property CmsPropertyDefinition.PROPERTY_IMAGE_SIZE to the value PROPERTY_VALUE_UNLIMITED.

Parameters:
cms - the current OpenCms user context
rootPath - the root path of the resource to write
Returns:
the downscaler to use, or null if no downscaling is required for the resource

getStaticTypeId

public static int getStaticTypeId()
Returns the static type id of this (default) resource type.

Returns:
the static type id of this (default) resource type

getStaticTypeName

public static java.lang.String getStaticTypeName()
Returns the static type name of this (default) resource type.

Returns:
the static type name of this (default) resource type

createResource

public CmsResource createResource(CmsObject cms,
                                  CmsSecurityManager securityManager,
                                  java.lang.String resourcename,
                                  byte[] content,
                                  java.util.List properties)
                           throws CmsException
Description copied from interface: I_CmsResourceType
Creates a new resource of the given resource type with the provided content and properties.

Specified by:
createResource in interface I_CmsResourceType
Overrides:
createResource in class A_CmsResourceType
Parameters:
cms - the initialized CmsObject
securityManager - the initialized OpenCms security manager
resourcename - the name of the resource to create (full path)
content - the content for the new resource
properties - the properties for the new resource
Returns:
the created resource
Throws:
CmsException - if something goes wrong
See Also:
I_CmsResourceType.createResource(org.opencms.file.CmsObject, org.opencms.db.CmsSecurityManager, java.lang.String, byte[], java.util.List)

getLoaderId

public int getLoaderId()
Description copied from interface: I_CmsResourceType
Returns the loader type id of this resource type.

Specified by:
getLoaderId in interface I_CmsResourceType
Specified by:
getLoaderId in class A_CmsResourceType
Returns:
the loader type id of this resource type
See Also:
I_CmsResourceType.getLoaderId()

importResource

public CmsResource importResource(CmsObject cms,
                                  CmsSecurityManager securityManager,
                                  java.lang.String resourcename,
                                  CmsResource resource,
                                  byte[] content,
                                  java.util.List properties)
                           throws CmsException
Description copied from interface: I_CmsResourceType
Imports a resource to the OpenCms VFS.

If a resource already exists in the VFS (i.e. has the same name and same id) it is replaced by the imported resource.

If a resource with the same name but a different id exists, the imported resource is (usually) moved to the "lost and found" folder.

Specified by:
importResource in interface I_CmsResourceType
Overrides:
importResource in class A_CmsResourceType
Parameters:
cms - the initialized CmsObject
securityManager - the initialized OpenCms security manager
resourcename - the target name (with full path) for the resource after import
resource - the resource to be imported
content - the content of the resource
properties - the properties of the resource
Returns:
the imported resource
Throws:
CmsException - if something goes wrong
See Also:
I_CmsResourceType.importResource(org.opencms.file.CmsObject, org.opencms.db.CmsSecurityManager, java.lang.String, org.opencms.file.CmsResource, byte[], java.util.List)

initConfiguration

public void initConfiguration(java.lang.String name,
                              java.lang.String id,
                              java.lang.String className)
                       throws CmsConfigurationException
Description copied from interface: I_CmsResourceType
Special version of the configuration initialization used with resource types to set resource type, id and class name, required for the XML configuration.

Please note: Many resource types defined in the core have in fact a fixed resource type and a fixed id. Configurable name and id is used only for certain types.

The provided named class must implement this interface (I_CmsResourceType). Usually the provided class name should be the class name of the resource type instance, but this may be different in special cases or configuration errors. For example, if a module is imported that contains it's own resource type class files, the included class file are usually not be available until the server is restarted. If the named class given in the XML configuration (or module manifest.xml) is not available, or not implementing I_CmsResourceType, then CmsResourceTypeUnknown is used for the resource type instance.

Specified by:
initConfiguration in interface I_CmsResourceType
Overrides:
initConfiguration in class A_CmsResourceType
Parameters:
name - the resource type name
id - the resource type id
className - the class name of the resource type (read from the XML configuration)
Throws:
CmsConfigurationException - if the configuration is invalid
See Also:
A_CmsResourceType.initConfiguration(java.lang.String, java.lang.String, String)

replaceResource

public void replaceResource(CmsObject cms,
                            CmsSecurityManager securityManager,
                            CmsResource resource,
                            int type,
                            byte[] content,
                            java.util.List properties)
                     throws CmsException
Description copied from interface: I_CmsResourceType
Replaces the content, type and properties of a resource.

Specified by:
replaceResource in interface I_CmsResourceType
Overrides:
replaceResource in class A_CmsResourceType
Parameters:
cms - the current cms context
securityManager - the initialized OpenCms security manager
resource - the name of the resource to replace
type - the new type of the resource
content - the new content of the resource
properties - the new properties of the resource
Throws:
CmsException - if something goes wrong
See Also:
I_CmsResourceType.replaceResource(org.opencms.file.CmsObject, org.opencms.db.CmsSecurityManager, org.opencms.file.CmsResource, int, byte[], java.util.List)

writeFile

public CmsFile writeFile(CmsObject cms,
                         CmsSecurityManager securityManager,
                         CmsFile resource)
                  throws CmsException,
                         CmsVfsException,
                         CmsSecurityException
Description copied from interface: I_CmsResourceType
Writes a resource, including it's content.

Applies only to resources of type CmsFile that have a binary content attached.

Specified by:
writeFile in interface I_CmsResourceType
Overrides:
writeFile in class A_CmsResourceType
Parameters:
cms - the current cms context
securityManager - the initialized OpenCms security manager
resource - the resource to apply this operation to
Returns:
the written resource
Throws:
CmsException - if something goes wrong
CmsVfsException
CmsSecurityException
See Also:
I_CmsResourceType.writeFile(org.opencms.file.CmsObject, org.opencms.db.CmsSecurityManager, org.opencms.file.CmsFile)