
io.qt.core.QFuture Maven / Gradle / Ivy
package io.qt.core;
import io.qt.QNoImplementationException;
/**
* Represents the result of an asynchronous computation
* Java wrapper for Qt class QFuture
*/
public final class QFuture
implements java.lang.Iterable,
java.lang.Cloneable
{
static {
QtJambi_LibraryUtilities.initialize();
}
private final io.qt.core.QFutureInterfaceBase d;
/**
*
*/
public QFuture(){
d = QFutureInterface.canceledResult();
}
/**
* See QFuture::QFuture(QFutureInterface<T>*)
*/
public QFuture(io.qt.core.QFutureInterface d){
super();
this.d = d.clone();
}
QFuture(io.qt.core.QFutureInterfaceBase d, boolean internal){
super();
java.util.Objects.requireNonNull(d, "Argument 'd': null not expected.");
this.d = d;
}
/**
*
*/
@io.qt.QtUninvokable
public final void cancel(){
d.cancel();
}
/**
* See QFuture::isCanceled()const
*/
@io.qt.QtUninvokable
public final boolean isCanceled(){
return d.isCanceled();
}
/**
* See QFuture::isFinished()const
*/
@io.qt.QtUninvokable
public final boolean isFinished(){
return d.isFinished();
}
/**
*
*/
@io.qt.QtUninvokable
public final boolean isPaused(){
return d.isPaused();
}
/**
* See QFuture::isResultReadyAt(int)const
*/
@io.qt.QtUninvokable
public final boolean isResultReadyAt(int resultIndex){
return d.isResultReadyAt(resultIndex);
}
/**
*
*/
@io.qt.QtUninvokable
public final boolean isRunning(){
return d.isRunning();
}
/**
*
*/
@io.qt.QtUninvokable
public final boolean isStarted(){
return d.isStarted();
}
/**
* See QFuture::pause()
*/
@io.qt.QtUninvokable
public final void pause(){
setPaused(true);
}
/**
* See QFuture::progressMaximum()const
*/
@io.qt.QtUninvokable
public final int progressMaximum(){
return d.progressMaximum();
}
/**
* See QFuture::progressMinimum()const
*/
@io.qt.QtUninvokable
public final int progressMinimum(){
return d.progressMinimum();
}
/**
* See QFuture::progressText()const
*/
@io.qt.QtUninvokable
public final java.lang.String progressText(){
return d.progressText();
}
/**
* See QFuture::progressValue()const
*/
@io.qt.QtUninvokable
public final int progressValue(){
return d.progressValue();
}
/**
*
*/
@io.qt.QtUninvokable
public final T result(){
if(d instanceof QFutureInterface) {
d.waitForResult(0);
try{
return QFutureInterface.result(QtJambi_LibraryUtilities.internal.nativeId(d), 0);
}catch(QNoImplementationException e) {
throw new QNoImplementationException("result() not available for QFuture.");
}
}else {
throw new QNoImplementationException("result() not available for QFuture.");
}
}
/**
* See QFuture::resultAt(int)const
*/
@io.qt.QtUninvokable
public final T resultAt(int index){
if(d instanceof QFutureInterface) {
d.waitForResult(index);
try{
return QFutureInterface.result(QtJambi_LibraryUtilities.internal.nativeId(d), index);
}catch(QNoImplementationException e) {
throw new QNoImplementationException("resultAt(int) not available for QFuture.");
}
}else {
throw new QNoImplementationException("resultAt(int) not available for QFuture.");
}
}
/**
* See QFuture::resultCount()const
*/
@io.qt.QtUninvokable
public final int resultCount(){
return d.resultCount();
}
/**
*
*/
@io.qt.QtUninvokable
public final io.qt.core.QList results(){
if(d instanceof QFutureInterface) {
try{
return QFutureInterface.results(QtJambi_LibraryUtilities.internal.nativeId(d));
}catch(QNoImplementationException e) {
throw new QNoImplementationException("results() not available for QFuture.");
}
}else {
throw new QNoImplementationException("results() not available for QFuture.");
}
}
/**
*
*/
@io.qt.QtUninvokable
public final void resume(){
setPaused(false);
}
/**
*
*/
@io.qt.QtUninvokable
public final void setPaused(boolean paused){
d.setPaused(paused);
}
/**
*
*/
@io.qt.QtUninvokable
public final void togglePaused(){
d.togglePaused();
}
/**
* See QFuture::waitForFinished()
*/
@io.qt.QtUninvokable
public final void waitForFinished(){
d.waitForFinished();
}
@Override
public java.util.Iterator iterator() {
if(d instanceof QFutureInterface) {
if(d.isFinished())
return results().iterator();
return new java.util.Iterator(){
int i=0;
@Override
public boolean hasNext() {
d.waitForResult(i);
return d.isResultReadyAt(i);
}
@Override
public T next() {
return QFutureInterface.result(QtJambi_LibraryUtilities.internal.nativeId(d), i++);
}
};
}else {
throw new QNoImplementationException("iterator() not available for QFutureInterfaceBase.");
}
}
@Override
@io.qt.QtUninvokable
public boolean equals(Object other) {
if (other instanceof io.qt.core.QFuture>) {
return d.equals(((io.qt.core.QFuture>) other).d);
}
return false;
}
@io.qt.QtUninvokable
@Override
public int hashCode() {
return d.hashCode();
}
@Override
public QFuture clone() {
return new QFuture(d.clone(), true);
}
@io.qt.QtUninvokable
io.qt.core.QFutureInterfaceBase futureInterface() { return d; }
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy