Class TrackerImpl

  • All Implemented Interfaces:
    java.io.Serializable, Tracker
    Direct Known Subclasses:
    TrackerImplEx

    public class TrackerImpl
    extends java.lang.Object
    implements Tracker, java.io.Serializable
    Implementation of dependency tracking.
    Since:
    6.0.0
    Author:
    henrichen
    See Also:
    Serialized Form
    • Field Detail

      • _compMap

        protected java.util.Map<Component,​java.util.Map<java.lang.Object,​TrackerNode>> _compMap
      • _nullMap

        protected java.util.Map<java.lang.Object,​java.util.Set<TrackerNode>> _nullMap
      • _beanMap

        protected transient java.util.Map<java.lang.Object,​java.util.Set<TrackerNode>> _beanMap
    • Constructor Detail

      • TrackerImpl

        public TrackerImpl()
    • Method Detail

      • initCompMap

        protected java.util.Map<Component,​java.util.Map<java.lang.Object,​TrackerNode>> initCompMap()
      • addTracking

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

        public void addDependsOn​(Component srcComp,
                                 java.lang.String[] srcSeries,
                                 Binding srcBinding,
                                 Component dependsOnComp,
                                 java.lang.String[] dependsOnSeries)
        Description copied from interface: Tracker
        Add a depends-on tracking between the source property name series and depends-on property name series.
        Specified by:
        addDependsOn in interface Tracker
        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.
      • getOrCreateTrackerNode

        protected TrackerNode getOrCreateTrackerNode​(Component comp,
                                                     java.lang.String[] series)
      • newTrackerNode

        protected TrackerNode newTrackerNode​(java.lang.Object script)
      • removeTrackings

        public void removeTrackings​(java.util.Set<Component> comps)
        Description copied from interface: Tracker
        Remove all tracking associated with the specified Component set.
        Specified by:
        removeTrackings in interface Tracker
        Parameters:
        comps - the associated component set
      • removeTrackings

        public void removeTrackings​(Component comp)
        Description copied from interface: Tracker
        Remove all tracking associated with the specified Component.
        Specified by:
        removeTrackings in interface Tracker
        Parameters:
        comp - the associated component
      • removeAllFromNullMap

        protected void removeAllFromNullMap​(java.util.Set<TrackerNode> removed)
      • getLoadBindings

        public java.util.Set<LoadBinding> getLoadBindings​(java.lang.Object base,
                                                          java.lang.String prop)
        Description copied from interface: Tracker
        Returns all bindings that associated with the specified property.
        Specified by:
        getLoadBindings in interface Tracker
        Parameters:
        base - base object
        prop - property name
        Returns:
        all LoadBindings that associated with the specified property.
      • getAllTrackerNodes

        protected java.util.Collection<TrackerNode> getAllTrackerNodes()
      • getTrackerNodePerComponentScript

        protected TrackerNode getTrackerNodePerComponentScript​(java.lang.Object comp,
                                                               java.lang.Object script)
      • tieValue

        public 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)
        Description copied from interface: Tracker
        Tie a property to its corresponding value under the specified Component.
        Specified by:
        tieValue in interface Tracker
        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)
      • addBeanMap

        protected void addBeanMap​(TrackerNode node,
                                  java.lang.Object value,
                                  java.lang.Object basePath)
      • removeBeanMap

        protected void removeBeanMap​(TrackerNode node)
      • removeAllFromBeanMap

        protected void removeAllFromBeanMap​(java.util.Collection<TrackerNode> removed)
      • getEqualBeans

        public java.util.Set<java.lang.Object> getEqualBeans​(java.lang.Object bean)
      • testEqualsBean

        protected static boolean testEqualsBean​(java.lang.Object nodeBean,
                                                java.lang.Object bean)
      • dumpLess

        public void dumpLess()
      • dump

        public void dump()