/******************************************************************************* * Copyright (c) 1998, 2015 Oracle and/or its affiliates. All rights reserved. * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v1.0 and Eclipse Distribution License v. 1.0 * which accompanies this distribution. * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html * and the Eclipse Distribution License is available at * http://www.eclipse.org/org/documents/edl-v10.php. * * Contributors: * Oracle - initial API and implementation from Oracle TopLink ******************************************************************************/ package org.eclipse.persistence.testing.models.jpa.xml.inheritance; import java.util.ArrayList; import javax.persistence.EntityListeners; // These listeners are overridden in XML. BusListener2 callbacks should be // called before BusListener callbacks. A BusListener3 has also been added // and should be called after BusListener2 and before BusListener. @EntityListeners({ org.eclipse.persistence.testing.models.jpa.xml.inheritance.listeners.BusListener.class, org.eclipse.persistence.testing.models.jpa.xml.inheritance.listeners.BusListener2.class }) public class Bus extends FueledVehicle { public int pre_persist_count = 0; public int post_persist_count = 0; public int pre_remove_count = 0; public int post_remove_count = 0; public int pre_update_count = 0; public int post_update_count = 0; public int post_load_count = 0; private Person busDriver; public ArrayList prePersistCalledListeners = new ArrayList(); public ArrayList postPersistCalledListeners = new ArrayList(); public void addPostPersistCalledListener(Class listener) { postPersistCalledListeners.add(listener); } public void addPrePersistCalledListener(Class listener) { prePersistCalledListeners.add(listener); } public Person getBusDriver() { return busDriver; } public int postPersistCalledListenerCount() { return postPersistCalledListeners.size(); } public int prePersistCalledListenerCount() { return prePersistCalledListeners.size(); } public Class getPostPersistCalledListenerAt(int index) { return (Class) postPersistCalledListeners.get(index); } public Class getPrePersistCalledListenerAt(int index) { return (Class) prePersistCalledListeners.get(index); } public void setBusDriver(Person busDriver) { this.busDriver = busDriver; } // CALLBACK METHODS // public void prePersist() { pre_persist_count++; } protected void postPersist() { post_persist_count++; } private void preRemove() { pre_remove_count++; } void postRemove() { post_remove_count++; } public void preUpdate() { pre_update_count++; } public void postUpdate() { post_update_count++; } public void postLoad() { post_load_count++; } }