org.codehaus.groovy.binding

## Class BindPath

- java.lang.Object
- - org.codehaus.groovy.binding.BindPath

-     public class BindPath
      extends Object

  The bind path object. This class represents one "step" in the bind path.

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `BindPath()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addAllListeners(PropertyChangeListener listener, Object newObject, Set updateSet)` Adds all the listeners to the objects in the bind path.
    `void` | `addListeners(PropertyChangeListener listener, Object newObject, Set updateSet)` Add listeners to a specific object.
    `TriggerBinding` | `getSyntheticTriggerBinding(Object newObject)`
    `void` | `removeListeners()` Remove listeners, believing that our bould flags are accurate and it removes only as declared.
    `void` | `updateLocalSyntheticProperties(Map<String,TriggerBinding> synthetics)`
    `void` | `updatePath(PropertyChangeListener listener, Object newObject, Set updateSet)` Called when we detect a change somewhere down our path.

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

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

- - ### Constructor Detail

    - #### BindPath

          public BindPath()

  - ### Method Detail

    - #### updatePath

          public void updatePath(PropertyChangeListener listener,
                        Object newObject,
                        Set updateSet)

      Called when we detect a change somewhere down our path. First, check to see if our object is changing. If so remove our old listener Next, update the reference object the children have and recurse Finally, add listeners if we have a different object
      Parameters:
        `listener` - This listener to attach.
        `newObject` - The object we should read our property off of.
        `updateSet` - The list of objects we have added listeners to

    - #### addAllListeners

          public void addAllListeners(PropertyChangeListener listener,
                             Object newObject,
                             Set updateSet)

      Adds all the listeners to the objects in the bind path. This assumes that we are not added as listeners to any of them, hence it is not idempotent.
      Parameters:
        `listener` - This listener to attach.
        `newObject` - The object we should read our property off of.
        `updateSet` - The list of objects we have added listeners to

    - #### addListeners

          public void addListeners(PropertyChangeListener listener,
                          Object newObject,
                          Set updateSet)

      Add listeners to a specific object. Updates the bould flags and update set
      Parameters:
        `listener` - This listener to attach.
        `newObject` - The object we should read our property off of.
        `updateSet` - The list of objects we have added listeners to

    - #### removeListeners

          public void removeListeners()

      Remove listeners, believing that our bould flags are accurate and it removes only as declared.

    - #### updateLocalSyntheticProperties

          public void updateLocalSyntheticProperties(Map<String,TriggerBinding> synthetics)

    - #### getSyntheticTriggerBinding

          public TriggerBinding getSyntheticTriggerBinding(Object newObject)