Skip to content

Package: AbstractEntityManager

AbstractEntityManager

Coverage

1: /**
2: * Copyright (C) 2022 Czech Technical University in Prague
3: *
4: * This program is free software: you can redistribute it and/or modify it under
5: * the terms of the GNU General Public License as published by the Free Software
6: * Foundation, either version 3 of the License, or (at your option) any
7: * later version.
8: *
9: * This program is distributed in the hope that it will be useful, but WITHOUT
10: * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
11: * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
12: * details. You should have received a copy of the GNU General Public License
13: * along with this program. If not, see <http://www.gnu.org/licenses/>.
14: */
15: package cz.cvut.kbss.jopa.model;
16:
17: import cz.cvut.kbss.jopa.NonJPA;
18: import cz.cvut.kbss.jopa.sessions.ConfigurationHolder;
19: import cz.cvut.kbss.jopa.sessions.UnitOfWork;
20: import cz.cvut.kbss.jopa.transactions.EntityTransaction;
21:
22: public interface AbstractEntityManager extends EntityManager, ConfigurationHolder {
23:
24: boolean isLoaded(final Object object, final String attributeName);
25:
26: boolean isLoaded(final Object object);
27:
28: /**
29: * Return the UnitOfWork that holds the current persistence context.
30: *
31: * @return UnitOfWork
32: */
33: UnitOfWork getCurrentPersistenceContext();
34:
35: /**
36: * Remove the current persistence context UnitOfWork.
37: */
38: void removeCurrentPersistenceContext();
39:
40: /**
41: * Let the managing server session know that a transaction has been started.
42: *
43: * @param t The entity transaction that was started.
44: */
45: @NonJPA
46: void transactionStarted(EntityTransaction t);
47:
48: /**
49: * Let the managing server session know that a transaction has finished successfully.
50: *
51: * @param t The committed entity transaction.
52: */
53: @NonJPA
54: void transactionFinished(EntityTransaction t);
55: }