001/**
002 *
003 * Copyright (c) 2014, the Railo Company Ltd. All rights reserved.
004 *
005 * This library is free software; you can redistribute it and/or
006 * modify it under the terms of the GNU Lesser General Public
007 * License as published by the Free Software Foundation; either 
008 * version 2.1 of the License, or (at your option) any later version.
009 * 
010 * This library is distributed in the hope that it will be useful,
011 * but WITHOUT ANY WARRANTY; without even the implied warranty of
012 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
013 * Lesser General Public License for more details.
014 * 
015 * You should have received a copy of the GNU Lesser General Public 
016 * License along with this library.  If not, see <http://www.gnu.org/licenses/>.
017 * 
018 **/
019package lucee.runtime.orm.hibernate.event;
020
021import lucee.runtime.Component;
022import lucee.runtime.orm.hibernate.CommonUtil;
023
024import org.hibernate.event.PostDeleteEvent;
025import org.hibernate.event.PostDeleteEventListener;
026import org.hibernate.event.PostInsertEvent;
027import org.hibernate.event.PostInsertEventListener;
028import org.hibernate.event.PostLoadEvent;
029import org.hibernate.event.PostLoadEventListener;
030import org.hibernate.event.PostUpdateEvent;
031import org.hibernate.event.PostUpdateEventListener;
032import org.hibernate.event.PreDeleteEvent;
033import org.hibernate.event.PreDeleteEventListener;
034import org.hibernate.event.PreInsertEvent;
035import org.hibernate.event.PreInsertEventListener;
036import org.hibernate.event.PreLoadEvent;
037import org.hibernate.event.PreLoadEventListener;
038import org.hibernate.event.PreUpdateEvent;
039import org.hibernate.event.PreUpdateEventListener;
040
041public class AllEventListener extends EventListener implements PreDeleteEventListener, PreInsertEventListener, PreLoadEventListener, PreUpdateEventListener,
042PostDeleteEventListener, PostInsertEventListener, PostLoadEventListener, PostUpdateEventListener {
043        
044        private static final long serialVersionUID = 8969282190912098982L;
045
046
047
048        public AllEventListener(Component component) {
049            super(component, null, true);
050        }
051        
052
053        public void onPostInsert(PostInsertEvent event) {
054                invoke(CommonUtil.POST_INSERT, event.getEntity());
055    }
056
057    public void onPostUpdate(PostUpdateEvent event) {
058        invoke(CommonUtil.POST_UPDATE, event.getEntity());
059    }
060
061    public boolean onPreDelete(PreDeleteEvent event) {
062        invoke(CommonUtil.PRE_DELETE, event.getEntity());
063                return false;
064    }
065
066    public void onPostDelete(PostDeleteEvent event) {
067        invoke(CommonUtil.POST_DELETE, event.getEntity());
068    }
069
070    public void onPreLoad(PreLoadEvent event) {
071        invoke(CommonUtil.PRE_LOAD, event.getEntity());
072    }
073
074    public void onPostLoad(PostLoadEvent event) {
075        invoke(CommonUtil.POST_LOAD, event.getEntity());
076    }
077
078        public boolean onPreUpdate(PreUpdateEvent event) {
079                return preUpdate(event);
080        }
081
082
083
084        public boolean onPreInsert(PreInsertEvent event) {
085                invoke(CommonUtil.PRE_INSERT, event.getEntity());
086                return false;
087        }
088}