Class: Relation

olympe.dc.models. Relation

Model of relations, this is the model of all relations between other models.


new Relation(manager, tag)

Creates a Relation instance.

Parameters:
Name Type Description
manager olympe.dc.Manager

Data cloud manager instance

tag string

Instance tag

Extends

Members


<static> CARDINALITY :number

Relation cardinality values

Type:
  • number
Properties:
Name Type Default Description
ZERO_ONE number 1
ONE_ZERO number 2
ONE_ONE number 3
ONE_MANY number 4
MANY_ONE number 5
MANY_MANY number 6

<static> FOLLOW_RULES_VALUES :number

All kind of follow rules

Type:
  • number
Properties:
Name Type Default Description
IGNORE_ALL number 0
BOTH_REF number 5
REF_UNI number 1
REV_REF_UNI number 4
UNILATERAL number 2
REV_UNILATERAL number 8
EVERYTHING number 10
REF_AND_DEST number 6
REF_AND_ORIG number 9
DEFAULT number 6
REV_DEFAULT number 9

<static> PERMISSION_TYPE :number

Relation permission type

Type:
  • number
Properties:
Name Type Default Description
RELATION_CREATE number 0
RIGHT_WRITE number 1
RIGHT_LINK number 2
LEFT_WRITE number 4
LEFT_LINK number 8
BOTH_WRITE number 5
BOTH_LINK number 10

<protected, non-null> db :olympe.dc.DBView

Type:
Inherited From:
Overrides:

<protected> graph :olympe.dc.GraphDB

Type:
Inherited From:
Overrides:

<protected> manager :olympe.dc.Manager

Type:
Inherited From:
Overrides:

<protected> tag :string

Type:
  • string
Inherited From:
Overrides:

Methods


currentName()

Inherited From:
Overrides:
Returns:

The current name of this sync

Type
string

detachDelete( [transaction])

Remove all relations linked to the current sync and then remove the sync itself.

Parameters:
Name Type Argument Description
transaction olympe.dc.Transaction <optional>
Inherited From:
Overrides:

equals(obj)

Checks whether 2 Syncs are equal.

Parameters:
Name Type Description
obj *

The object to compare with.

Inherited From:
Overrides:
Returns:

true if this Sync is the same as the obj

Type
boolean

forEachRelated(relation, callback)

Register a callback to be called each time a specific relation is added to this object.

Note: If relations are already established at the time of calling, then the callback will be immediately invoked for each existing relation.

Parameters:
Name Type Description
relation olympe.dc.registry.Relation

The relation to follow

callback function

The function to invoke.

Inherited From:
Overrides:

getCardinality()

Gets the cardinality of the relation

Returns:
Type
olympe.df.PONumber

getContainer()

Gets the container of this instance.

Inherited From:
Overrides:
Returns:

The container.

Type
olympe.dc.Sync | olympe.df.Proxy.<olympe.dc.Sync>

getContents()

Get the instances set as content by this instance.

Inherited From:
Overrides:
Returns:

The set of instances.

Type
olympe.dc.ListDef.<!olympe.dc.Sync>

getCurrentFirstRelated(relation [, tagsOnly])

Get the currently first related object, or its tag, matching the specified transformer.

Parameters:
Name Type Argument Default Description
relation olympe.dc.registry.Relation

Relation to follow

tagsOnly boolean <optional>
false

true to return a tag (string), false for a Sync.

Inherited From:
Overrides:
Deprecated:
  • Yes
Returns:

The tag or Sync. null if there is no match.

Type
olympe.dc.Sync | string

getCurrentRelated(relation [, tagsOnly])

Gets the currently related objects, or their tags, matching the specified transformer.

Parameters:
Name Type Argument Default Description
relation olympe.dc.registry.Relation

Relation to follow

tagsOnly boolean <optional>
false

true to return an array of tags (strings), false for an array of Syncs.

Inherited From:
Overrides:
Deprecated:
  • Yes
Returns:

The resulting array of tags or Syncs.

Type
Array.<olympe.dc.Sync> | Array.<string>

getDeleteOperation()

Gets an Operation to delete this instance, and all its dependencies. This implementation is based on the follow rules stored into the datamodel. It aims at still offering a "deleteOperation" while maintaining coherency with follow rules.

Inherited From:
Overrides:
Deprecated:
Returns:

