/******************************************************************************* * Copyright (c) 2009-2013 CWI * 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: * * Paul Klint - Paul.Klint@cwi.nl - CWI * * Atze van der Ploeg - Atze.van.der.Ploeg@cwi.nl - CWI *******************************************************************************/ package org.rascalmpl.eclipse.library.vis.properties; import static org.rascalmpl.eclipse.library.vis.properties.CombinedProperty.Combine.FIRST; import static org.rascalmpl.eclipse.library.vis.properties.CombinedProperty.Combine.INTERPOLATECOLOR; import static org.rascalmpl.eclipse.library.vis.properties.CombinedProperty.Combine.OR; import org.rascalmpl.eclipse.library.vis.properties.CombinedProperty.Combine; import org.rascalmpl.eclipse.library.vis.util.RascalToJavaValueConverters.Convert; import org.rascalmpl.eclipse.library.vis.util.RascalToJavaValueConverters.ConvertBool; import org.rascalmpl.eclipse.library.vis.util.RascalToJavaValueConverters.ConvertColor; import org.rascalmpl.eclipse.library.vis.util.RascalToJavaValueConverters.ConvertFig; import org.rascalmpl.eclipse.library.vis.util.RascalToJavaValueConverters.ConvertInt; import org.rascalmpl.eclipse.library.vis.util.RascalToJavaValueConverters.ConvertReal; import org.rascalmpl.eclipse.library.vis.util.RascalToJavaValueConverters.ConvertStr; import org.rascalmpl.eclipse.library.vis.util.RascalToJavaValueConverters.DoNotConvert; @SuppressWarnings("rawtypes") public enum Types { BOOL("bool","b",OR){ public Convert getConverter(){ return ConvertBool.instance; } }, COLOR("Color","c",INTERPOLATECOLOR){ public Convert getConverter(){ return ConvertColor.instance; } }, FIGURE("Figure","f",FIRST){ public Convert getConverter(){ return ConvertFig.instance; } }, HANDLER("","h", false,FIRST){ public Convert getConverter(){ return DoNotConvert.instance; } }, INT("int","i", FIRST){ public Convert getConverter(){ return ConvertInt.instance; } }, REAL("num","r", FIRST){ public Convert getConverter(){ return ConvertReal.instance; } }, STR("str","s",FIRST){ public Convert getConverter(){ return ConvertStr.instance; } }, VALUE("value","vv",FIRST){ public Convert getConverter(){ return DoNotConvert.instance; } }; public abstract Convert getConverter(); public String rascalName; public String shortName; public boolean canBeComputed; public Combine defaultCombine; Types(String rascalName,String shortName,Combine defaultCombine){ this(rascalName, shortName, true,defaultCombine); } Types(String rascalName,String shortName, boolean canBeComputed,Combine defaultCombine){ this.rascalName = rascalName; this.shortName = shortName; this.canBeComputed = canBeComputed; this.defaultCombine = defaultCombine; } }