Dart DocumentationbotDisposableImpl

DisposableImpl class

class DisposableImpl implements Disposable {
  bool _disposed = false;

  void dispose(){
    if (!_disposed) {
      // Set disposed_ to true first, in case during the chain of disposal this
      // gets disposed recursively.
      this._disposed = true;
      this.disposeInternal();
    }
  }

  // TODO: throw an object disposed exception?
  void validateNotDisposed() {
    assert(!_disposed);
  }

  bool get isDisposed => _disposed;

  /**
   * Do not call this method directly. Call [dispose] instead.
   * Subclasses should override this method to implement [Disposable] behavior.
   */
  void disposeInternal() {
  }
}

Subclasses

AttachableObject, EventHandle<T>

Implements

Disposable

Properties

final bool isDisposed #

bool get isDisposed => _disposed;

final Type runtimeType #

inherited from Object

A representation of the runtime type of the object.

external Type get runtimeType;

Operators

bool operator ==(other) #

inherited from Object

The equality operator.

The default behavior for all Objects is to return true if and only if this and other are the same object.

If a subclass overrides the equality operator it should override the hashCode method as well to maintain consistency.

bool operator ==(other) => identical(this, other);

Methods

void dispose() #

void dispose(){
  if (!_disposed) {
    // Set disposed_ to true first, in case during the chain of disposal this
    // gets disposed recursively.
    this._disposed = true;
    this.disposeInternal();
  }
}

void disposeInternal() #

Do not call this method directly. Call dispose instead. Subclasses should override this method to implement Disposable behavior.

void disposeInternal() {
}

int hashCode() #

inherited from Object

Get a hash code for this object.

All objects have hash codes. Hash codes are guaranteed to be the same for objects that are equal when compared using the equality operator ==. Other than that there are no guarantees about the hash codes. They will not be consistent between runs and there are no distribution guarantees.

If a subclass overrides hashCode it should override the equality operator as well to maintain consistency.

external int hashCode();

noSuchMethod(String name, List args) #

inherited from Object

noSuchMethod is invoked when users invoke a non-existant method on an object. The name of the method and the arguments of the invocation are passed to noSuchMethod. If noSuchMethod returns a value, that value becomes the result of the original invocation.

The default behavior of noSuchMethod is to throw a noSuchMethodError.

external Dynamic noSuchMethod(String name, List args);

const Object() #

inherited from Object

Creates a new Object instance.

Object instances have no meaningful state, and are only useful through their identity. An Object instance is equal to itself only.

const Object();

String toString() #

inherited from Object

Returns a string representation of this object.

external String toString();

void validateNotDisposed() #

void validateNotDisposed() {
  assert(!_disposed);
}