套件 | mx.data |
類別 | public class DataStore |
繼承 | DataStore EventDispatcher Object |
語言版本: | ActionScript 3.0 |
產品版本: | Adobe Digital Enterprise Platform Data Services for Java EE 3 |
執行階段版本: | Flash Player 9, AIR 1.1 |
commit()
method send only changes made to that
DataService.
When you use managed associations, the default changes so that all
DataService instances that share the same set of channels and have
the same value of the use-transactions flag share the same DataStore.
When you are sharing a DataStore, a single call to the commit()
method applies to all changes made by all DataService instances sharing that
DataStore.
The default changes because with managed associations, it is
possible that changes between destinations can have dependencies
so it is important to preserve the order of operations
on the client when sending messages to the server.
If you want to change the default, you can create your own DataStore
and manually assign it to the dataStore
property of one or more
DataService instances.
Do this when you first initialize your DataService, before you have
issued any other DataService api calls such as fill or getItem.
Note: All DataServices which share the same DataStore must be using the
same set of channels and the same setting for useTransactions
flag.
Settings that are not consistent will throw an error.
屬性 | 定義自 | ||
---|---|---|---|
autoCommit : Boolean
If set to true, operations that modify the state managed by the
DataService are committed immediately. | DataStore | ||
autoCommitCollectionChanges : Boolean
When set to true, any changes made to a collection are committed
immediately if the autoCommit property is true. | DataStore | ||
autoCommitPropertyChanges : Boolean
When set to true and the autoCommit property
is set to true,
any property value change automatically leads to a "commit" for that
change. | DataStore | ||
autoConnect : Boolean
Indicates if this service should attempt to connect for any operations
that require a connection. | DataStore | ||
autoConnectInterval : int = 5000
Time interval in milliseconds to wait between attempts to connect to the
server when the autoConnect property is true. | DataStore | ||
autoMerge : Boolean
Controls how changes that other clients make are merged into this client's
current view of the data. | DataStore | ||
autoSaveCache : Boolean
The local cache of data and changes can be stored to disk. | DataStore | ||
cacheID : String
Provides access to the cache identifier for this service. | DataStore | ||
channelSet : ChannelSet
Provides access to the ChannelSet used by the this DataStore. | DataStore | ||
commitQueueMode : int
Controls when a committed batch of changes is sent to the server when you call
commit on a second batch while the client is still waiting for a reply from
a previously committed batch. | DataStore | ||
commitRequired : Boolean [唯讀]
Indicates if there are pending updates that must be committed. | DataStore | ||
conflicts : Conflicts [唯讀]
The list of conflicts for all managed items. | DataStore | ||
connected : Boolean [唯讀]
Indicates whether the DataStore is connected. | DataStore | ||
constructor : Object
類別物件的參照或是特定物件實體的建構函數。 | Object | ||
currentBatch : MessageBatch [唯讀]
The current batch of changes waiting to be committed to the server
when you autoCommit=false. | DataStore | ||
destination : String [唯讀]
The destination for this DataStore. | DataStore | ||
detectConflictsOnRefresh : Boolean = true
A flag you can set to disable conflict detection during the refresh/reconnect
operation. | DataStore | ||
encryptLocalCache : Boolean
Some local disk cache storage implementations support encyrption of
the stored data. | DataStore | ||
fallBackToLocalFill : Boolean
This flag determines whether the application should query against the
local store when it is not connected. | DataStore | ||
identifier : String
The identifier of this DataStore. | DataStore | ||
ignoreCollectionUpdates : Boolean
Indicates if changes to managed collections should be ignored instead of
being communicated to the server on a commit. | DataStore | ||
isInitialized : Boolean [唯讀]
Indicates when this DataStore is initialized and ready for use. | DataStore | ||
mergeRequired : Boolean [唯讀]
Indicates if there are any pending changes that must be
merged. | DataStore | ||
priority : int
The default message priority for the messages sent by the DataStore. | DataStore | ||
processingServerChanges : Boolean
Indicates whether or not pushed server changes are currently being merged
into the client's view of the managed objects. | DataStore | ||
requestTimeout : int
Provides access to the request timeout in seconds for an operation. | DataStore | ||
restoreCommittedUnsentBatchesOnFault : Boolean = false
When the client receives an error processing a message, setting this
property to true causes it to "uncommit" any batches which you've committed
but have not yet been sent to the server. | DataStore | ||
saveCacheMinIntervalMillis : int = 0
This time interval can be set to reduce the frequency of how often the cache is saved. | DataStore | ||
throwErrorOnIDChange : Boolean = true
A flag you can set to false to restore the LiveCycle Data Services 2.6
behavior of logging an error but not throwing an error when the UID property is changed. | DataStore | ||
uncommittedBatches : ArrayCollection [唯讀]
The list of MessageBatches which are currently uncommitted. | DataStore |
方法 | 定義自 | ||
---|---|---|---|
DataStore(destination:String, useTransactions:Boolean, adapter:DataServiceAdapter = null, offlineAdapter:DataServiceOfflineAdapter = null)
Normally, a DataStore is created automatically for you but you
can create your own DataStore and assign it to the dataStore property
of a DataService. | DataStore | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
會在 EventDispatcher 物件註冊事件偵聽程式,以便讓偵聽程式收到事件的通知。 | EventDispatcher | ||
Commits pending changes for collections and items managed by this DataStore. | DataStore | ||
Indicates if there are pending updates on a particular object
that are waiting to be committed. | DataStore | ||
Forces a connection attempt by this service to the remote destination. | DataStore | ||
createBatch(itemsOrCollection:Array = null, cascadeCommit:Boolean = false, properties:Object = null):MessageBatch
Takes any changes specified by this operation, creates a new MessageBatch and
puts that batch into the uncommittedBatches list. | DataStore | ||
Forces all data services using this data store to be disconnected. | DataStore | ||
會將事件傳送到事件流程。 | EventDispatcher | ||
This method will fill the specified ListCollectionView
with all cache identifiers previously used in the application. | DataStore | ||
會檢查 EventDispatcher 物件是否有對特定的事件類型註冊偵聽程式。 | EventDispatcher | ||
指出物件是否有已定義的指定屬性。 | Object | ||
Initializes the DataStore which involves initialization of metadata of
all the attached ConcreteDataService instances. | DataStore | ||
指出 Object 類別的實體是否位於指定為參數的物件原型鏈中。 | Object | ||
Log the user out from the current destination. | DataStore | ||
Merges any pending updates into the managed set of objects. | DataStore | ||
指出指定的屬性是否存在,以及是否可列舉。 | Object | ||
Refetch all data managed on the client. | DataStore | ||
Release all data managed on the client. | DataStore | ||
會從 EventDispatcher 物件移除偵聽程式。 | EventDispatcher | ||
Reverts all pending (uncommitted) changes for all DataServices
managed by this DataStore. | DataStore | ||
Reverts all pending (uncommitted) changes for any items in the specified
managed collection. | DataStore | ||
Set the credentials for this DataStore destination. | DataStore | ||
為迴圈作業設定動態屬性的可用性。 | Object | ||
Set the credentials for the 3rd party of this DataStore destination. | DataStore | ||
傳回代表此物件的字串,根據地區特定慣例進行格式化。 | Object | ||
會傳回指定之物件的字串形式。 | Object | ||
會傳回指定之物件的基本值。 | Object | ||
檢查此 EventDispatcher 物件是否已註冊事件偵聽程式,或者此物件的任何祖系已為特定事件類型註冊事件偵聽程式。 | EventDispatcher |
事件 | 摘要 | 定義自 | ||
---|---|---|---|---|
[廣播事件] 當 Flash Player 或 AIR 應用程式取得作業系統焦點並成為作用中時傳送。 | EventDispatcher | |||
Dispatched when a conflict is detected between either pending changes on this client and changes submitted by another client, or when changes submitted by this client result detect a conflict error at the remote destination. | DataStore | |||
[廣播事件] 當 Flash Player 或 AIR 應用程式失去作業系統焦點並成為非作用中時傳送。 | EventDispatcher | |||
The FaultEvent.FAULT event is dispatched when the commit call returns an error. | DataStore | |||
The ResultEvent.RESULT event is dispatched when the commit call successfully returns. | DataStore |
常數 | 定義自 | ||
---|---|---|---|
CQ_AUTO : int = 1 [靜態]
Specifies to check for simple dependencies between any outstanding batches
and the next batch to commit. | DataStore | ||
CQ_NOWAIT : int = 3 [靜態]
Specifies to send the second batch immediately, not checking for dependencies. | DataStore | ||
CQ_ONE_AT_A_TIME : int = 0 [靜態]
Specifies to wait for a previous batch to complete before committing a new batch. | DataStore |
autoCommit | 屬性 |
autoCommit:Boolean
語言版本: | ActionScript 3.0 |
產品版本: | Adobe Digital Enterprise Platform Data Services for Java EE 3 |
執行階段版本: | Flash Player 9, AIR 1.1 |
If set to true
, operations that modify the state managed by the
DataService are committed immediately. If set to false
, you
must explicitly call the commit()
method to send the changes to the server.
預設值為 true。
實作
public function get autoCommit():Boolean
public function set autoCommit(value:Boolean):void
autoCommitCollectionChanges | 屬性 |
autoCommitCollectionChanges:Boolean
語言版本: | ActionScript 3.0 |
產品版本: | Adobe Digital Enterprise Platform Data Services for Java EE 3 |
執行階段版本: | Flash Player 9, AIR 1.1 |
When set to true
, any changes made to a collection are committed
immediately if the autoCommit
property is true
.
When it is set to false
,
any add/remove operations you perform on a collection are not committed
immediately.
預設值為 true。
實作
public function get autoCommitCollectionChanges():Boolean
public function set autoCommitCollectionChanges(value:Boolean):void
autoCommitPropertyChanges | 屬性 |
autoCommitPropertyChanges:Boolean
語言版本: | ActionScript 3.0 |
產品版本: | Adobe Digital Enterprise Platform Data Services for Java EE 3 |
執行階段版本: | Flash Player 9, AIR 1.1 |
When set to true
and the autoCommit
property
is set to true
,
any property value change automatically leads to a "commit" for that
change.
If false
, changing the property on a VO will
not automatically cause a commit call. To commit an update, you instead
can call the commit()
method explicitly,
or you can call the DataManager.updateItem()
method
to commit changes to just that item.
預設值為 true。
實作
public function get autoCommitPropertyChanges():Boolean
public function set autoCommitPropertyChanges(value:Boolean):void
autoConnect | 屬性 |
autoConnect:Boolean
語言版本: | ActionScript 3.0 |
產品版本: | Adobe Digital Enterprise Platform Data Services for Java EE 3 |
執行階段版本: | Flash Player 9, AIR 1.1 |
Indicates if this service should attempt to connect for any operations
that require a connection.
Operations such as fill()
, getItem()
,
and count()
attempt to connect
if the service is disconnected and autoConnect
is set
to true
.
Use this property to control occasionally connected application behavior.
實作
public function get autoConnect():Boolean
public function set autoConnect(value:Boolean):void
autoConnectInterval | 屬性 |
public var autoConnectInterval:int = 5000
語言版本: | ActionScript 3.0 |
產品版本: | Adobe Digital Enterprise Platform Data Services for Java EE 3 |
執行階段版本: | Flash Player 9, AIR 1.1 |
Time interval in milliseconds to wait between attempts to connect to the
server when the autoConnect
property is true
.
預設值為 5000。
autoMerge | 屬性 |
autoMerge:Boolean
語言版本: | ActionScript 3.0 |
產品版本: | Adobe Digital Enterprise Platform Data Services for Java EE 3 |
執行階段版本: | Flash Player 9, AIR 1.1 |
Controls how changes that other clients make are merged into this client's
current view of the data. If this property is false
, messages are
queued up until the application invokes the merge()
method explicitly.
If this property is true
, changes are applied as they come in. If the client
has pending uncommitted changes made to an item that conflict with the merged changes, a conflict
is generated and added to the list of unresolved conflicts for this client. You can listen for
change events on this property to be notified when a
merge needs to be applied.
實作
public function get autoMerge():Boolean
public function set autoMerge(value:Boolean):void
autoSaveCache | 屬性 |
autoSaveCache:Boolean
語言版本: | ActionScript 3.0 |
產品版本: | Adobe Digital Enterprise Platform Data Services for Java EE 3 |
執行階段版本: | Flash Player 9, AIR 1.1 |
The local cache of data and changes can be stored to disk.
When autoSaveCache
is true
each time a change
is made or a remote request is returned that data will be saved to disk.
If there is a problem saving the data either because the disk is full
or write permissions have been denied a FaultEvent
will be
dispatched or a Fault
will be thrown.
Setting this value to false
(the default) will not save any
data or changes to disk.
To force the current data and changes to be saved locally use the
saveCache
method.
實作
public function get autoSaveCache():Boolean
public function set autoSaveCache(value:Boolean):void
相關 API 元素
cacheID | 屬性 |
cacheID:String
語言版本: | ActionScript 3.0 |
產品版本: | Adobe Digital Enterprise Platform Data Services for Java EE 3 |
執行階段版本: | Flash Player 9, AIR 1.1 |
Provides access to the cache identifier for this service.
A cache identifier must be set prior to performing any operations that
require interaction with data stored locally on disk.
If a cache identifier is not set all cache methods and properties are
considered inconsistent DataServiceError
will be
thrown during any operation that requires data from the local disk.
This property is provides a unique "session" identifier for data stored
locally.
A developer must set this property to a unique value for the
application.
A value of null
or empty string is considered unset.
實作
public function get cacheID():String
public function set cacheID(value:String):void
channelSet | 屬性 |
channelSet:ChannelSet
語言版本: | ActionScript 3.0 |
產品版本: | Adobe Digital Enterprise Platform Data Services for Java EE 3 |
執行階段版本: | Flash Player 9, AIR 1.1 |
Provides access to the ChannelSet used by the this DataStore.
The ChannelSet can be manually constructed and assigned, or it will be
dynamically created to use the configured Channels for the
destinations
using this DataStore. The channelSet
should be the same for all DataService objects using the same DataStore.
實作
public function get channelSet():ChannelSet
public function set channelSet(value:ChannelSet):void
commitQueueMode | 屬性 |
commitQueueMode:int
語言版本: | ActionScript 3.0 |
產品版本: | Adobe Digital Enterprise Platform Data Services for Java EE 3 |
執行階段版本: | Flash Player 9, AIR 1.1 |
Controls when a committed batch of changes is sent to the server when you call commit on a second batch while the client is still waiting for a reply from a previously committed batch. If the batch is immediately sent to the server, it can cause problems if changes in this batch are dependent upon changes made by the server when committing the previous batch. For example, you may be updating an item created by the server in the first batch. If the server assigned id has not yet been received by the client, the update will not include the proper id for that item. If the second batch always waits for the first batch to complete, it can increase the time it makes to perform a series of changes that are time dependent (e.g. if you are updating a cursor position over and over again).
The default mode is CQ_AUTO. This mode checks for simple dependencies between any outstanding batches and the next batch to commit. If it sees that there are none, it sends the new batch immediately. If it sees that it has an update or a delete which depend upon an outstanding create, it holds the update/delete until the create completes. This imposes some overhead on each commit to check for dependencies but is typically a good compromise between the other two modes, CQ_NOWAIT and CQ_ONE_AT_A_TIME.
CQ_NOWAIT will send the second batch immediately, not checking for dependencies. You might use this mode if you are assigning ids for new objects on the client and need to overlap batches to achieve performance goals.
CQ_ONE_AT_A_TIME will always wait for a previous batch to complete before committing a new batch. This mode simplifies error handling logic by ensuring the server will not receive a batch of changes missing changes made by the server in handling the previous batch. It also ensures that if an error occurs handling one batch that the server won't receive a second batch until the errors for the first one are resolved on the client.
預設值為 CQ_AUTO。
實作
public function get commitQueueMode():int
public function set commitQueueMode(value:int):void
commitRequired | 屬性 |
commitRequired:Boolean
[唯讀] 語言版本: | ActionScript 3.0 |
產品版本: | Adobe Digital Enterprise Platform Data Services for Java EE 3 |
執行階段版本: | Flash Player 9, AIR 1.1 |
Indicates if there are pending updates that must be committed.
此屬性可以做為資料繫結的來源。一旦修改此屬性,將傳送 propertyChange
事件。
實作
public function get commitRequired():Boolean
conflicts | 屬性 |
connected | 屬性 |
currentBatch | 屬性 |
currentBatch:MessageBatch
[唯讀] 語言版本: | ActionScript 3.0 |
產品版本: | Adobe Digital Enterprise Platform Data Services for Java EE 3 |
執行階段版本: | Flash Player 9, AIR 1.1 |
The current batch of changes waiting to be committed to the server
when you autoCommit=false
.
You can use this property to iterate through the
changes that will be applied when you call the commit()
method.
A batch can be committed or reverted independently of the other batches.
The entire set of uncommitted batches is stored in the uncommittedBatches
property.
The value of the currentBatch
property is always the last batch
in the uncommittedBatches
list.
此屬性可以做為資料繫結的來源。一旦修改此屬性,將傳送 propertyChange
事件。
實作
public function get currentBatch():MessageBatch
destination | 屬性 |
detectConflictsOnRefresh | 屬性 |
public var detectConflictsOnRefresh:Boolean = true
語言版本: | ActionScript 3.0 |
產品版本: | Adobe Digital Enterprise Platform Data Services for Java EE 3 |
執行階段版本: | Flash Player 9, AIR 1.1 |
A flag you can set to disable conflict detection during the refresh/reconnect
operation.
In LiveCycle Data Services version 2.6.1,
conflict detection was not done on refresh so you can set this
to false
to restore the 2.6.1 behavior.
預設值為 true。
encryptLocalCache | 屬性 |
encryptLocalCache:Boolean
語言版本: | ActionScript 3.0 |
產品版本: | Adobe Digital Enterprise Platform Data Services for Java EE 3.1 |
執行階段版本: | Flash Player 9, AIR 1.1 |
Some local disk cache storage implementations support encyrption of the stored data. Setting this flag to true will enable encryption for local stores that do support it.
實作
public function get encryptLocalCache():Boolean
public function set encryptLocalCache(value:Boolean):void
fallBackToLocalFill | 屬性 |
fallBackToLocalFill:Boolean
語言版本: | ActionScript 3.0 |
產品版本: | Adobe Digital Enterprise Platform Data Services for Java EE 3.1 |
執行階段版本: | Flash Player 9, AIR 1.1 |
This flag determines whether the application should query against the
local store when it is not connected. By default when the offline adapter is
configured to support dynamic query execution, invoking fill()
will not query
the local store when the application is not connected. If fallBackToLocalFill is
set to true, then the local store queried as well when the application
is disconnected.
實作
public function get fallBackToLocalFill():Boolean
public function set fallBackToLocalFill(value:Boolean):void
identifier | 屬性 |
identifier:String
語言版本: | ActionScript 3.0 |
產品版本: | Adobe Digital Enterprise Platform Data Services for Java EE 3 |
執行階段版本: | Flash Player 9, AIR 1.1 |
The identifier of this DataStore. This optional property is used with cache configuration to uniquely identify this DataStore. This value must be session independent, that is, you should not create this identifier at runtime using a method like UIDUtil.createUID() If this value is not assigned one is calculated based on server configuration values for the associated channels.
實作
public function get identifier():String
public function set identifier(value:String):void
ignoreCollectionUpdates | 屬性 |
ignoreCollectionUpdates:Boolean
語言版本: | ActionScript 3.0 |
產品版本: | Adobe Digital Enterprise Platform Data Services for Java EE 3.1 |
執行階段版本: | Flash Player 9, AIR 1.5 |
Indicates if changes to managed collections should be ignored instead of being communicated to the server on a commit.
實作
public function get ignoreCollectionUpdates():Boolean
public function set ignoreCollectionUpdates(value:Boolean):void
isInitialized | 屬性 |
isInitialized:Boolean
[唯讀] 語言版本: | ActionScript 3.0 |
產品版本: | Adobe Digital Enterprise Platform Data Services for Java EE 3 |
執行階段版本: | Flash Player 9, AIR 1.1 |
Indicates when this DataStore is initialized and ready for use. This property is only needed when working with a runtime configured application or one that needs access to locally cached data on disk.
此屬性可以做為資料繫結的來源。一旦修改此屬性,將傳送 propertyChange
事件。
實作
public function get isInitialized():Boolean
mergeRequired | 屬性 |
mergeRequired:Boolean
[唯讀] 語言版本: | ActionScript 3.0 |
產品版本: | Adobe Digital Enterprise Platform Data Services for Java EE 3 |
執行階段版本: | Flash Player 9, AIR 1.1 |
Indicates if there are any pending changes that must be merged.
此屬性可以做為資料繫結的來源。一旦修改此屬性,將傳送 propertyChange
事件。
實作
public function get mergeRequired():Boolean
priority | 屬性 |
priority:int
語言版本: | ActionScript 3.0 |
產品版本: | Adobe Digital Enterprise Platform Data Services for Java EE 3 |
執行階段版本: | Flash Player 9, AIR 1.1 |
The default message priority for the messages sent by the DataStore. The valid values are 0 to 9 (0 being lowest) and -1 means that the DataStore does not have a priority set. Note that if the message already has a priority defined, that takes precedence over this priority.
實作
public function get priority():int
public function set priority(value:int):void
processingServerChanges | 屬性 |
processingServerChanges:Boolean
語言版本: | ActionScript 3.0 |
產品版本: | Adobe Digital Enterprise Platform Data Services for Java EE 3 |
執行階段版本: | Flash Player 9, AIR 1.1 |
Indicates whether or not pushed server changes are currently being merged into the client's view of the managed objects. This happens at any time when autoMerge is true. If autoMerge is false, this will only be set when you are explictly calling the merge method. The point of this flag is to let you know the difference between an asynchronous server pushed changed and one made by the user in your set methods.
此屬性可以做為資料繫結的來源。一旦修改此屬性,將傳送 propertyChange
事件。
實作
public function get processingServerChanges():Boolean
public function set processingServerChanges(value:Boolean):void
requestTimeout | 屬性 |
requestTimeout:int
語言版本: | ActionScript 3.0 |
產品版本: | Adobe Digital Enterprise Platform Data Services for Java EE 3 |
執行階段版本: | Flash Player 9, AIR 1.1 |
Provides access to the request timeout in seconds for an operation. A value less than or equal to zero prevents request timeout.
實作
public function get requestTimeout():int
public function set requestTimeout(value:int):void
restoreCommittedUnsentBatchesOnFault | 屬性 |
public var restoreCommittedUnsentBatchesOnFault:Boolean = false
語言版本: | ActionScript 3.0 |
產品版本: | Adobe Digital Enterprise Platform Data Services for Java EE 3 |
執行階段版本: | Flash Player 9, AIR 1.1 |
When the client receives an error processing a message, setting this
property to true
causes it to "uncommit" any batches which you've committed
but have not yet been sent to the server.
If you set the commitQueueMode
property to
ONE_AT_A_TIME
and set this property to true
,
you can only deal with one batches errors
at a time. Otherwise, it is possible to receive faults from a series of
faults which can make resolving them a bit more complicated.
預設值為 false。
saveCacheMinIntervalMillis | 屬性 |
public var saveCacheMinIntervalMillis:int = 0
語言版本: | ActionScript 3.0 |
產品版本: | Adobe Digital Enterprise Platform Data Services for Java EE 3 |
執行階段版本: | Flash Player 9, AIR 1.1 |
This time interval can be set to reduce the frequency of how often the cache is saved.
When the autoSaveCache
property is true
,
LiveCycle Data Services saves the cache after each change.
If you have a reasonable large cache, this can be expensive so you might want to reduce the
frequency in which the cache is saved.
If you set this property to 1000 milliseconds, the
cache is saved no more than once per second.
預設值為 0。
throwErrorOnIDChange | 屬性 |
public var throwErrorOnIDChange:Boolean = true
語言版本: | ActionScript 3.0 |
產品版本: | Adobe Digital Enterprise Platform Data Services for Java EE 3 |
執行階段版本: | Flash Player 9, AIR 1.1 |
A flag you can set to false
to restore the LiveCycle Data Services 2.6
behavior of logging an error but not throwing an error when the UID property is changed.
預設值為 true。
uncommittedBatches | 屬性 |
uncommittedBatches:ArrayCollection
[唯讀] 語言版本: | ActionScript 3.0 |
產品版本: | Adobe Digital Enterprise Platform Data Services for Java EE 3 |
執行階段版本: | Flash Player 9, AIR 1.1 |
The list of MessageBatches which are currently uncommitted.
To preserve data integrity, in general the order of operations should
not be altered so this list is read-only. You create a new batch by calling
the createBatch()
method.
This method adds a new batch to the end of the uncommittedBatches
list
and sets currentBatch
to be the last element in that list.
These properties are bindable so you can watch for the commitRequired
flag
in a particular batch to see if it has changes, or bind against the items
property to get the list of MessageCacheItems waiting to be committed as part
of that batch.
此屬性可以做為資料繫結的來源。一旦修改此屬性,將傳送 propertyChange
事件。
實作
public function get uncommittedBatches():ArrayCollection
DataStore | () | 建構函式 |
public function DataStore(destination:String, useTransactions:Boolean, adapter:DataServiceAdapter = null, offlineAdapter:DataServiceOfflineAdapter = null)
語言版本: | ActionScript 3.0 |
產品版本: | Adobe Digital Enterprise Platform Data Services for Java EE 3 |
執行階段版本: | Flash Player 9, AIR 1.1 |
Normally, a DataStore is created automatically for you but you
can create your own DataStore and assign it to the dataStore
property
of a DataService. To do this, you must ensure all data services
that share the same data store use the same channel set and have
the same value of the use-transactions
configuration setting.
Use this constructor to create a DataStore where the destination
parameter contains the destination of one of the DataServices using
this data store. This is just used to look up the channel set.
You also should provide the value for the use-transactions
flag for
this data store.
destination:String — A destination.
| |
useTransactions:Boolean — true to use transactions.
| |
adapter:DataServiceAdapter (default = null ) — The adapter.
| |
offlineAdapter:DataServiceOfflineAdapter (default = null ) — Offline adapter for local cache support.
|
commit | () | 方法 |
public function commit(itemsOrCollections:Array = null, cascadeCommit:Boolean = false):mx.rpc:AsyncToken
語言版本: | ActionScript 3.0 |
產品版本: | Adobe Digital Enterprise Platform Data Services for Java EE 3 |
執行階段版本: | Flash Player 9, AIR 1.1 |
Commits pending changes for collections and items managed by this DataStore.
When the autoCommit
property is true
, transactions
are not used and you do not need to call this method.
To use transactions, set the autoCommit
property to
false
and call this method directly to commit a batch of changes.
You typically just call "commit()" with no arguments which will commit all pending
changes. You can supply optional arguments to commit a subset of the pending
changes.
You must resolve all outstanding conflicts before you can commit changes to any item in the DataStore.
If the assembler is configured to have use-transactions set to true, all changes are committed atomically. If any operation fails, none of the operations in the batch are applied. If use-transactions is set to false, the operations are each committed individually until a failure occurs at which point processing stops. Any changes that occur before the error are applied, any changes which occur after the error are not applied. When an error occurs when processing a batch, the changes are put back into the uncommitted queue. You need to call revertChanges if you want to remove the changes which caused the error.
By default, the commit method will commit all pending changes for all items which have been created, modified, and deleted for this DataStore. If you want to commit a subset of these changes, you can specify a combination of managed ArrayCollection instances and/or managed items which define the subset of changes you want included in the batch. For each array collection you specify, any changes made either to the membership or order of items in that array collection or any changes to items in that array collection are committed. You can also specify a list of individual managed items so that only changes for those items are committed. If you specify any objects in the itemsOrCollections parameter which are not managed collections or items, a DataServiceError is thrown.
If you are using the itemsOrCollections parameter and your items have association properties which refer to other items, you can use the cascadeCommit parameter to control whether or not changes made to associated items are also included in batch. For example, if you specify a Group item in the items parameter, and the Group instance has a members property which refers to a list of Person instances when cascadeCommit is true changes to any Person instance will also be included in the set of changes committed. If cascadeCommit is false, only changes to the Group would be included. Use cascadeCommit=true to ensure that any dependent changes are included in the batch.
參數
itemsOrCollections:Array (default = null ) — This is an optional parameter which defaults to null when
you want to commit all pending changes. If you want to commit a subset of the pending
changes use this argument to specify a list of managed ListCollectionView instances
and/or managed items. ListCollectionView objects are most typically ArrayCollections
you have provided to your fill method. The items appropriate for this method are
any managed version of the item. These are any items you retrieve from getItem, createItem
or using the getItemAt method from a managed collection. Only changes for the
items defined by any of the values in this array will be committed.
| |
cascadeCommit:Boolean (default = false ) — If true , also commit changes made to any associated
items supplied in this list.
|
mx.rpc:AsyncToken — AsyncToken that is returned in call property of
either the ResultEvent.RESULT or in the
FaultEvent.FAULT .
Custom data can be attached to this object and inspected later
during the event handling phase. If no changes have been made
to the relevant items, null is returned instead of an AsyncToken.
|
commitRequiredOn | () | 方法 |
public function commitRequiredOn(item:Object):Boolean
語言版本: | ActionScript 3.0 |
產品版本: | Adobe Digital Enterprise Platform Data Services for Java EE 3.1 |
執行階段版本: | Flash Player 9, AIR 1.1 |
Indicates if there are pending updates on a particular object that are waiting to be committed.
參數
item:Object — The object that might have changes.
|
Boolean — true if the object has pending changes,
and false if the object is null or if there are no changes.
|
connect | () | 方法 |
public function connect():mx.rpc:AsyncToken
語言版本: | ActionScript 3.0 |
產品版本: | Adobe Digital Enterprise Platform Data Services for Java EE 3 |
執行階段版本: | Flash Player 9, AIR 1.1 |
Forces a connection attempt by this service to the remote destination.
This method may be used in conjunction with the autoConnect
property and disconnect()
method to control connection
status.
mx.rpc:AsyncToken — AsyncToken reference to the token that will identify this
operation in a result or fault event dispatched from this service.
When calling connect() the token's result handler will
always be called and the result will be the current value of this
service's connected property.
|
createBatch | () | 方法 |
public function createBatch(itemsOrCollection:Array = null, cascadeCommit:Boolean = false, properties:Object = null):MessageBatch
語言版本: | ActionScript 3.0 |
產品版本: | Adobe Digital Enterprise Platform Data Services for Java EE 3 |
執行階段版本: | Flash Player 9, AIR 1.1 |
Takes any changes specified by this operation, creates a new MessageBatch and puts that batch into the uncommittedBatches list. If itemsOrCollection=null, the entire set of messages in the currentBatch are put into the new batch and a new batch is created as the currentBatch. You call this method when you want to partition a set of changes to mark a block of work that can be committed or reverted as a unit. For example, if you create a parent object and create a child which is associated with that parent, I might then call 'createBatch()' to put both of these changes into a group. If you do this twice, you'd have two batches each creating one parent and one child. You can then commit each group of changes independently as long as they are committed in the order in which the batches were created. You also could revert the most recent batch and it would leave the first batch unchanged. A simple multi-level"undo" system can be implemented this way simply by calling createBatch(null) after each operation.
You can mark a batch with a set of user-defined properties with the MessageBatch.properties property (or the properties argument to this method). This information gets saved and restored with the batch when using the offline feature and can be used to identify the batch on the client. Values placed in here must be serializable (i.e. Objects or classes with [RemoteClass]).
If you supply a value for the itemsOrCollection parameter, a new batch is created which just has the changes for the item or collection of items. If you set cascadeCommit to true, any changes for associated items are also included in the set of messages split out into the new batch.
參數
itemsOrCollection:Array (default = null ) — may be either an array of items or an array of managed collections.
If the former, change messages for each of the items are split out into the new batch. If the latter,
changes for each each item in each of the collections are split out into the new batch. If null,
the entire set of messages in the currentBatch are put into the new batch and a new batch is created as the currentBatch.
| |
cascadeCommit:Boolean (default = false ) — when true, any changes for associated items are also included in the set of messages split out
into the new batch.
| |
properties:Object (default = null ) — user-defined proeprties to mark the batch.
|
MessageBatch — the newly created MessageBatch.
|
disconnect | () | 方法 |
public function disconnect():void
語言版本: | ActionScript 3.0 |
產品版本: | Adobe Digital Enterprise Platform Data Services for Java EE 3 |
執行階段版本: | Flash Player 9, AIR 1.1 |
Forces all data services using this data store to be disconnected.
getCacheIDs | () | 方法 |
public function getCacheIDs(view:ListCollectionView):mx.rpc:AsyncToken
語言版本: | ActionScript 3.0 |
產品版本: | Adobe Digital Enterprise Platform Data Services for Java EE 3 |
執行階段版本: | Flash Player 9, AIR 1.1 |
This method will fill the specified ListCollectionView
with all cache identifiers previously used in the application.
參數
view:ListCollectionView — ListcollectionView reference to a collection that should be
filled with all cache identifiers previously used in the application.
|
mx.rpc:AsyncToken — AsyncToken reference to the token that will identify this
operation in a result or fault event dispatched from this service.
|
initialize | () | 方法 |
public function initialize(success:Function, failed:Function):void
語言版本: | ActionScript 3.0 |
產品版本: | Adobe Digital Enterprise Platform Data Services for Java EE 3 |
執行階段版本: | Flash Player 9, AIR 1.1 |
Initializes the DataStore which involves initialization of metadata of all the attached ConcreteDataService instances. Upon successful completion or failure the appropriate callback is invoked. If the data store is already initialized the success callback is invoked immediately. The callbacks are required to be parameterless functions.
參數
success:Function — The callback invoked when initialization successfully completes. Can be null.
| |
failed:Function — The callback invoked when initialization fails. Can be null.
|
logout | () | 方法 |
public function logout():void
語言版本: | ActionScript 3.0 |
產品版本: | Adobe Digital Enterprise Platform Data Services for Java EE 3 |
執行階段版本: | Flash Player 9, AIR 1.1 |
Log the user out from the current destination. Calling this method will log out all associated DataService instances.
merge | () | 方法 |
public function merge():void
語言版本: | ActionScript 3.0 |
產品版本: | Adobe Digital Enterprise Platform Data Services for Java EE 3 |
執行階段版本: | Flash Player 9, AIR 1.1 |
Merges any pending updates into the managed set of objects. The process of merging changes can detect conflicts.
refresh | () | 方法 |
public function refresh():mx.rpc:AsyncToken
語言版本: | ActionScript 3.0 |
產品版本: | Adobe Digital Enterprise Platform Data Services for Java EE 3 |
執行階段版本: | Flash Player 9, AIR 1.1 |
Refetch all data managed on the client.
傳回值mx.rpc:AsyncToken — the token that can be used to determine
when the result or fault has occurred for this operation.
|
release | () | 方法 |
public function release(clear:Boolean = true, copyStillManagedItems:Boolean = true):void
語言版本: | ActionScript 3.0 |
產品版本: | Adobe Digital Enterprise Platform Data Services for Java EE 3 |
執行階段版本: | Flash Player 9, AIR 1.1 |
Release all data managed on the client. This will free up the item and query caches on the client for all data as well as unsubscribing from any auto-sync'd data on the server.
參數
clear:Boolean (default = true ) — Indicates if the all items should be removed from
the list. In addition no copies will be made of any item.
| |
copyStillManagedItems:Boolean (default = true ) — If after releasing this data service references from managed
associations from another data services might hold references to some of these managed
objects. In that case, some managed collections in this data service might still be actively managed.
If you pass true for this flag, these references are either removed (clear=true) or cloned (clear=flase).
If you pass in false for this flag, those active references are left alone. Using false is the fastest
way to clear the state of the system. Using true ensures you don't have any managed
state in references to collections or items you retrieved from this data service.
|
revertChanges | () | 方法 |
revertChangesForCollection | () | 方法 |
public function revertChangesForCollection(collection:ListCollectionView):Boolean
語言版本: | ActionScript 3.0 |
產品版本: | Adobe Digital Enterprise Platform Data Services for Java EE 3 |
執行階段版本: | Flash Player 9, AIR 1.1 |
Reverts all pending (uncommitted) changes for any items in the specified managed collection.
參數
collection:ListCollectionView — The collection to revert.
|
Boolean — true if any changes were reverted
|
setCredentials | () | 方法 |
public function setCredentials(username:String, password:String, charset:String = null):void
語言版本: | ActionScript 3.0 |
產品版本: | Adobe Digital Enterprise Platform Data Services for Java EE 3 |
執行階段版本: | Flash Player 9, AIR 1.1 |
Set the credentials for this DataStore destination.
參數
username:String — The username for the destination
| |
password:String — The password for the destination
| |
charset:String (default = null ) — The character set encoding to use while encoding the
credentials. The default is null, which implies the legacy charset of
ISO-Latin-1. The only other supported charset is "UTF-8".
|
setRemoteCredentials | () | 方法 |
public function setRemoteCredentials(username:String, password:String, charset:String = null):void
語言版本: | ActionScript 3.0 |
產品版本: | Adobe Digital Enterprise Platform Data Services for Java EE 3 |
執行階段版本: | Flash Player 9, AIR 1.1 |
Set the credentials for the 3rd party of this DataStore destination.
參數
username:String — The username for the destination
| |
password:String — The password for the destination
| |
charset:String (default = null ) — The character set encoding to use while encoding the
credentials. The default is null, which implies the legacy charset of
ISO-Latin-1. The only other supported charset is "UTF-8".
|
conflict | 事件 |
mx.data.events.DataConflictEvent
屬性 DataConflictEvent.type =
mx.data.events.DataConflictEvent.CONFLICT
語言版本: | ActionScript 3.0 |
產品版本: | Adobe Digital Enterprise Platform Data Services for Java EE 3 |
執行階段版本: | Flash Player 9, AIR 1.1 |
Dispatched when a conflict is detected between either pending changes on this client and changes submitted by another client, or when changes submitted by this client result detect a conflict error at the remote destination. The DataStore dispatches conflict events for all destinations which share the DataStore, or you can listen for conflict events for a specific type on a DataService. Use the DataStore when you have an object with associations as in that case, you may need to resolve conflicts in a specific order to maintain integrity of those associations.
TheCONFLICT
constant defines the value of the type
property
of the event object for a conflict
event.
The properties of the event object have the following values:
Property | Value |
---|---|
bubbles | false |
cancelable | false |
currentTarget | The Object that defines the
event listener that handles the event. For example, if you use
myButton.addEventListener() to register an event listener,
myButton is the value of the currentTarget . |
conflict | The Conflict object that holds the conflict that occurred. |
message | The Message associated with this event. |
target | The Object that dispatched the event;
it is not always the Object listening for the event.
Use the currentTarget property to always access the
Object listening for the event. |
fault | 事件 |
mx.rpc.events.FaultEvent
屬性 FaultEvent.type =
mx.rpc.events.FaultEvent.FAULT
語言版本: | ActionScript 3.0 |
產品版本: | Adobe Digital Enterprise Platform Data Services for Java EE 3 |
執行階段版本: | Flash Player 9, AIR 1.1 |
The FaultEvent.FAULT
event is dispatched when the commit
call returns an error.
The properties of the event object have the following values:
Property | Value |
---|---|
bubbles | false |
cancelable | true, calling preventDefault() from the associated token's responder.fault method will prevent the service or operation from dispatching this event |
currentTarget | The Object that defines the
event listener that handles the event. For example, if you use
myButton.addEventListener() to register an event listener,
myButton is the value of the currentTarget . |
fault | The Fault object that contains the details of what caused this event. |
message | The Message associated with this event. |
target | The Object that dispatched the event;
it is not always the Object listening for the event.
Use the currentTarget property to always access the
Object listening for the event. |
token | The token that represents the call to the method. Used in the asynchronous completion token pattern. |
result | 事件 |
mx.rpc.events.ResultEvent
屬性 ResultEvent.type =
mx.rpc.events.ResultEvent.RESULT
語言版本: | ActionScript 3.0 |
產品版本: | Adobe Digital Enterprise Platform Data Services for Java EE 3 |
執行階段版本: | Flash Player 9, AIR 1.1 |
The ResultEvent.RESULT
event is dispatched when the commit
call successfully returns.
The properties of the event object have the following values:
Property | Value |
---|---|
bubbles | false |
cancelable | true, preventDefault() from the associated token's responder.result method will prevent the service or operation from dispatching this event |
currentTarget | The Object that defines the
event listener that handles the event. For example, if you use
myButton.addEventListener() to register an event listener,
myButton is the value of the currentTarget . |
message | The Message associated with this event. |
target | The Object that dispatched the event;
it is not always the Object listening for the event.
Use the currentTarget property to always access the
Object listening for the event. |
result | Result that the RPC call returns. |
token | The token that represents the indiviudal call to the method. Used in the asynchronous completion token pattern. |
CQ_AUTO | 常數 |
public static const CQ_AUTO:int = 1
語言版本: | ActionScript 3.0 |
產品版本: | Adobe Digital Enterprise Platform Data Services for Java EE 3 |
執行階段版本: | Flash Player 9, AIR 1.1 |
Specifies to check for simple dependencies between any outstanding batches and the next batch to commit.
CQ_NOWAIT | 常數 |
public static const CQ_NOWAIT:int = 3
語言版本: | ActionScript 3.0 |
產品版本: | Adobe Digital Enterprise Platform Data Services for Java EE 3 |
執行階段版本: | Flash Player 9, AIR 1.1 |
Specifies to send the second batch immediately, not checking for dependencies.
CQ_ONE_AT_A_TIME | 常數 |
public static const CQ_ONE_AT_A_TIME:int = 0
語言版本: | ActionScript 3.0 |
產品版本: | Adobe Digital Enterprise Platform Data Services for Java EE 3 |
執行階段版本: | Flash Player 9, AIR 1.1 |
Specifies to wait for a previous batch to complete before committing a new batch.
Tue Jun 12 2018, 03:47 PM Z