Class UpdateFilter

  • All Implemented Interfaces:
    ome.util.Filter
    Direct Known Subclasses:
    ReloadFilter

    public class UpdateFilter
    extends ome.util.ContextFilter
    responsible for correlating entity identities during multiple calls to merge. This occurs when collections or arrays are passed into the UpdateImpl save methods.
    Since:
    3.0-M3
    See Also:
    IUpdate, UpdateImpl
    • Field Summary

      • Fields inherited from class ome.util.ContextFilter

        _cache, _context
    • Constructor Summary

      Constructors 
      Constructor Description
      UpdateFilter()  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected boolean alreadySeen​(java.lang.Object o)  
      java.lang.Object filter​(java.lang.String fieldId, java.lang.Object o)
      overrides ContextFilter.filter(String, Object) to allow only certain types to enter the Hibernate system
      java.util.Collection filter​(java.lang.String fieldId, java.util.Collection c)
      overrides ContextFilter.filter(String, Collection) to return previously checked collections.
      java.util.Map filter​(java.lang.String fieldId, java.util.Map m)
      Prevents CountPerOwner from being loaded unnecessarily.
      ome.util.Filterable filter​(java.lang.String fieldId, ome.util.Filterable f)
      overrides ContextFilter.filter(String, Filterable) to return previously merged or previously checked items.
      protected boolean hasReplacement​(java.lang.Object o)  
      protected java.lang.Object returnSeen​(java.lang.Object o)  
      void unloadReplacedObjects()
      provides an external hook to unload all files which have already been merged.
      • Methods inherited from class ome.util.ContextFilter

        addSeen, afterFilter, beforeFilter, currentContext, doFilter, doFilter, doFilter, enter, exit, filter, hasntSeen, pop, previousContext, push
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • UpdateFilter

        public UpdateFilter()
    • Method Detail

      • unloadReplacedObjects

        public void unloadReplacedObjects()
        provides an external hook to unload all files which have already been merged.

        Merging produces a copy of an entity, so that all old entities should be considered stale. By unloading them, one is forcing the API user to use the replacement instead.

        The replacement is set by MergeEventListener and this is the signal that that entity can be unloaded. Usually, this method is invoked by UpdateImpl

        See Also:
        MergeEventListener, UpdateImpl, IObject.unload()
      • filter

        public java.lang.Object filter​(java.lang.String fieldId,
                                       java.lang.Object o)
        overrides ContextFilter.filter(String, Object) to allow only certain types to enter the Hibernate system
        Specified by:
        filter in interface ome.util.Filter
        Overrides:
        filter in class ome.util.ContextFilter
      • filter

        public ome.util.Filterable filter​(java.lang.String fieldId,
                                          ome.util.Filterable f)
        overrides ContextFilter.filter(String, Filterable) to return previously merged or previously checked items.
        Specified by:
        filter in interface ome.util.Filter
        Overrides:
        filter in class ome.util.ContextFilter
      • filter

        public java.util.Collection filter​(java.lang.String fieldId,
                                           java.util.Collection c)
        overrides ContextFilter.filter(String, Collection) to return previously checked collections.
        Specified by:
        filter in interface ome.util.Filter
        Overrides:
        filter in class ome.util.ContextFilter
      • filter

        public java.util.Map filter​(java.lang.String fieldId,
                                    java.util.Map m)
        Prevents CountPerOwner from being loaded unnecessarily.
        Specified by:
        filter in interface ome.util.Filter
        Overrides:
        filter in class ome.util.ContextFilter
        See Also:
        Trac ticket #3978
      • hasReplacement

        protected boolean hasReplacement​(java.lang.Object o)
      • alreadySeen

        protected boolean alreadySeen​(java.lang.Object o)
      • returnSeen

        protected java.lang.Object returnSeen​(java.lang.Object o)