db.IndexedDb Extends goog.events.EventTarget
Creates an IDBDatabase wrapper object. The database object has methods for setting the version to change the structure of the database and for creating transactions to get or modify the stored records. Should not be created directly, call goog.db.openDatabase to set up the connection.

Inheritance

Constructor

goog.db.IndexedDb(db)

Parameters

db : !IDBDatabase
Underlying IndexedDB database object.

Instance Methods

Public Protected Private
close()
Closes the database connection. Metadata queries can still be made after this method is called, but otherwise this wrapper should not be used further.
code »
createObjectStore(nameopt_params) !goog.db.ObjectStore
Creates an object store in this database. Can only be called inside a goog.db.UpgradeNeededCallback or the callback for the Deferred returned from #setVersion.
Arguments:
name : string
Name for the new object store.
opt_params : Object=
Options object. The available options are: keyPath, which is a string and determines what object attribute to use as the key when storing objects in this object store; and autoIncrement, which is a boolean, which defaults to false and determines whether the object store should automatically generate keys for stored objects. If keyPath is not provided and autoIncrement is false, then all insert operations must provide a key as a parameter.
Returns: !goog.db.ObjectStore  The newly created object store.
code »
createTransaction(storeNamesopt_mode) !goog.db.Transaction
Creates a new transaction.
Arguments:
storeNames : !Array.<string>
A list of strings that contains the transaction's scope, the object stores that this transaction can operate on.
opt_mode : goog.db.Transaction.TransactionMode=
The mode of the transaction. If not present, the default is READ_ONLY. For VERSION_CHANGE transactions call goog.db.IndexedDB#setVersion instead.
Returns: !goog.db.Transaction  The wrapper for the newly created transaction.
code »
deleteObjectStore(name)
Deletes an object store. Can only be called inside a goog.db.UpgradeNeededCallback or the callback for the Deferred returned from #setVersion.
Arguments:
name : string
Name of the object store to delete.
code »
dispatchError_(ev)
Dispatches a wrapped error event based on the given event.
Arguments:
ev : Event
The error event given to the underlying IDBDatabase.
code »
dispatchVersionChange_(ev)
Dispatches a wrapped version change event based on the given event.
Arguments:
ev : Event
The version change event given to the underlying IDBDatabase.
code »
disposeInternal()
No description.
code »
getName() string
No description.
Returns: string  The name of this database.
code »
getObjectStoreNames() DOMStringList
No description.
Returns: DOMStringList  List of object stores in this database.
code »
getVersion() string
No description.
Returns: string  The current database version.
code »
isOpen() boolean
No description.
Returns: boolean  Whether a connection is open and the database can be used.
code »
setVersion(version) !goog.async.Deferred
Updates the version of the database and returns a Deferred transaction. The database's structure can be changed inside this Deferred's callback, but nowhere else. This means adding or deleting object stores, and adding or deleting indexes. The version change will not succeed unless there are no other connections active for this database anywhere. A new database connection should be opened after the version change is finished to pick up changes. This is deprecated, and only supported on Chrome prior to version 25. New applications should use the version parameter to goog.db.openDatabase instead.
Arguments:
version : string
The new version of the database.
Returns: !goog.async.Deferred  The deferred transaction for changing the version.
code »
addEventListener(typeopt_captureopt_handlerScope)
Use #listen instead, when possible. Otherwise, use goog.events.listen if you are passing Object (instead of Function) as handler. Adds an event listener to the event target. The same handler can only be added once per the type. Even if you add the same handler multiple times using the same type then it will only be called once when the event is dispatched.
Arguments:
type : string
The type of the event to listen for.
: ?function():? | ?{handleEvent:function():?
No description.
opt_capture : boolean=
In DOM-compliant browsers, this determines whether the listener is fired during the capture or bubble phase of the event.
opt_handlerScope : Object=
Object in whose scope to call the listener.
code »
assertInitialized_()
Asserts that the event target instance is initialized properly.
code »
dispatchEvent()
No description.
code »
disposeInternal()
Removes listeners from this object. Classes that extend EventTarget may need to override this method in order to remove references to DOM Elements and additional listeners.
code »
fireListeners()
No description.
code »
getListener()
No description.
code »
getListeners()
No description.
code »
getParentEventTarget() goog.events.EventTarget
Returns the parent of this event target to use for bubbling.
Returns: goog.events.EventTarget  The parent EventTarget or null if there is no parent.
code »
hasListener()
No description.
code »
listen()
No description.
code »
listenOnce()
No description.
code »
removeAllListeners()
No description.
code »
removeEventListener(typeopt_captureopt_handlerScope)
Use #unlisten instead, when possible. Otherwise, use goog.events.unlisten if you are passing Object (instead of Function) as handler. Removes an event listener from the event target. The handler must be the same object as the one added. If the handler has not been added then nothing is done.
Arguments:
type : string
The type of the event to listen for.
: ?function():? | ?{handleEvent:function():?
No description.
opt_capture : boolean=
In DOM-compliant browsers, this determines whether the listener is fired during the capture or bubble phase of the event.
opt_handlerScope : Object=
Object in whose scope to call the listener.
code »
setParentEventTarget(parent)
Sets the parent of this event target to use for capture/bubble mechanism.
Arguments:
parent : goog.events.EventTarget
Parent listenable (null if none).
code »
setTargetForTesting(target)
Sets the target to be used for event.target when firing event. Mainly used for testing. For example, see goog.testing.events.mixinListenable.
Arguments:
target : !Object
The target.
code »
unlisten()
No description.
code »
unlistenByKey()
No description.
code »
addOnDisposeCallback(callbackopt_scope)
Invokes a callback function when this object is disposed. Callbacks are invoked in the order in which they were added.
Arguments:
callback : function(this:T):?
The callback function.
opt_scope : T=
An optional scope to call the callback in.
code »
dispose() void
Disposes of the object. If the object hasn't already been disposed of, calls #disposeInternal. Classes that extend goog.Disposable should override #disposeInternal in order to delete references to COM objects, DOM nodes, and other disposable objects. Reentrant.
Returns: void  Nothing.
code »
disposeInternal()
Deletes or nulls out any references to COM objects, DOM nodes, or other disposable objects. Classes that extend goog.Disposable should override this method. Not reentrant. To avoid calling it twice, it must only be called from the subclass' disposeInternal method. Everywhere else the public dispose method must be used. For example:
  mypackage.MyClass = function() {
    mypackage.MyClass.base(this, 'constructor');
    // Constructor logic specific to MyClass.
    ...
  };
  goog.inherits(mypackage.MyClass, goog.Disposable);

  mypackage.MyClass.prototype.disposeInternal = function() {
    // Dispose logic specific to MyClass.
    ...
    // Call superclass's disposeInternal at the end of the subclass's, like
    // in C++, to avoid hard-to-catch issues.
    mypackage.MyClass.base(this, 'disposeInternal');
  };
code »
getDisposed() boolean
Use #isDisposed instead. No description.
Returns: boolean  Whether the object has been disposed of.
code »
isDisposed() boolean
No description.
Returns: boolean  Whether the object has been disposed of.
code »
registerDisposable(disposable)
Associates a disposable object with this object so that they will be disposed together.
Arguments:
disposable : goog.disposable.IDisposable
that will be disposed when this object is disposed.
code »

Instance Properties

constructor :
No description.
Code »
db_ :
Underlying IndexedDB database object.
Code »
eventHandler_ : goog.events.EventHandler
Internal event handler that listens to IDBDatabase events.
Code »
open_ :
True iff the database connection is open.
Code »
actualEventTarget_ : goog.events.EventTarget
The object to use for event.target. Useful when mixing in an EventTarget to another object.
Code »
constructor :
No description.
Code »
eventTargetListeners_ : goog.events.ListenerMap
Maps of event type to an array of listeners.
Code »
parentEventTarget_ : goog.events.EventTarget
Parent event target, used during event bubbling. TODO(user): Change this to goog.events.Listenable. This currently breaks people who expect getParentEventTarget to return goog.events.EventTarget.
Code »
creationStack :
If monitoring the goog.Disposable instances is enabled, stores the creation stack trace of the Disposable instance.
Code »
disposed_ :
Whether the object has been disposed of.
Code »
onDisposeCallbacks_ :
Callbacks to invoke when this object is disposed.
Code »

Static Properties

goog.db.IndexedDb.superClass_ :
No description.
Code »

Enumerations

goog.db.IndexedDb.EventType :
Event types fired by a database.
Constants:
ABORT
No description.
CLOSE
No description.
ERROR
No description.
VERSION_CHANGE
No description.
Code »

Package db

Package Reference