Class: EntityCollection

EntityCollection

new EntityCollection(owner)

实体Entity对象集合。集合中每个实体具有唯一标识符,该集合可以被监听。

Name Type Description
owner DataSource | CompositeEntityCollection 可选

创建此集合的数据源(或复合实体集合)。

Members

readonly collectionChangedEvent

获取从集合中添加或删除实体时触发的事件。生成的事件是EntityCollection.collectionChangedEventCallback。

readonly idString

获取此集合的全局唯一标识符。

获取此实体集合的所有者,即创建它的数据源或组合实体集合。

showBoolean

获取此实体集合是否显示。如果此属性为true,还需设置实体的show属性为true才可以显示。

swipeEnabledBoolean

获取或设置卷帘是否开启

Default Value:
false

swipeRegionBoundingRectangle

获取或设置卷帘区域,当swipeEnabled为true时有效

readonly valuesArray.<Entity>

获取集合中的实体数组。此数组不能直接修改。

Methods

static collectionChangedEventCallback(collection, added, removed, changed)

由集合变化EntityCollection#collectionChanged生成的事件签名。

Name Type Description
collection EntityCollection

触发事件的集合。

added Array.<Entity>

已添加到集合的实体Entity实例数组。

removed Array.<Entity>

已从集合中移除的实体Entity实例数组。

changed Array.<Entity>

已修改的实体Entity实例数组。

add(entity){Entity}

向实体集合添加一个实体对象。

Name Type Description
entity Entity

待添加的实体对象。

Throws:

集合中已存在具有该id标识符的实体。

Type
DeveloperError
Returns:
Type Description
Entity 添加成功返回true,否则返回false。

computeAvailability(){TimeInterval}

计算集合中实体对象的最大可用性。如果集合中包含混合的可用及不可用数据,则返回不可用数据的区间。如果所有数据都是可用的,则返回可用数据的区间。

Returns:
Type Description
TimeInterval 集合中实体对象的可用性。

contains(entity){Boolean}

判断实体对象是否已经存在于集合中。

Name Type Description
entity Entity

指定的实体对象。

Returns:
Type Description
Boolean 实体对象已在集合中返回true,不存在则返回false。

getById(id){Entity}

获取指定id的实体对象。

Name Type Description
id Object

待检索的实体id。

Returns:
Type Description
Entity 指定id的实体对象;如果集合中不存在该id的实体,返回undefined。

getOrCreateEntity(id){Entity}

获取具有指定ID的实体对象或是创建一个实体对象,如果集合中不存在此实体对象,将其添加到集合中。

Name Type Description
id Object

待检索或创建的实体对象ID。

Returns:
Type Description
Entity 新创建或已存在的实体对象。

remove(entity){Boolean}

从集合中移除一个实体对象。

Name Type Description
entity Entity

待移除的实体对象。

Returns:
Type Description
Boolean 移除成功返回true;返回false表示集合中不存在此实体,移除失败。

removeAll()

移除集合中的所有实体对象。

removeById(id){Boolean}

移除集合中指定id的实体对象。

Name Type Description
id Object

待移除的实体id。

Returns:
Type Description
Boolean 移除成功返回true;如果指定id的实体不存在于集合中,移除失败则返回false。

resumeEvents()

添加或删除项目时重新触发EntityCollection#collectionChanged事件。当事件被暂停时,所做的任何修改都将作为一个事件触发此事件。只要发出调用EntityCollection#resumeEvents请求,事件可以被多次调用。

Throws:

resumeEvents在suspendEvents事件后触发。

Type
DeveloperError

suspendEvents()

在调用EntityCollection#resumeEvents之前,防止EntityCollection#collectionChanged事件被触发,针对所有停止的操作引发一个事件,可以有效的添加或删除许多项。只要发出调用EntityCollection#resumeEvents请求,事件可以被多次调用。