Interface Tracker

  • All Known Implementing Classes:
    TrackerImpl, TrackerImplEx

    public interface Tracker
    Bind tracker to maintain a binding dependency graph. e.g. @{a.b.c, save-onchange:d.e.f} then it forms a dependency from d.e.f to a.b.c for save.
    Since:
    6.0.0
    Author:
    henrichen
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      void addDependsOn​(Component srcComp, java.lang.String[] srcSeries, Binding srcBinding, Component dependsOnComp, java.lang.String[] dependsOnSeries)
      Add a depends-on tracking between the source property name series and depends-on property name series.
      void addTracking​(Component comp, java.lang.String[] series, Binding binding)
      Add a tracking that associate a binding to a dot series under the specified Component
      java.util.Set<LoadBinding> getLoadBindings​(java.lang.Object base, java.lang.String propName)
      Returns all bindings that associated with the specified property.
      void removeTrackings​(java.util.Set<Component> comps)
      Remove all tracking associated with the specified Component set.
      void removeTrackings​(Component comp)
      Remove all tracking associated with the specified Component.
      void tieValue​(java.lang.Object comp, java.lang.Object base, java.lang.Object script, java.lang.Object propName, java.lang.Object value, java.lang.Object basePath)
      Tie a property to its corresponding value under the specified Component.
    • Method Detail

      • addTracking

        void addTracking​(Component comp,
                         java.lang.String[] series,
                         Binding binding)
        Add a tracking that associate a binding to a dot series under the specified Component
        Parameters:
        comp - the component with the associated binding
        series - the dot series as an array of property name
        binding - the associated binding
      • addDependsOn

        void addDependsOn​(Component srcComp,
                          java.lang.String[] srcSeries,
                          Binding srcBinding,
                          Component dependsOnComp,
                          java.lang.String[] dependsOnSeries)
        Add a depends-on tracking between the source property name series and depends-on property name series.
        Parameters:
        srcComp - the source component with the associated binding
        srcSeries - the dot series as an array of source property name.
        srcBinding - the associated binding
        dependsOnSeries - the dot series as an array of dependsOn property name.
      • removeTrackings

        void removeTrackings​(Component comp)
        Remove all tracking associated with the specified Component.
        Parameters:
        comp - the associated component
      • removeTrackings

        void removeTrackings​(java.util.Set<Component> comps)
        Remove all tracking associated with the specified Component set.
        Parameters:
        comps - the associated component set
        Since:
        7.0.2
      • tieValue

        void tieValue​(java.lang.Object comp,
                      java.lang.Object base,
                      java.lang.Object script,
                      java.lang.Object propName,
                      java.lang.Object value,
                      java.lang.Object basePath)
        Tie a property to its corresponding value under the specified Component.
        Parameters:
        comp - the associated component
        base - the base object of the property
        script - the field script
        propName - the resolved property name from the field script
        value - the value of the property
        basePath - the basePath script prior to the script field script (Since 8.0)
      • getLoadBindings

        java.util.Set<LoadBinding> getLoadBindings​(java.lang.Object base,
                                                   java.lang.String propName)
        Returns all bindings that associated with the specified property.
        Parameters:
        base - base object
        propName - property name
        Returns:
        all LoadBindings that associated with the specified property.