@Override public T getItem() { backgroundWorker.checkUIAccess(); return state == State.VALID ? item : null; }
/** * Cancel running task if there is at the moment. * Launch it again. */ public void restart() { cancel(); Objects.requireNonNull(task, "Task must be specified either in constructor or by passing it to restart() method"); taskHandler = backgroundWorker.handle(task); taskHandler.execute(); }
@Nullable @Override public T getItemIfValid() { backgroundWorker.checkUIAccess(); return state == State.VALID ? item : null; }
/** * Cancel running task if there is at the moment. * Launch new task specified as parameter. * * @param task task to start, also will be saved for future restarts */ public void restart(BackgroundTask<T, V> task) { cancel(); this.task = task; taskHandler = backgroundWorker.handle(task); taskHandler.execute(); }
@Override public NotificationBuilder create() { backgroundWorker.checkUIAccess(); return new NotificationBuilderImpl(); }
protected void searchSuggestions(final String query) { BackgroundTask<Long, List<V>> task = getSearchSuggestionsTask(query); if (task != null) { handler = backgroundWorker.handle(task); handler.execute(); } }
@Override public ExceptionDialogBuilder createExceptionDialog() { backgroundWorker.checkUIAccess(); return new ExceptionDialogBuilderImpl(); }
protected void searchSuggestions(final String query) { BackgroundTask<Long, List<V>> task = getSearchSuggestionsTask(query); if (task != null) { handler = backgroundWorker.handle(task); handler.execute(); } }
@Override public T getItem() { backgroundWorker.checkUIAccess(); return getState() == State.VALID ? item : null; }
@Override public void init(Map<String, Object> params) { @SuppressWarnings("unchecked") BackgroundTask<T, V> task = (BackgroundTask<T, V>) params.get("task"); String title = (String) params.get("title"); if (title != null) { setCaption(title); } String message = (String) params.get("message"); if (message != null) { text.setValue(message); } Boolean cancelAllowedNullable = (Boolean) params.get("cancelAllowed"); cancelAllowed = BooleanUtils.isTrue(cancelAllowedNullable); cancelButton.setVisible(cancelAllowed); getDialogOptions().setCloseable(cancelAllowed); BackgroundTask<T, V> wrapperTask = new LocalizedTaskWrapper<>(task, this); taskHandler = backgroundWorker.handle(wrapperTask); taskHandler.execute(); }
@Override public T getItem(K id) { backgroundWorker.checkUIAccess(); if (state == State.NOT_INITIALIZED) { throw new IllegalStateException("Invalid datasource state " + state); } else { T item = (T) data.get(id); return item; } }
taskHandler = backgroundWorker.handle(wrapperTask); taskHandler.execute();
@Override public OptionDialogBuilder createOptionDialog() { backgroundWorker.checkUIAccess(); return new OptionDialogBuilderImpl(); }
@Override public MessageDialogBuilder createMessageDialog() { backgroundWorker.checkUIAccess(); return new MessageDialogBuilderImpl(); }
@Override public T getItemNN(K id) { backgroundWorker.checkUIAccess(); T it = getItem(id); if (it != null) { return it; } else { throw new IllegalStateException("Item with id=" + id + " is not found in datasource " + this.id); } }
@Override public DynamicAttributesEntity getItem() { backgroundWorker.checkUIAccess(); if (State.VALID.equals(state)) return item; else throw new IllegalStateException("RuntimePropsDataSource state is " + state); }
@Override public void refresh() { backgroundWorker.checkUIAccess(); fireCollectionChanged(Operation.REFRESH, Collections.emptyList()); }
@Override public Collection<K> getItemIds() { backgroundWorker.checkUIAccess(); if (state == State.NOT_INITIALIZED) { return Collections.emptyList(); } else { return (Collection<K>) data.keySet(); } }
@Override public Collection<T> getItems() { backgroundWorker.checkUIAccess(); if (state == State.NOT_INITIALIZED) { return Collections.emptyList(); } else { //noinspection unchecked return new ReadOnlyLinkedMapValuesView(data); } }
@Override public int size() { backgroundWorker.checkUIAccess(); if ((state == State.NOT_INITIALIZED) || suspended) { return 0; } else { return data.size(); } }