/*
* Hibernate, Relational Persistence for Idiomatic Java
*
* Copyright (c) 2013, 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.result;
Represents the outputs of executing a JDBC statement accounting for mixing of result sets and update counts
hiding the complexity (IMO) of how this is exposed in the JDBC API.
The outputs are exposed as a group of Output
objects, each representing a single result set or update count. Conceptually, Result presents those Returns as an iterator. Author: Steve Ebersole
/**
* Represents the outputs of executing a JDBC statement accounting for mixing of result sets and update counts
* hiding the complexity (IMO) of how this is exposed in the JDBC API.
* <p/>
* The outputs are exposed as a group of {@link Output} objects, each representing a single result set or update count.
* Conceptually, Result presents those Returns as an iterator.
*
* @author Steve Ebersole
*/
public interface Outputs {
Retrieve the current Output object.
Returns: The current Output object. Can be null
/**
* Retrieve the current Output object.
*
* @return The current Output object. Can be {@code null}
*/
public Output getCurrent();
Go to the next Output object (if any), returning an indication of whether there was another (aka, will the next call to getCurrent()
return null
? Returns: true
if the next call to getCurrent()
will return a non-null
value.
/**
* Go to the next Output object (if any), returning an indication of whether there was another (aka, will
* the next call to {@link #getCurrent()} return {@code null}?
*
* @return {@code true} if the next call to {@link #getCurrent()} will return a non-{@code null} value.
*/
public boolean goToNext();
Eagerly release any resources held by this Outputs.
/**
* Eagerly release any resources held by this Outputs.
*/
public void release();
}