All Downloads are FREE. Search and download functionalities are using the official Maven repository.

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; /** *

See QFuture::QFuture()

*/ 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; } /** *

See QFuture::cancel()

*/ @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(); } /** *

See QFuture::isPaused()const

*/ @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); } /** *

See QFuture::isRunning()const

*/ @io.qt.QtUninvokable public final boolean isRunning(){ return d.isRunning(); } /** *

See QFuture::isStarted()const

*/ @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(); } /** *

See QFuture::result()const

*/ @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(); } /** *

See QFuture::results()const

*/ @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."); } } /** *

See QFuture::resume()

*/ @io.qt.QtUninvokable public final void resume(){ setPaused(false); } /** *

See QFuture::setPaused(bool)

*/ @io.qt.QtUninvokable public final void setPaused(boolean paused){ d.setPaused(paused); } /** *

See QFuture::togglePaused()

*/ @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