Last updated

API / geotoolkit / data / DataObject / DataObject

Class: DataObject

data.DataObject.DataObject

Define base data object

Hierarchy

Table of contents

Constructors
Methods
Css Properties
Name Type Description
namestringName
typestringType
uristringUnique resource identifier

Contents

Constructors

new DataObject(options)

new DataObject(options?)

Parameters

Name Type
Optional optionsOptions

Overrides

EventDispatcher.constructor

Methods

addChild

addChild(data): DataObject

Add a child object

Parameters

Name Type Description
dataDataObject | DataObject[]the child data to be added

Returns

DataObject

this


addProperties

addProperties(properties): DataObject

Add additional properties

Parameters

Name Type Description
propertiesRecord<string, any>additional properties of the dataobject

Returns

DataObject

this


clearChildren

clearChildren(): DataObject

Remove all child data

Returns

DataObject

this


clone

clone(copyData?): DataObject

All subclasses should override copyConstructor or provide custom implementation for this method

Parameters

Name Type Description
Optional copyDatabooleanflag to copy data

Returns

DataObject

clone


copyConstructor

Protected copyConstructor(src): DataObject

Copy constructor function.
Function used as part of the cloning mechanism.
Implementations should copy the given instance state to this instance.

Parameters

Name Type Description
srcDataObjectSource to copy from

Returns

DataObject

this


dispose

dispose(): void

Dispose data object and all children. Clear all listeners

Returns

void

Overrides

EventDispatcher.dispose


getChild

getChild(i): DataObject

Return data by index

Parameters

Name Type Description
inumberindex of the data

Returns

DataObject

child


getChildren

getChildren(filter?): Iterator<DataObject>

Return iterator by child data objects

Parameters

Name Type Description
Optional filter(data: DataObject) => booleana filter function. Returns all child data objects if the value is null.

Returns

Iterator<DataObject>


getChildrenCount

getChildrenCount(): number

Return number of child data

Returns

number


getClassName

getClassName(): string

Returns

string

Inherited from

EventDispatcher.getClassName


getName

getName(): string

Returns data object name

Returns

string


getParent

getParent(): DataObject

Gets parent data item

Returns

DataObject


getProperties

getProperties(): OptionsOut

Gets all the properties pertaining to this object

Returns

OptionsOut

JSON options object


getProperty

getProperty(name): any

Gets property by name

Parameters

Name Type Description
namestringproperty name

Returns

any


getType

getType(): string

Returns data type

Returns

string


getUri

getUri(): string

Returns unique resource identifier

Returns

string


hasEventListener

hasEventListener(type, callback?): boolean

Check if a list of event listeners for this type contains this listener

Parameters

Name Type Description
typestringtype of event or property
Optional callbackFunctionto be called, if null, check if any callback is registered

Returns

boolean

Inherited from

EventDispatcher.hasEventListener


hasProperty

hasProperty(name): boolean

Returns whether data object contains specific property

Parameters

Name Type Description
namestringproperty name

Returns

boolean


indexOfChild

indexOfChild(data): number

Return index of child data ( index of the specified child or -1 if data is not found)

Parameters

Name Type Description
dataDataObjectdata object to check index

Returns

number


insertChild

insertChild(index, item, silent?): DataObject

Insert item by index

Parameters

Name Type Description
indexnumberspecified index
itemDataObjectnode
Optional silentbooleanwill not fire any events if true

Returns

DataObject

this


isDisposed

isDisposed(): boolean

Returns whether this object has been disposed

Returns

boolean

Inherited from

EventDispatcher.isDisposed


isSilent

isSilent(): boolean

Return true if the event dispatcher doesn't notify any events

Returns

boolean

Inherited from

EventDispatcher.isSilent


notify

notify<E>(type, source, args?): DataObject

Notify listeners

Type parameters

NameType
Eextends string

Parameters

Name Type Description
typeEevent types
sourceDataObjectof the event
Optional argsEventMap[E]arguments of the event

Returns

DataObject

this

Overrides

EventDispatcher.notify


off

off<E>(type?, callback?): DataObject

