2.1. BPMN for Accessor¶
2.1.1. Short description of Dtos¶
public class AccessorBucket {
/**
* Bucket name
*/
private String id;
/**
* Site for this Bucket
*/
private String site;
/**
* Creation or Deletion datetime
*/
private Instant creation;
/**
* Optional expiry datetime
*/
private Instant expires;
/**
* Status of this Bucket
*/
private AccessorStatus status = AccessorStatus.UNKNOWN;
public class AccessorObject {
/**
* Internal Id
*/
private String id;
/**
* Site for this Object
*/
private String site;
/**
* Bucket name
*/
private String bucket;
/**
* Object name
*/
private String name;
/**
* Optional: SHA 256 hash
*/
private String hash;
/**
* Status of this Object
*/
private AccessorStatus status = AccessorStatus.UNKNOWN;
/**
* Creation or Modification datetime
*/
private Instant creation;
/**
* Optional expiry datetime
*/
private Instant expires;
/**
* Length of the content of this Object
*/
private long size;
/**
* Metadata if any for this Object
*/
private final Map<String, String> metadata = new HashMap<>();
Note: Metadata keys must be lower case, starting with a letter [a-z], following by any letter [a-z], number [0-9] and “_”. This is a limitation coming from Cloud storages. Values can be string containing anything but limited in size globally (< 2KB).
public class AccessorFilter {
/**
* Optional Prefix for the name, including path
*/
private String namePrefix;
/**
* Optional list of status to filter on
*/
private AccessorStatus[] statuses;
/**
* Optional datetime for creation before this date
*/
private Instant creationBefore;
/**
* Optional datetime for creation after this date
*/
private Instant creationAfter;
/**
* Optional datetime for expiry before this date
*/
private Instant expiresBefore;
/**
* Optional datetime for expiry after this date
*/
private Instant expiresAfter;
/**
* Optional length filter less than this length
*/
private long sizeLessThan;
/**
* Optional length filter greater than this length
*/
private long sizeGreaterThan;
/**
* Optional metadata filter based on equality
*/
private final Map<String, String> metadataFilter = new HashMap<>();
2.1.2. Status logic¶

Status for Objects and Buckets¶
2.1.3. Bucket¶

Create Bucket¶

Check Local Existence Bucket (GET for Metadata)¶

Check Local/Remote Existence Bucket (GET for Metadata)¶

Delete Bucket¶

List Buckets¶
2.1.4. Object¶

Create Object¶

Check Local Existence Object or GET Metadata¶

Check Local/Remote Existence Object or GET Metadata¶

Get Local Object’s Content¶

Get Local/Remote Object’s Content¶

Delete Object¶

List Objects in Bucket¶
2.1.5. Object with special Buffered option¶

Create Object with Buffered Option¶

Get Local/Remote Object’s Content with Buffered option¶
2.1.6. Bucket Internal¶
Specific implementations for Internal Accessor:

Check Existence and Get Metadata for Local Bucket¶
2.1.7. Object Internal¶
Specific implementations for Internal Accessor:

Get Local Object’s Content¶