A transaction operation that will delete this model and all its instances.

Type
olympe.dc.Transaction

getDestinationModel()

Gets the model at the destination of the relation

Returns:
Type
olympe.dc.Sync | olympe.df.Proxy.<olympe.dc.Sync>

getDisplayName()

Gets the name of this Sync, defaulting to a string representation of this object.

Inherited From:
Overrides:
Returns:

The display name of this Sync.

Type
olympe.df.POString

getDomain()

Gets the domain for this Sync.

Inherited From:
Overrides:
Returns:

The domain for this Sync.

Type
olympe.dc.models.Domain | olympe.df.Proxy.<olympe.dc.models.Domain>

getExtendedModels()

Gets all the parent models for this model, recursively.

Inherited From:
Overrides:
Deprecated:
  • Use olympe.dc.ModelInfo.getExtendedModelsFrom() instead.
Returns:

A list of all the parent models.

Type
olympe.dc.ListDef

getFirstRelated(related [, valueType])

Gets the first object related to this one by the specified relation.

Parameters:
Name Type Argument Description
related olympe.dc.registry.Relation

The transformer specifying the type of relation.

valueType function <optional>

Type of the values, must be sub-class of Sync.

Inherited From:
Overrides:
Returns:

The first object matching the request.

Type
olympe.dc.Sync | T | olympe.df.Proxy.<T>

getGroupOfObjects()

Gets the Group of Objects this Sync belongs to.

Inherited From:
Overrides:
Returns:

The list of GroupOfObject.

Type
olympe.dc.ListDef.<!olympe.dc.models.GroupOfObjects>

getIncomingPropertiesDefs()

Gets all properties definitions that have this Sync as a type.

Inherited From:
Overrides:
Deprecated:
  • Yes
Returns:

The list of property definitions

Type
olympe.dc.ListDef.<!olympe.dc.models.Property>

getInheritedPropertiesDefs()

Gets all properties definitions inherited by this Sync.

Inherited From:
Overrides:
Deprecated:
  • Yes
Returns:

The list of property definitions.

Type
olympe.dc.ListDef.<!olympe.dc.models.Property>

getInstances()

Gets all instances of this model.

Inherited From:
Overrides:
Deprecated:
Returns:

The list of instances.

Type
olympe.dc.ListDef

getLeftName()

Get the name on the left side of the relation

Returns:
Type
olympe.df.POString

getManager()

Gets the related DataCloud manger.

Inherited From:
Overrides:
Returns:

The manager.

Type
olympe.dc.Manager

getModel()

Gets the model of this Sync.

Inherited From:
Overrides:
Returns:

The model of this Sync.

Type
olympe.dc.Sync

getModelAndParentModels()

Returns the model of this instance, and any parent models of this model.

Inherited From:
Overrides:
Deprecated:
Returns:
Type
olympe.dc.ListDef.<olympe.dc.Sync>

getModelTag()

Gets the tag of the model of this Sync.

Inherited From:
Overrides:
Returns:

The tag of the model.

Type
string

getName()

Gets the name of this Sync.

Inherited From:
Overrides:
Returns:

The name of this Sync.

Type
olympe.df.POString

getOriginModel()

Gets the model at the origin of the relation

Returns:
Type
olympe.dc.Sync | olympe.df.Proxy.<olympe.dc.Sync>

getOwner()

Gets the owner for this Sync.

Inherited From:
Overrides:
Returns:

The user who owns this Sync.

Type
olympe.dc.models.User | olympe.df.Proxy.<olympe.dc.models.User>

getOwnPropertiesDefs()

Gets all properties definitions defined on this Sync.

Inherited From:
Overrides:
Deprecated:
  • Use olympe.dc.ModelInfo.getOwnPropertiesFrom() and olympe.dc.ModelInfo.getOwnRelationsFrom() instead.
Returns:

The list of property definitions

Type
olympe.dc.ListDef.<!olympe.dc.models.Property>

getParentModel()

Gets the immediate parent model for this model.

Inherited From:
Overrides:
Deprecated:
  • Use olympe.dc.ModelInfo.getExtendedModelFrom() instead.
Returns:

The parent model.

Type
olympe.dc.Sync | olympe.df.Proxy.<olympe.dc.Sync>

getPermissionType()

Gets the permission type of the relation

Returns:
Type
olympe.df.PONumber

