Class CompositeInterceptor

  • All Implemented Interfaces:
    org.hibernate.Interceptor

    public class CompositeInterceptor
    extends Object
    implements org.hibernate.Interceptor
    Hibernate interceptor that allows the chaining of multiple sub-interceptors. Because this is going to be called a _lot_, it's coded for speed over use of pretty idiomatic Java collections. For interceptors that can not be logically chained (isUnsaved, findDirty, instantiate) the first in the chain to provide a non-null answer wins.
    • Constructor Detail

      • CompositeInterceptor

        public CompositeInterceptor​(List<org.hibernate.Interceptor> delegates)
    • Method Detail

      • onLoad

        public boolean onLoad​(Object entity,
                              Serializable id,
                              Object[] state,
                              String[] propertyNames,
                              org.hibernate.type.Type[] types)
                       throws org.hibernate.CallbackException
        Specified by:
        onLoad in interface org.hibernate.Interceptor
        Throws:
        org.hibernate.CallbackException
      • onFlushDirty

        public boolean onFlushDirty​(Object entity,
                                    Serializable id,
                                    Object[] currentState,
                                    Object[] previousState,
                                    String[] propertyNames,
                                    org.hibernate.type.Type[] types)
                             throws org.hibernate.CallbackException
        Specified by:
        onFlushDirty in interface org.hibernate.Interceptor
        Throws:
        org.hibernate.CallbackException
      • onSave

        public boolean onSave​(Object entity,
                              Serializable id,
                              Object[] state,
                              String[] propertyNames,
                              org.hibernate.type.Type[] types)
                       throws org.hibernate.CallbackException
        Specified by:
        onSave in interface org.hibernate.Interceptor
        Throws:
        org.hibernate.CallbackException
      • onDelete

        public void onDelete​(Object entity,
                             Serializable id,
                             Object[] state,
                             String[] propertyNames,
                             org.hibernate.type.Type[] types)
                      throws org.hibernate.CallbackException
        Specified by:
        onDelete in interface org.hibernate.Interceptor
        Throws:
        org.hibernate.CallbackException
      • onCollectionRecreate

        public void onCollectionRecreate​(Object collection,
                                         Serializable key)
                                  throws org.hibernate.CallbackException
        Specified by:
        onCollectionRecreate in interface org.hibernate.Interceptor
        Throws:
        org.hibernate.CallbackException
      • onCollectionRemove

        public void onCollectionRemove​(Object collection,
                                       Serializable key)
                                throws org.hibernate.CallbackException
        Specified by:
        onCollectionRemove in interface org.hibernate.Interceptor
        Throws:
        org.hibernate.CallbackException
      • onCollectionUpdate

        public void onCollectionUpdate​(Object collection,
                                       Serializable key)
                                throws org.hibernate.CallbackException
        Specified by:
        onCollectionUpdate in interface org.hibernate.Interceptor
        Throws:
        org.hibernate.CallbackException
      • preFlush

        public void preFlush​(Iterator entities)
                      throws org.hibernate.CallbackException
        Specified by:
        preFlush in interface org.hibernate.Interceptor
        Throws:
        org.hibernate.CallbackException
      • postFlush

        public void postFlush​(Iterator entities)
                       throws org.hibernate.CallbackException
        Specified by:
        postFlush in interface org.hibernate.Interceptor
        Throws:
        org.hibernate.CallbackException
      • isTransient

        public Boolean isTransient​(Object entity)
        Specified by:
        isTransient in interface org.hibernate.Interceptor
      • findDirty

        public int[] findDirty​(Object entity,
                               Serializable id,
                               Object[] currentState,
                               Object[] previousState,
                               String[] propertyNames,
                               org.hibernate.type.Type[] types)
        Specified by:
        findDirty in interface org.hibernate.Interceptor
      • instantiate

        public Object instantiate​(String entityName,
                                  org.hibernate.EntityMode entityMode,
                                  Serializable id)
                           throws org.hibernate.CallbackException
        Specified by:
        instantiate in interface org.hibernate.Interceptor
        Throws:
        org.hibernate.CallbackException
      • getEntityName

        public String getEntityName​(Object object)
                             throws org.hibernate.CallbackException
        Specified by:
        getEntityName in interface org.hibernate.Interceptor
        Throws:
        org.hibernate.CallbackException
      • getEntity

        public Object getEntity​(String entityName,
                                Serializable id)
                         throws org.hibernate.CallbackException
        Specified by:
        getEntity in interface org.hibernate.Interceptor
        Throws:
        org.hibernate.CallbackException
      • afterTransactionBegin

        public void afterTransactionBegin​(org.hibernate.Transaction tx)
        Specified by:
        afterTransactionBegin in interface org.hibernate.Interceptor
      • beforeTransactionCompletion

        public void beforeTransactionCompletion​(org.hibernate.Transaction tx)
        Specified by:
        beforeTransactionCompletion in interface org.hibernate.Interceptor
      • afterTransactionCompletion

        public void afterTransactionCompletion​(org.hibernate.Transaction tx)
        Specified by:
        afterTransactionCompletion in interface org.hibernate.Interceptor
      • onPrepareStatement

        public String onPrepareStatement​(String sql)
        Specified by:
        onPrepareStatement in interface org.hibernate.Interceptor