package org.ovirt.engine.ui.frontend; public class AsyncQuery<T> { /** * Null object singleton that represents an empty (no-op) query callback. */ private static final AsyncCallback EMPTY_CALLBACK = returnValue -> {}; private final Object model; private final AsyncCallback<T> asyncCallback; public Converter<T, ?> converterCallback = null; private boolean handleFailure; public AsyncQuery() { this.model = null; this.asyncCallback = EMPTY_CALLBACK; } public AsyncQuery(AsyncCallback<T> asyncCallback) { this(null, asyncCallback); } public AsyncQuery(AsyncCallback<T> asyncCallback, boolean handleFailure) { this(null, asyncCallback, handleFailure); } protected AsyncQuery(Object target, AsyncCallback<T> asyncCallback) { this.model = target; this.asyncCallback = asyncCallback; } protected AsyncQuery(Object target, AsyncCallback<T> asyncCallback, boolean handleFailure) { this.model = target; this.asyncCallback = asyncCallback; this.handleFailure = handleFailure; } public boolean isHandleFailure() { return handleFailure; } public void setHandleFailure(boolean handleFailure) { this.handleFailure = handleFailure; } public Object getModel() { return model; } public AsyncCallback<T> getAsyncCallback() { return asyncCallback; } public Converter<T, ?> getConverter() { return converterCallback; } }