Detach listener on event. Calling .off() with no arguments removes all attached listeners. Calling .off(type) with no callback removes all attached listeners for specific type.

Type parameters

NameType
Eextends string

Parameters

Name Type Description
Optional typeEtype of the event
Optional callback(eventType: E, sender: DataObject, args: EventMap[E]) => voidfunction to be called

Returns

DataObject

this

Overrides

EventDispatcher.off


on

on<E>(type, callback): DataObject

Attach listener on event that will be called whenever the specified event is delivered to the target

If the callback function is already in the list of event listeners for this target, the function is not added a second time.

If a particular anonymous function is in the list of event listeners registered for a certain target, and then later in the code, an identical anonymous function is given in an "on" call, the second function will also be added to the list of event listeners for that target.

Type parameters

NameType
Eextends string

Parameters

Name Type Description
typeEtype of event or property
callback(eventType: E, sender: DataObject, args: EventMap[E]) => voidto be called

Returns

DataObject

this

Overrides

EventDispatcher.on


onPropertyChanged

onPropertyChanged(prop): DataObject

This method is called if property bag is changed using setProperty method

Parameters

Name Type Description
propObjectproperty
prop.namestring
prop.valueany

Returns

DataObject

this


query

query(): QueryBuilder<any>

Query data item and child items by different conditions

Example

// Select by function
import {DataObject} from '@int/geotoolkit/data/DataObject';

const dataobject = new DataObject({'name': 'test', 'uri': 'testuri', 'type': 'testtype'});
const item1 = new DataObject({'name': 'item1', 'uri': 'item1', 'type': 'test'});
const item2 = new DataObject({'name': 'item2', 'uri': 'item2', 'type': 'test'});
dataobject.addChild([item1, item2]);
const item5 = new DataObject({'name': 'item5', 'uri': 'item5', 'type': 'test'});
item2.addChild(item5);
let founditem = null;
dataobject.query()
.where( (item: DataObject) => item.getParent() === dataobject)
.where( (item: DataObject) => item.getUri() === 'item2')
.select((item: DataObject) => {
founditem = item;
});

Example

// Select by expression
dataobject.query()
.where( 'item => uri(item) == "item5"')
.select((item: DataObject) => {
founditem = item;
});

Returns

QueryBuilder<any>

query object which has methods 'where' tp specify conditions, 'select' to run query, 'selectToArray' select results to array Expressions syntax: "item => expression", where expression:

  • logical and arithmetic operators
  • embedded functions: name(item) - gets name of the data object url(item) - gets url of the data object type(item) - gets type of the data object

removeChild

removeChild(data, silent?): DataObject

Remove child data object

Parameters

Name Type Description
dataDataObjectdata object to be removed
Optional silentbooleanwill not fire any events if true

Returns

DataObject

this


set

set(index, item): DataObject

Sets item by index

Parameters

Name Type Description
indexnumberindex of the item
itemDataObjectnode

Returns

DataObject


setName

setName(name): DataObject

Sets data object name

Parameters

Name Type Description
namestringdata object name

Returns

DataObject

this


setParent

setParent(parent): DataObject

Sets parent data item

Parameters

Name Type Description
parentDataObjectparent data item

Returns

DataObject

this


setProperties

setProperties(properties?): DataObject

Sets all the properties pertaining to this object

Parameters

Name Type Description
Optional propertiesOptionsJSON options object

Returns

DataObject

this


setProperty

setProperty(name, value): DataObject

Sets property by name

Parameters

Name Type Description
namestringproperty name
valueanyproperty value

Returns

DataObject

this


setSilent

setSilent(bool): DataObject

Set silent mode

Parameters

Name Type Description
boolbooleanflag to enable silent mode

Returns

DataObject

this

Inherited from

EventDispatcher.setSilent


setType

setType(type): DataObject

Sets data object type

Parameters

Name Type Description
typestringdata type

Returns

DataObject

this


setUri

setUri(uri): DataObject

Sets unique resource identifier

Parameters

Name Type Description
uristringunique identifier

Returns

DataObject

this


getClassName

Static getClassName(): string

Returns

string

Inherited from

EventDispatcher.getClassName