getPropertiesDefs()

Gets all properties definitions inherited and defined by this Sync.

Inherited From:
Overrides:
Deprecated:
  • Use olympe.dc.ModelInfo.getPropertiesFrom() and olympe.dc.ModelInfo.getRelationsFrom() instead.
Returns:

The list of property definitions.

Type
olympe.dc.ListDef.<!olympe.dc.models.Property>

getPropertyAsBoolean(tag)

Gets a property value as an OBoolean.

Parameters:
Name Type Description
tag olympe.dc.InstanceTag

The tag of the property.

Inherited From:
Overrides:
Returns:

The value of the property.

Type
olympe.df.POBoolean

getPropertyAsColor(tag)

Gets a property value as a Color.

Parameters:
Name Type Description
tag olympe.dc.InstanceTag

The tag of the property.

Inherited From:
Overrides:
Returns:

The value of the property.

Type
olympe.df.PColor

getPropertyAsDateTime(tag)

Gets a property value as an ODateTime.

Parameters:
Name Type Description
tag olympe.dc.InstanceTag

The tag of the property.

Inherited From:
Overrides:
Returns:

The value of the property.

Type
olympe.df.PODateTime

getPropertyAsNumber(tag)

Gets a property value as an ONumber.

Parameters:
Name Type Description
tag olympe.dc.InstanceTag

The tag of the property.

Inherited From:
Overrides:
Returns:

The value of the property.

Type
olympe.df.PONumber

getPropertyAsString(tag)

Gets a property value as an OString.

Parameters:
Name Type Description
tag olympe.dc.InstanceTag

The tag of the property.

Inherited From:
Overrides:
Returns:

The value of the property.

Type
olympe.df.POString

getPropertyAsSync(tag)

Gets a property value as a Sync.

Parameters:
Name Type Description
tag olympe.dc.InstanceTag

The tag of property.

Inherited From:
Overrides:
Returns:

The value of the property.

Type
olympe.df.Proxy.<olympe.dc.Sync> | olympe.dc.Sync

<package> getRawProperty(prop, valueCaster, valueType)

Gets a property raw value, optionally processing it with the specified callback.

Parameters:
Name Type Description
prop olympe.dc.InstanceTag

Property.

valueCaster olympe.dc.Sync.ValueCaster

Optional 'casting' function.

valueType function

The Type for the property.

Inherited From:
Overrides:
Returns:

The created node.

Type
olympe.df.Node.<T>

getRelated(relation [, valueType])

Gets all the objects related to this one by the specified relation.

Parameters:
Name Type Argument Description
relation olympe.dc.registry.Relation

The relation to follow.

valueType function <optional>

Type of the values, must be sub-class of Sync.

Inherited From:
Overrides:
Returns:

A list of objects matching the request.

Type
olympe.dc.ListDef.<T>

getSource()

Gets the source of this Sync.

Inherited From:
Overrides:
Returns:

The source.

Type
string

getTag()

Gets the unique tag of this Sync.

Inherited From:
Overrides:
Implements:
Returns:

The tag.

Type
string

getVersion()

Gets the version of this Sync.

Inherited From:
Overrides:
Returns:

The version.

Type
number

isModel()

Checks whether this Sync is a model (i.e. it has a parent model).

Inherited From:
Overrides:
Deprecated:
  • Use olympe.dc.utils.isAModel() instead.
Returns:

true if this Sync is a model.

Type
olympe.df.POBoolean

toListDef()

Returns a ListDef whose query has only the current sync as start point.

Inherited From:
Overrides:
Returns:

The created ListDef.

Type
olympe.dc.ListDef

toOString()

Convert current object to a string representation. By default, this function simply returns what getDisplayName() returns, but this simplistic behavior should typically overridden by sibling classes.

Inherited From:
Overrides:
Returns:

The string representation.

Type
olympe.df.POString

toString()

Inherited From:

transform(transformers)

Creates a ListDef representing a query which will apply the provided transformers to this Sync.

Parameters:
Name Type Argument Description
transformers olympe.dc.Transformer | Array.<olympe.dc.Transformer> <repeatable>

The transformers to apply. Note that an error is thrown if an array is passed as first argument, there is more than one arguments

Inherited From:
Overrides:
Returns:

The created ListDef.

Type
olympe.dc.ListDef