Skip to main content
Version: Next

File

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.

Hierarchy

Index

Constructors

constructor

  • Returns File

Properties

staticcontainsRel

Relation between a container (a CloudObject) that has children (other CloudObjects)

For example, from a folder to the contained elements or from a function to the elements needed for that function to run.

staticcreationDateProp

creationDateProp: Property<Date>

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

fileNameProp: Property<string>

staticinstancesRel

Inverse relation of modelRel between a model and its instances Equivalent to modelRel.getInverse()

staticmimeTypeProp

mimeTypeProp: Property<string>

staticmodelRel

Relation between a CloudObjectand its model instance --modelRel-> model

staticmodificationDateProp

modificationDateProp: Property<Date>

staticnameProp

nameProp: Property<string>
@deprecated

because conflict with CloudObject.nameProp. Use File.fileNameProp instead.

staticpropertyRel

Relation between a model and the properties it defines.

staticurlProp

urlProp: Property<string>

Methods

equals

  • equals(object: any): boolean
  • 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

    Parameters

    • relation: Relation<File, D>

      the relation to follow from the starting instance (this)

    Returns Query<D, never>

    query starting from this and following the relation relation as first step of the query

followSingle

  • Start a querySingle from this instance that follows 0..1 relations

    The 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

    Parameters

    • relation: Relation<File, D>

      to follow from this starting instance

    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

    Returns T

    property value

getContentAsBinary

  • getContentAsBinary(onSuccess: (content: ArrayBuffer) => void, onFailure?: (errMsg: string) => void): any
  • getContentAsBinary(): Promise<ArrayBuffer>
  • Gets the file content as an ArrayBuffer.

    @deprecated

    consider using the new getContentAsBinary method returning a Promise instead


    Parameters

    • onSuccess: (content: ArrayBuffer) => void

      (deprecated) callback to execute when byte content has been retrieved successfully

    • optionalonFailure: (errMsg: string) => void

      (deprecated) callback to execute when content retrieval has failed

    Returns any

getContentAsString

  • getContentAsString(onSuccess: (content: string) => void, onFailure?: (errMsg: string) => void): any
  • getContentAsString(): Promise<string>
  • Get the content of this file and returns it as an UTF-8 string. Note: this method should be used only when the file is a text file.

    @deprecated

    consider using the new getContentAsString method returning a Promise instead


    Parameters

    • onSuccess: (content: string) => void

      (deprecated) callback to execute when string content has been retrieved successfully

    • optionalonFailure: (errMsg: string) => void

      (deprecated) callback to execute when content retrieval has failed

    Returns any

getContentUrl

  • getContentUrl(onSuccess: (content: string) => void, onFailure?: () => void): any
  • getContentUrl(): Promise<string>
  • Gets the URL that gives direct access to the file content:

    • For files that are external to Olympe, gives the normal URL
    • For the files stored by Olympe, provides a dataURL, with the content embedded in Base64
    @deprecated

    consider using the new getContentUrl method returning a Promise instead


    Parameters

    • onSuccess: (content: string) => void

      (deprecated) callback to execute when content has been retrieved successfully

    • optionalonFailure: () => void

      (deprecated) callback to execute when content retrieval has failed

    Returns any

getModel

  • Every CloudObject has a model which defines relations and properties its instances may have.


    Returns CloudObject

    the model of this CloudObject instance as a CloudObject instance

getModelTag

  • getModelTag(): string
  • 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

  • getSource(): string
  • Return the source id that owns this cloud object.


    Returns string

getTag

  • getTag(): string
  • Every CloudObject has a unique tag.


    Returns string

    tag of the CloudObject

isPersisted

  • isPersisted(): boolean
  • Return the persistence state of this instance.

    CloudObjects can either be volatile, and only live in the local cache. In this case, the CloudObject instance is not persisted. If a CloudObjectis 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

  • name(): string
  • Every CloudObject can define a value for its nameProperty. This method returns the current value of that property for this instance.


    Returns string

    the value of the name property of this

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

  • Create and return a query starting from this instance


    Returns Query<File, never>

    a query starting at this CloudObject instance

saveAs

  • saveAs(name: string): void
  • Save this file with specified name


    Parameters

    • name: string

      filename

    Returns void

toJSON

  • toJSON(): Object
  • 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

  • toObject(namesAsKey?: boolean, inheritedProperties?: boolean): Object
  • 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

  • asInstance<T>(this: Class<T>): T
  • Get this CloudObject class as a CloudObject instance.


    Type parameters

    • T

    Parameters

    Returns T

    the current data type class as a CloudObject instance.

staticcreateFromContent

  • createFromContent(transaction: Transaction, name: string, content: Uint8Array | ArrayBuffer, mimeType?: string, source?: string, tag?: string): string
  • @deprecated

    Please use File.setContent Create a File from its content


    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

  • createFromURL(transaction: Transaction, name: string, url: string, mimeType?: string, source?: string, tag?: string): string
  • @deprecated

    Please use File.setURLContent Create a File from a specified URL


    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 -&gt; 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.

    @static

    Parameters

    Returns boolean

    true if tag 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)

    @static

    Type parameters

    Parameters

    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 an age property, all the instances of Person can access the age property using the same tag, the tag of the age 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

    Parameters

    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

    Parameters

    Returns Query<T, never>

    A query starting from the instances of the specified model.

staticsetContent

  • setContent(transaction: Transaction, file: InstanceOrTag, name: string, content: Uint8Array | ArrayBuffer, mimeType?: string): void
  • 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 URL


    Parameters

    • 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