Getting Started
Quick Start Guides
- Amazon Web Services
- Elastic Block Store Models
- Azure Storage Service
- BlueLock vCloud
- Cloud Sigma
- Eucalyptus
- File System
- Go Grid
- HP Cloud Services
- IBM Developer Cloud
- OpenStack
- Rackspace
- RimuHosting
- Terremark eCloud
- Terremark vCloud Express
Release Notes
- 1.5.0-alpha.6
- 1.5.0-alpha.5
- 1.5.0-alpha.4
- 1.5.0-alpha.3
- 1.5.0-alpha.2
- 1.5.0-alpha.1
- 1.4.0
- 1.4.0-rc.3
- 1.4.0-rc.2
- 1.4.0-rc.1
- 1.3.1
- 1.3.0
- 1.3.0-rc-2
- 1.3.0-rc-1
- 1.2.2
- 1.2.1
- 1.2.0
- 1.1.1
- 1.1.0
Maven Sites and Javadocs
- HEAD (Javadoc)
- latest release (Javadoc) permalink
- 1.5.0-alpha.6 (Javadoc)
- 1.5.0-alpha.5 (Javadoc)
- 1.5.0-alpha.4 (Javadoc)
- 1.5.0-alpha.3 (Javadoc)
- 1.5.0-alpha.2 (Javadoc)
- 1.5.0-alpha.1 (Javadoc)
- 1.4.0 (Javadoc)
- 1.4.0-rc.3 (Javadoc)
- 1.4.0-rc.2 (Javadoc)
- 1.4.0-rc.1 (Javadoc)
- 1.3.1 (Javadoc)
- 1.3.0 (Javadoc)
- 1.3.0-rc-2 (Javadoc)
- 1.3.0-rc-1 (Javadoc)
- 1.2.2 (Javadoc)
- 1.2.1 (Javadoc)
- 1.2.0 (Javadoc)
- 1.1.1 (Javadoc)
- 1.1.0 (Javadoc)
User Guides
- Using Blob Store API
- Using Compute API and Tools
- Google App Engine
- VMWare vCloud
- Terremark
- File System Provider
- Init Builder
- Using jclouds with Apache Karaf
- Using EC2
- Using Maven
Samples & Examples
FAQs
Reference
- jclouds Rationale and Design
- Location Metadata Design
- Compute API Design
- Columnar Data Design
- jclouds API
- jclouds OAuth Integration
- Using jclouds with Apache Felix OSGi Container
- Pool Design
- Load Balancer Design
- Logging in jclouds
- VMWare Integration Approach & Design
- Supported Providers
- Apps that use jclouds
- Using Provider Metadata
Developer Resources
- Contributing to jclouds
- Provider Testing
- Contributing to Documentation
- Using Eclipse
- jclouds Continuous Integration
- Provider Metadata
Old versions
Release Notes
- 1.0.0
- 1.0 Beta 8
- 1.0 Beta 7
Maven Sites and Javadocs
Filesystem provider
Package description
There is only one package that contains all the code for filesystem provider implementation, and could be found inside /filesystem folder in jclouds project
Architecture and classes responsibilities
FilesystemAsyncBlobStore is the main actor of the provider. It is responsible for all container and blob tasks. Currently, when the high-level and generic BlobStore methods are called (like putBlob or deleteBlob), the code inside this class is executed. It relies on FilesystemStorageStrategy and FileSystemBlobUtilsImpl for IO specific tasks. Generally, first exploration of the code should be performed inside this class.
FilesystemStorageStrategy and derived class FilesystemStorageStrategyImpl performs IO task on filesystem, like creation and deletion of containers and blobs.
FileSystemBlobUtilsImpl implements the required BlobUtils interface and redirects to the FilesystemStorageStrategy all its methods.
FilesystemBlobKeyValidator and derived class FilesystemBlobKeyValidatorImpl validates the key of the blob.
FilesystemContainerNameValidator and derived class FilesystemContainerNameValidatorImpl validates the container name.
FilesystemBlobStoreContextBuilder, FilesystemBlobStorePropertiesBuilder and FilesystemBlobStoreModule are used by jclouds specific IoC implementation.
FilesystemBlobStoreContextModule is the Module that link interfaces and their implementation.
Common developer customization
Changes validation rules for container name and blob key
Currently validation is performed inside classes FilesystemBlobKeyValidatorImpl and FilesystemContainerNameValidatorImpl, of package org.jclouds.filesystem.predicates.validators.internal.
If you want to change these rules, create a new class that implements interface FilesystemBlobKeyValidator or FilesystemContainerNameValidator and assign it your personalized modules list, used when creating the context.
Know issues and limits
blobstore list method lists all the file inside the container in a recursive way. Other options of the method aren't manager yes.
There are issues when compiling the class under Windows. Need to be fixed
No blob metadata are stored in this current implementation. Only the name and the content of the source payload is stored. `