/******************************************************************************* * Copyright (c) 2016 Pivotal, Inc. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Pivotal, Inc. - initial API and implementation *******************************************************************************/ package org.springframework.ide.eclipse.boot.dash.dialogs; import java.util.concurrent.Callable; import org.springsource.ide.eclipse.commons.livexp.core.BooleanFieldModel; import org.springsource.ide.eclipse.commons.livexp.core.FieldModel; import org.springsource.ide.eclipse.commons.livexp.core.StringFieldModel; import org.springsource.ide.eclipse.commons.livexp.ui.OkButtonHandler; /** * @author Kris De Volder */ public abstract class EditTemplateDialogModel implements OkButtonHandler { public final StringFieldModel template = new StringFieldModel("Template", getDefaultValue()); public final FieldModel<Boolean> applyToAll = new BooleanFieldModel(getApplyToAllLabel(), getApplyToAllDefault()); //TODO: This field can be a method once we adopt Java 8. public Callable<Void> restoreDefaultsHandler = new Callable<Void>() { public Void call() throws Exception { template.getVariable().setValue(getDefaultValue()); return null; } }; public abstract String getTitle(); public abstract String getDefaultValue(); public abstract String getHelpText(); public abstract String getApplyToAllLabel(); public abstract boolean getApplyToAllDefault(); }