Class AbstractCollectionProxy<E>

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Iterable<E>, java.util.Collection<E>, javassist.util.proxy.Proxy, FormProxyObject
    Direct Known Subclasses:
    ListProxy, SetProxy

    public abstract class AbstractCollectionProxy<E>
    extends java.lang.Object
    implements java.util.Collection<E>, javassist.util.proxy.Proxy, FormProxyObject, java.io.Serializable
    This class provides a skeletal implementation of the Collection
    Since:
    8.0.0
    Author:
    jumperchen
    See Also:
    Serialized Form
    • Constructor Summary

      Constructors 
      Constructor Description
      AbstractCollectionProxy​(java.util.Collection<E> origin, java.lang.annotation.Annotation[] callerAnnots)  
    • Method Summary

      All Methods Static Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      boolean add​(E e)  
      boolean addAll​(java.util.Collection<? extends E> c)  
      void cacheSavePropertyBinding​(java.lang.String property, SavePropertyBinding s)
      Cache save property binding by property string
      void clear()  
      java.util.Set<org.zkoss.util.Pair<java.lang.String,​SavePropertyBinding>> collectCachedSavePropertyBinding()
      Collect all of collect cached save property bindings
      boolean contains​(java.lang.Object o)  
      boolean containsAll​(java.util.Collection<?> c)  
      protected <T> T createProxyObject​(T t)  
      protected <T extends java.util.Collection<E>>
      T
      getCache()  
      java.lang.Object getOriginObject()
      Returns the origin object.
      protected abstract java.util.Collection<E> initCache()  
      boolean isEmpty()  
      boolean isFormDirty()
      Returns whether the form proxy object is dirty or not, including all of its attributes.
      java.util.Iterator<E> iterator()  
      void onDataChange​(java.lang.Object o)  
      void onDirtyChange()  
      boolean remove​(java.lang.Object o)  
      boolean removeAll​(java.util.Collection<?> c)  
      protected java.lang.Object replaceOrigin​(java.lang.Object origin)  
      void resetFromOrigin()
      Resets all of the changes of this form from the origin object.
      boolean retainAll​(java.util.Collection<?> c)  
      protected void setDirty​(boolean d)  
      void setFormOwner​(java.lang.Object owner, FormBinding binding)
      Sets the owner of this form with its binding.
      void setHandler​(javassist.util.proxy.MethodHandler mi)  
      void setPath​(java.lang.String property, ProxyNode parent)
      Set the property of current form proxy object and it's creator
      int size()  
      void submitToOrigin​(BindContext ctx)
      Saves all of the changes of this form to the origin object.
      protected static boolean testEquals​(java.lang.Object e, java.lang.Object o)  
      java.lang.Object[] toArray()  
      <T> T[] toArray​(T[] a)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • Methods inherited from interface java.util.Collection

        equals, hashCode, parallelStream, removeIf, spliterator, stream, toArray
      • Methods inherited from interface java.lang.Iterable

        forEach
    • Field Detail

      • _dirty

        protected boolean _dirty
      • isImmutableElements

        protected boolean isImmutableElements
    • Constructor Detail

      • AbstractCollectionProxy

        public AbstractCollectionProxy​(java.util.Collection<E> origin,
                                       java.lang.annotation.Annotation[] callerAnnots)
    • Method Detail

      • initCache

        protected abstract java.util.Collection<E> initCache()
      • getCache

        protected <T extends java.util.Collection<E>> T getCache()
      • replaceOrigin

        protected java.lang.Object replaceOrigin​(java.lang.Object origin)
      • onDirtyChange

        public void onDirtyChange()
      • onDataChange

        public void onDataChange​(java.lang.Object o)
      • setDirty

        protected void setDirty​(boolean d)
      • setHandler

        public void setHandler​(javassist.util.proxy.MethodHandler mi)
        Specified by:
        setHandler in interface javassist.util.proxy.Proxy
      • size

        public int size()
        Specified by:
        size in interface java.util.Collection<E>
      • isEmpty

        public boolean isEmpty()
        Specified by:
        isEmpty in interface java.util.Collection<E>
      • contains

        public boolean contains​(java.lang.Object o)
        Specified by:
        contains in interface java.util.Collection<E>
      • clear

        public void clear()
        Specified by:
        clear in interface java.util.Collection<E>
      • iterator

        public java.util.Iterator<E> iterator()
        Specified by:
        iterator in interface java.util.Collection<E>
        Specified by:
        iterator in interface java.lang.Iterable<E>
      • toArray

        public java.lang.Object[] toArray()
        Specified by:
        toArray in interface java.util.Collection<E>
      • toArray

        public <T> T[] toArray​(T[] a)
        Specified by:
        toArray in interface java.util.Collection<E>
      • add

        public boolean add​(E e)
        Specified by:
        add in interface java.util.Collection<E>
      • remove

        public boolean remove​(java.lang.Object o)
        Specified by:
        remove in interface java.util.Collection<E>
      • addAll

        public boolean addAll​(java.util.Collection<? extends E> c)
        Specified by:
        addAll in interface java.util.Collection<E>
      • containsAll

        public boolean containsAll​(java.util.Collection<?> c)
        Specified by:
        containsAll in interface java.util.Collection<E>
      • removeAll

        public boolean removeAll​(java.util.Collection<?> c)
        Specified by:
        removeAll in interface java.util.Collection<E>
      • isFormDirty

        public boolean isFormDirty()
        Description copied from interface: FormProxyObject
        Returns whether the form proxy object is dirty or not, including all of its attributes.
        Specified by:
        isFormDirty in interface FormProxyObject
      • retainAll

        public boolean retainAll​(java.util.Collection<?> c)
        Specified by:
        retainAll in interface java.util.Collection<E>
      • resetFromOrigin

        public void resetFromOrigin()
        Description copied from interface: FormProxyObject
        Resets all of the changes of this form from the origin object.
        Specified by:
        resetFromOrigin in interface FormProxyObject
      • testEquals

        protected static boolean testEquals​(java.lang.Object e,
                                            java.lang.Object o)
      • setFormOwner

        public void setFormOwner​(java.lang.Object owner,
                                 FormBinding binding)
        Description copied from interface: FormProxyObject
        Sets the owner of this form with its binding.
        Specified by:
        setFormOwner in interface FormProxyObject
        Parameters:
        owner - the object associated with this form.
      • createProxyObject

        protected <T> T createProxyObject​(T t)
      • cacheSavePropertyBinding

        public void cacheSavePropertyBinding​(java.lang.String property,
                                             SavePropertyBinding s)
        Description copied from interface: FormProxyObject
        Cache save property binding by property string
        Specified by:
        cacheSavePropertyBinding in interface FormProxyObject
        Parameters:
        property - the property of save property binding
        s - the save property binding
      • setPath

        public void setPath​(java.lang.String property,
                            ProxyNode parent)
        Description copied from interface: FormProxyObject
        Set the property of current form proxy object and it's creator
        Specified by:
        setPath in interface FormProxyObject
        Parameters:
        property - p the property
        parent - parent the parent proxy node