Class AbstractBlobStore<T extends ConfigurationProfile>
java.lang.Object
org.craftercms.commons.file.blob.impl.AbstractBlobStore<T>
- All Implemented Interfaces:
BlobStore
- Direct Known Subclasses:
AwsS3BlobStore
public abstract class AbstractBlobStore<T extends ConfigurationProfile>
extends Object
implements BlobStore
Base class for all implementations of
BlobStore- Since:
- 3.1.6
- Author:
- joseross
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classInternal class used when loading the configuration -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected StringThe id of the storeprotected Map<String, AbstractBlobStore.Mapping> The mappings for the different environmentsprotected StringThe regex to check for compatible pathsprotected TThe profile to connect to the remote storeprotected ConfigurationMapper<T> The mapper to load the profile configurationprotected PublishingTargetResolverThe publishing target resolverFields inherited from interface org.craftercms.commons.file.blob.BlobStore
CONFIG_KEY_CONFIGURATION, CONFIG_KEY_ID, CONFIG_KEY_MAPPING, CONFIG_KEY_MAPPING_PREFIX, CONFIG_KEY_MAPPING_PUBLISHING_TARGET, CONFIG_KEY_MAPPING_STORE_TARGET, CONFIG_KEY_PATTERN, CONFIG_KEY_READ_ONLY, CONFIG_KEY_STORE, CONFIG_KEY_TYPE -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected abstract org.springframework.core.io.ResourcedoGetContent(AbstractBlobStore.Mapping mapping, String path) protected abstract voiddoInit(org.apache.commons.configuration2.HierarchicalConfiguration<org.apache.commons.configuration2.tree.ImmutableNode> config) getId()Returns the unique id of the storeprotected AbstractBlobStore.MappinggetMapping(String publishingTarget) org.springframework.core.io.ResourcegetResource(String path, Blob blob) Resolves the given blob to a readable resourcevoidinit(org.apache.commons.configuration2.HierarchicalConfiguration<org.apache.commons.configuration2.tree.ImmutableNode> config) Performs all setup needed with the given configurationbooleanisCompatible(String path) Indicates if the given path is compatible with the storevoidvoidsetPattern(String pattern) voidsetProfileMapper(ConfigurationMapper<T> profileMapper) voidsetPublishingTargetResolver(PublishingTargetResolver publishingTargetResolver)
-
Field Details
-
id
The id of the store -
pattern
The regex to check for compatible paths -
mappings
The mappings for the different environments -
profile
The profile to connect to the remote store -
profileMapper
The mapper to load the profile configuration -
publishingTargetResolver
The publishing target resolver
-
-
Constructor Details
-
AbstractBlobStore
public AbstractBlobStore()
-
-
Method Details
-
getId
Description copied from interface:BlobStoreReturns the unique id of the store -
setId
-
setPattern
-
setProfileMapper
-
setPublishingTargetResolver
-
isCompatible
Description copied from interface:BlobStoreIndicates if the given path is compatible with the store- Specified by:
isCompatiblein interfaceBlobStore- Parameters:
path- path to check- Returns:
- true if the path is compatible
-
init
public void init(org.apache.commons.configuration2.HierarchicalConfiguration<org.apache.commons.configuration2.tree.ImmutableNode> config) throws ConfigurationException Description copied from interface:BlobStorePerforms all setup needed with the given configuration- Specified by:
initin interfaceBlobStore- Parameters:
config- the configuration object- Throws:
ConfigurationException- is any error occurs
-
doInit
protected abstract void doInit(org.apache.commons.configuration2.HierarchicalConfiguration<org.apache.commons.configuration2.tree.ImmutableNode> config) throws ConfigurationException - Throws:
ConfigurationException
-
getResource
Description copied from interface:BlobStoreResolves the given blob to a readable resource- Specified by:
getResourcein interfaceBlobStore- Parameters:
path- the path of the resourceblob- the blob file- Returns:
- the resource object
-
doGetContent
protected abstract org.springframework.core.io.Resource doGetContent(AbstractBlobStore.Mapping mapping, String path) -
getMapping
-