diff --git a/hibernate-core/src/main/java/org/hibernate/SessionOwner.java b/hibernate-core/src/main/java/org/hibernate/SessionOwner.java new file mode 100644 index 0000000000..bdf7b671f3 --- /dev/null +++ b/hibernate-core/src/main/java/org/hibernate/SessionOwner.java @@ -0,0 +1,39 @@ +/* + * Hibernate, Relational Persistence for Idiomatic Java + * + * Copyright (c) 2012, Red Hat Inc. or third-party contributors as + * indicated by the @author tags or express copyright attribution + * statements applied by the authors. All third-party contributions are + * distributed under license by Red Hat Inc. + * + * This copyrighted material is made available to anyone wishing to use, modify, + * copy, or redistribute it subject to the terms and conditions of the GNU + * Lesser General Public License, as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License + * for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this distribution; if not, write to: + * Free Software Foundation, Inc. + * 51 Franklin Street, Fifth Floor + * Boston, MA 02110-1301 USA + */ +package org.hibernate; + +/** + * The contract for a session owner. + * + * @author Gail Badner + */ +public interface SessionOwner { + /** + * Should session automatically be closed after transaction completion? + * + * @return {@literal true}/{@literal false} appropriately. + */ + public boolean shouldAutoCloseSession(); + +} diff --git a/hibernate-core/src/main/java/org/hibernate/engine/spi/SessionBuilderImplementor.java b/hibernate-core/src/main/java/org/hibernate/engine/spi/SessionBuilderImplementor.java new file mode 100644 index 0000000000..8544ebc198 --- /dev/null +++ b/hibernate-core/src/main/java/org/hibernate/engine/spi/SessionBuilderImplementor.java @@ -0,0 +1,46 @@ +/* + * Hibernate, Relational Persistence for Idiomatic Java + * + * Copyright (c) 2012, Red Hat Inc. or third-party contributors as + * indicated by the @author tags or express copyright attribution + * statements applied by the authors. All third-party contributions are + * distributed under license by Red Hat Inc. + * + * This copyrighted material is made available to anyone wishing to use, modify, + * copy, or redistribute it subject to the terms and conditions of the GNU + * Lesser General Public License, as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License + * for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this distribution; if not, write to: + * Free Software Foundation, Inc. + * 51 Franklin Street, Fifth Floor + * Boston, MA 02110-1301 USA + */ +package org.hibernate.engine.spi; + +import org.hibernate.SessionBuilder; +import org.hibernate.SessionOwner; + +/** + * Defines the internal contract between the SessionBuilder and other parts of + * Hibernate.. + * + * @see org.hibernate.SessionBuilder + * + * @author Gail Badner + */ +public interface SessionBuilderImplementor extends SessionBuilder { + /** + * Adds the session owner to the session options + * + * @param sessionOwner The session owner. + * + * @return {@code this}, for method chaining + */ + public SessionBuilder owner(SessionOwner sessionOwner); +}