com.tibbo.aggregate.common.datatable

## Class AbstractDataTableBindingProvider

- java.lang.Object
- - com.tibbo.aggregate.common.binding.AbstractBindingProvider
  - - com.tibbo.aggregate.common.datatable.AbstractDataTableBindingProvider

- All Implemented Interfaces:
    BindingProvider
  Direct Known Subclasses:
    DataTableBindingProvider

      public abstract class AbstractDataTableBindingProvider
      extends AbstractBindingProvider

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected java.util.Map<ReferenceListener,Reference>` | `listeners`
    `protected java.util.concurrent.locks.ReentrantReadWriteLock` | `listenersLock`
    `static java.lang.String` | `NEW_RECORD_REFERENCE`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `AbstractDataTableBindingProvider()`
    `AbstractDataTableBindingProvider(ErrorCollector errorCollector)`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addReferenceListener(Reference ref, ReferenceListener listener)` Method called by the binding processor once the provider should start listening for certain `Reference` changes.
    `protected abstract void` | `callReferenceChanged(Reference cause, int method, ReferenceListener listener, boolean asynchronousProcessing)`
    `protected abstract ReferenceWriter` | `getExternalReferenceWriter()`
    `int` | `getListenerCount()`
    `java.util.Map<ReferenceListener,Reference>` | `getListeners()`
    `java.util.concurrent.locks.ReentrantReadWriteLock` | `getListenersLock()`
    `java.util.List<Reference>` | `getReferences(Binding binding)` Returns list of references of a particular binding.
    `boolean` | `isLocalReference(Reference ref)`
    `protected void` | `processBindings(java.lang.String field, int record, boolean startup, boolean asynchronousProcessing)`
    `void` | `removeReferenceListener(ReferenceListener listener)` Method called by the binding processor once the provider should no longer listen for changes of a `Reference`.
    `protected abstract void` | `setCellValue(java.lang.Object value, int row, java.lang.String field)`
    `protected abstract void` | `setEditorEnabled(boolean enabled)`
    `protected abstract void` | `setEnabled(java.lang.Object value, int row, java.lang.String field)`
    `protected abstract void` | `setHidden(java.lang.Object value, int row, java.lang.String field)`
    `protected abstract void` | `setOptions(java.lang.Object value, int row, java.lang.String field)`
    `protected abstract void` | `setSelectionValues(java.lang.Object value, int row, java.lang.String field)`
    `void` | `writeReference(Reference ref, java.lang.Object value)`

    - ### Methods inherited from class com.tibbo.aggregate.common.binding.AbstractBindingProvider

      `buildErrorMessage, buildExecutionMessage, processError, processExecution`

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

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

    - ### Methods inherited from interface com.tibbo.aggregate.common.binding.BindingProvider

      `createBindings, start, stop, writeReference`

- - ### Field Detail

    - #### NEW_RECORD_REFERENCE

          public static final java.lang.String NEW_RECORD_REFERENCE

      See Also:
        Constant Field Values

    - #### listeners

          protected final java.util.Map<ReferenceListener,Reference> listeners

    - #### listenersLock

          protected final java.util.concurrent.locks.ReentrantReadWriteLock listenersLock

  - ### Constructor Detail

    - #### AbstractDataTableBindingProvider

          public AbstractDataTableBindingProvider()

    - #### AbstractDataTableBindingProvider

          public AbstractDataTableBindingProvider(ErrorCollector errorCollector)

  - ### Method Detail

    - #### writeReference

          public void writeReference(Reference ref,
                                     java.lang.Object value)
                              throws BindingException

      Throws:
        `BindingException`

    - #### getListenerCount

          public int getListenerCount()

    - #### getListeners

          public java.util.Map<ReferenceListener,Reference> getListeners()

    - #### getListenersLock

          public java.util.concurrent.locks.ReentrantReadWriteLock getListenersLock()

    - #### addReferenceListener

          public void addReferenceListener(Reference ref,
                                           ReferenceListener listener)
                                    throws BindingException

      Description copied from interface: `BindingProvider`
      Method called by the binding processor once the provider should start listening for certain `Reference` changes.
      Parameters:
        `ref` - Reference to listen
        `listener` - Listener that should be called if the reference was changed
      Throws:
        `BindingException` - If a listening could not be started

    - #### removeReferenceListener

          public void removeReferenceListener(ReferenceListener listener)

      Description copied from interface: `BindingProvider`
      Method called by the binding processor once the provider should no longer listen for changes of a `Reference`.
      Parameters:
        `listener` - Listener to remove

    - #### isLocalReference

          public boolean isLocalReference(Reference ref)

    - #### processBindings

          protected void processBindings(java.lang.String field,
                                         int record,
                                         boolean startup,
                                         boolean asynchronousProcessing)

    - #### getReferences

          public java.util.List<Reference> getReferences(Binding binding)
                                                  throws BindingException

      Description copied from interface: `BindingProvider`
      Returns list of references of a particular binding.
      Specified by:
        `getReferences` in interface `BindingProvider`
      Overrides:
        `getReferences` in class `AbstractBindingProvider`
      Returns:
        List of references found in a binding.
      Throws:
        `BindingException`

    - #### getExternalReferenceWriter

          protected abstract ReferenceWriter getExternalReferenceWriter()

    - #### callReferenceChanged

          protected abstract void callReferenceChanged(Reference cause,
                                                       int method,
                                                       ReferenceListener listener,
                                                       boolean asynchronousProcessing)

    - #### setEnabled

          protected abstract void setEnabled(java.lang.Object value,
                                             int row,
                                             java.lang.String field)
                                      throws BindingException

      Throws:
        `BindingException`

    - #### setCellValue

          protected abstract void setCellValue(java.lang.Object value,
                                               int row,
                                               java.lang.String field)
                                        throws BindingException

      Throws:
        `BindingException`

    - #### setOptions

          protected abstract void setOptions(java.lang.Object value,
                                             int row,
                                             java.lang.String field)
                                      throws BindingException

      Throws:
        `BindingException`

    - #### setSelectionValues

          protected abstract void setSelectionValues(java.lang.Object value,
                                                     int row,
                                                     java.lang.String field)
                                              throws BindingException

      Throws:
        `BindingException`

    - #### setHidden

          protected abstract void setHidden(java.lang.Object value,
                                            int row,
                                            java.lang.String field)
                                     throws BindingException

      Throws:
        `BindingException`

    - #### setEditorEnabled

          protected abstract void setEditorEnabled(boolean enabled)