| /* |
| * Copyright (c) 1998, 2020 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 v. 2.0 which is available at |
| * http://www.eclipse.org/legal/epl-2.0, |
| * or the Eclipse Distribution License v. 1.0 which is available at |
| * http://www.eclipse.org/org/documents/edl-v10.php. |
| * |
| * SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause |
| */ |
| |
| // Contributors: |
| // Oracle - initial API and implementation from Oracle TopLink |
| package org.eclipse.persistence.testing.models.jpa.xml.inheritance; |
| |
| import java.util.ArrayList; |
| import jakarta.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++; |
| } |
| } |