File
Hierarchy
- CloudObject
- File
Index
Constructors
Properties
Methods
Constructors
constructor
Returns File
Properties
staticcontainsRel
Relation between a container (a CloudObject
) that has children (other CloudObject
s)
For example, from a folder to the contained elements or from a function to the elements needed for that function to run.
staticcreationDateProp
staticextendRel
Model CloudObjects
can inherit relations and properties
from another CloudObject
model to mimic their behaviour.
Relation from a model to the CloudObject model it extends.
A --extendRel-> B
A inherits B’s properties and relations.
staticextendedByRel
Inverse relation of extendRel
staticfileNameProp
staticinstancesRel
Inverse relation of modelRel between a model and its instances
Equivalent to modelRel.getInverse()
staticmimeTypeProp
staticmodelRel
Relation between a CloudObject
and its model
instance --modelRel-> model
staticmodificationDateProp
staticnameProp
staticpropertyRel
Relation between a model and the properties it defines.
staticurlProp
Methods
equals
Compare this CloudObject and the given one and return whether they are identical or not.
Parameters
object: any
the object to compare
Returns boolean
true if the specified object is the same CloudObject
follow
Start a query from this instance and follow the relation given as argument. The query starts from this single instance, and follows a relation to an arbitrary number of destination instances. See Query.follow(relation)
The following are equivalent:
myCloudObject.follow(relation);
myCloudObject.query().follow(relation);Type parameters
- D: CloudObject<D>
Parameters
Returns Query<D, never>
query starting from
this
and following the relationrelation
as first step of the query
followSingle
Start a
querySingle
from this instance that follows 0..1 relationsThe query starts from this instance, and follow the relation to a single destination instance. It is equivalent to
QuerySingle.from(this).follow(relation)
.Type parameters
- D: CloudObject<D>
Parameters
Returns QuerySingle<D>
a query following 0-1 relations
get
Get the current value of the specified property for this CloudObject instance
Type parameters
- T
Parameters
property: InstanceOrTag | Property<T>
property or property’s tag
Returns T
property value
getContentAsBinary
Retrieve content from this file asynchronously
Parameters
onSuccess: (content: ArrayBuffer) => void
callback to execute when byte content has been retrieved successfully
optionalonFailure: (errMsg: string) => void
callback to execute when content retrieval has failed
Returns void
getContentAsString
Retrieve string content from this file asynchronously
Parameters
onSuccess: (content: string) => void
callback to execute when string content has been retrieved successfully
optionalonFailure: (errMsg: string) => void
callback to execute when content retrieval has failed
Returns void
getContentUrl
Retrieve string content from URL asynchronously
Parameters
onSuccess: (content: string) => void
callback to execute when content has been retrieved successfully
optionalonFailure: () => void
callback to execute when content retrieval has failed
Returns void
getModel
Every
CloudObject
has a model which defines relations and properties its instances may have.Returns CloudObject
the model of this
CloudObject
instance as aCloudObject
instance
getModelTag
Every
CloudObject
has a model which defines relations and properties its instances may have.Returns string
the tag of the model of this
CloudObject
instance
getSource
Return the source id that owns this cloud object.
Returns string
getTag
Every
CloudObject
has a unique tag.Returns string
tag of the CloudObject
isPersisted
Return the persistence state of this instance.
CloudObject
s can either be volatile, and only live in the local cache. In this case, theCloudObject
instance is not persisted. If aCloudObject
is persisted, it is stored in an external data store. This means that the instance can be accessible through other Olympe VMs in the same environment.Returns boolean
a boolean indicating if this object is persisted in a non-volatile way.
name
Every
CloudObject
can define a value for itsnameProperty
. This method returns the current value of that property for this instance.Returns string
the value of the
name property
ofthis
observe
Get an observable to the current value of the specified property for this
CloudObject
instance.The observable gets the new value each time the property gets updated in the datacloud. The observable gets completed automatically once the specified context is cleared. If
waitForValue
is set to FALSE (TRUE by default), the first value received by the observable is null if there is no value at call time.Type parameters
- T
Parameters
context: Context
context to which the Observable is attached
property: InstanceOrTag | Property<T>
property or property’s tag to observe
optionalwaitForValue: boolean
whether the observable wait for a first value to get a value. (Default = true)
Returns Observable<T>
Observable of property values
observeProperties
Get an observable to pair [property, value] for this
CloudObject
instance.The observable gets the new value each time any property gets updated in the datacloud. The observable gets completed automatically once the specified context is cleared.
Type parameters
- T
Parameters
context: Context
Context to which the Observable will be attached
Returns Observable<[Property<T>, T]>
Observable of property values
query
saveAs
Save this file with specified name
Parameters
name: string
filename
Returns void
toJSON
Create a Javascript object from this CloudObject current state, including its tag and property values. It provides the same result as toObject called with nameAsKey = true and inheritedProperties = false.
Returns Object
toObject
Create a Javascript object from this CloudObject current state.
Parameters
optionalnamesAsKey: boolean
If true, use the property name instead of the property tag as keys of the generated object.
optionalinheritedProperties: boolean
If false, do not including inherited property. By default, it includes them.
Returns Object
staticasInstance
Get this
CloudObject
class as aCloudObject
instance.Type parameters
- T
Parameters
this: Class<T>
Returns T
the current data type class as a CloudObject instance.
staticcreateFromContent
Parameters
transaction: Transaction
transaction in which to create the file
name: string
filename
content: Uint8Array | ArrayBuffer
byte content of the file
optionalmimeType: string
optional mime type of the file
optionalsource: string
optional source where file will be stored ({PredefinedDataSource} or DBConnector tag)
optionaltag: string
optional tag for the file
Returns string
tag string of the file
staticcreateFromURL
Parameters
transaction: Transaction
transaction in which to create the file
name: string
filename
url: string
url to retrieve content from
optionalmimeType: string
optional mime type of the file
optionalsource: string
optional source where file will be stored ({PredefinedDataSource} or DBConnector tag)
optionaltag: string
optional tag for the file
Returns string
tag string of the file
staticcreateWith
Create an instance of the specified data type (or
model
) in the local datacloud (not persisted) with the specified property values.If the model is not specified, it uses
this
DataType.Type parameters
- T
Parameters
this: Class<T>
properties: Map<InstanceOrTag, any>
mappings of (propertyTag -> propertyValue)
optionalmodel: InstanceOrTag
tag of the model of the
CloudObject
you want to create.optionalsource: string
Returns T
newly created
CloudObject
staticexists
Checks whether a
CloudObject
exists or not.Parameters
tag: InstanceOrTag
tag of the
CloudObject
Returns boolean
true
iftag
is valid and references a CloudObject.
staticget
Get the CloudObject whose tag is specified.
This only works if the
CloudObject
is already present in the local datacloud cache. (NB: you can use a Query to retrieve a distant CloudObject)Type parameters
- T: CloudObject<T>
Parameters
tag: InstanceOrTag
tag of the
CloudObject
Returns T
CloudObject
specified by the tag
staticgetProperties
The attributes of a CloudObject are called properties. Properties can be of different types, e.g.
Property<string>
,Property<number>
,Property<Date>
.If a
Person
CloudObject
has anage
property, all the instances ofPerson
can access theage
property using the same tag, the tag of theage
property. This method returns all properties defined by the Data Type associated to this class.Returns Property<any>[]
All properties defined for a data type
staticgetRelations
Return all the relations whose origin OR destination is the CloudObject associated to this class.
Type parameters
- O: CloudObject<O>
- D: CloudObject<D>
Parameters
this: Class<O>
Returns (Relation<O, D> | Relation<D, O>)[]
All relations defined on the current data type. It can be the destination or the origin of the relations.
staticinstancesOf
Return a query starting from all instances of this Data Type.
Type parameters
- T: CloudObject<T>
Parameters
model: InstanceOrTag | Class<T>
data type to get instances of
Returns Query<T, never>
A query starting from the instances of the specified model.
staticsetContent
Set the binary content of a specified file
Parameters
transaction: Transaction
transaction in which to create the file
file: InstanceOrTag
tag of the file
name: string
file name
content: Uint8Array | ArrayBuffer
byte content of the file
optionalmimeType: string
optional mime type of the file
Returns void
staticsetURLContent
Set the content of a
File
from a specified URLParameters
transaction: Transaction
transaction in which to create the file
file: InstanceOrTag
tag of the file
name: string
filename
url: string
url to retrieve content from
optionalmimeType: string
optional mime type of the file
Returns void
File is the main class used to create business objects with a binary/string data content. It is a Data Type so can be extended and associated to a data source.