/*******************************************************************************
* Copyright (c) 2014, 2016 GoPivotal, 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:
* GoPivotal, Inc. - initial API and implementation
*******************************************************************************/
package org.springframework.ide.eclipse.boot.wizard;
import org.springframework.ide.eclipse.boot.core.initializr.InitializrServiceSpec.Type;
import org.springframework.ide.eclipse.boot.wizard.importing.ImportStrategy;
/**
* Extension of {@link RadioInfo} adds extra attribute(s) only
* applicable to the 'type' input field.
*
* @author Kris De Volder
*/
public class TypeRadioInfo extends RadioInfo {
private ImportStrategy importStrategy;
private Type type;
public String getAction() {
return type.getAction();
}
public TypeRadioInfo(String groupName, Type type, ImportStrategy importStrategy) {
super(groupName, importStrategy.getId(), type.isDefault());
this.type = type;
this.importStrategy = importStrategy;
}
@Override
public String toString() {
return "Radio(" + getGroupName()+", "+getValue()+")";
}
public ImportStrategy getImportStrategy() {
return importStrategy;
}
@Override
public String getUrlParamValue() {
//We override super because the start.spring.io wizard doesn't understand the difference between
// "GRADLE-STS" and "GRADLE-Buildship". Since our own wizard supports multipe import-strategies per
//project type, our type IDs are distinct from the ones used by start.spring.io
//This method returns the corresponding id to be used when passing it to start.spring.io as url
//parameter value.
return type.getId();
}
}