# Class UiBinding.Binding

java.lang.Object
com.codename1.properties.UiBinding.Binding

Enclosing class:
  `UiBinding`

public abstract class UiBinding.Binding extends java.lang.Object

Binding allows us to have commit/auto-commit mode. This allows changes to properties to reflect immediately or only when committed, e.g. if a `Form` has "OK" & "Cancel" buttons you might want to do a commit on OK. We also provide a "rollback" method to reset to the original property values.

`UiBinding` has a boolean auto commit flag that can be toggled to set the default for new bindings.

Binding also provides the ability to disengage a "binding" between a property and a UI component

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `Binding()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `abstract void`
  `commit()`
  Set the value from the component into the property, note that this will throw an exception if autocommit is on
  `abstract void`
  `disconnect()`
  Clears the listeners and disengages binding, this can be important for GC as binding can keep object references in RAM
  `boolean`
  `isAutoCommit()`
  Gets the autocommit value see `#setAutoCommit(boolean)`
  `abstract void`
  `rollback()`
  Sets the value from the property into the component, note that this will throw an exception if autocommit is on
  `void`
  `setAutoCommit(boolean b)`
  Toggles auto-commit mode and overrides the `UiBinding` autocommit default.

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### Binding

    public Binding()

- ## Method Details

  - ### isAutoCommit

    public boolean isAutoCommit()

    Gets the autocommit value see `#setAutoCommit(boolean)`

    ###### Returns

    true if autocommit is on

  - ### setAutoCommit

    public void setAutoCommit(boolean b)

    Toggles auto-commit mode and overrides the `UiBinding` autocommit default. Autocommit instantly reflects changes to the property or component values.

    ###### Parameters

    - `b`: true to enable auto-commit

  - ### commit

    public abstract void commit()
    Set the value from the component into the property, note that this will throw an exception if autocommit is on

  - ### rollback

    public abstract void rollback()
    Sets the value from the property into the component, note that this will throw an exception if autocommit is on

  - ### disconnect

    public abstract void disconnect()
    Clears the listeners and disengages binding, this can be important for GC as binding can keep object references in RAM