View Javadoc

1   package nl.tudelft.goal.ut2004.translators;
2   
3   import nl.tudelft.goal.unreal.util.EnvironmentUtil;
4   import cz.cuni.amis.pogamut.ut2004.communication.messages.UT2004ItemType.UT2004Group;
5   import eis.eis2java.exception.TranslationException;
6   import eis.eis2java.translation.Java2Parameter;
7   import eis.eis2java.translation.Parameter2Java;
8   import eis.eis2java.translation.Translator;
9   import eis.iilang.Identifier;
10  import eis.iilang.Parameter;
11  
12  public class UT2004GroupTranslator implements Java2Parameter<UT2004Group>,
13  		Parameter2Java<UT2004Group> {
14  
15  	@Override
16  	public Parameter[] translate(UT2004Group o) throws TranslationException {
17  		return new Parameter[] { new Identifier(o.name().toLowerCase()) };
18  	}
19  
20  	@Override
21  	public Class<? extends UT2004Group> translatesFrom() {
22  		return UT2004Group.class;
23  	}
24  
25  	@Override
26  	public UT2004Group translate(Parameter parameter)
27  			throws TranslationException {
28  		String itemTypeString = Translator.getInstance().translate2Java(
29  				parameter, String.class);
30  
31  		try {
32  			return UT2004Group.valueOf(itemTypeString.toUpperCase());
33  		} catch (IllegalArgumentException e) {
34  			String message = String.format(
35  					"%s was not a ItemType. Expected on off %s.",
36  					itemTypeString,
37  					EnvironmentUtil.listValid(UT2004Group.class));
38  			throw new TranslationException(message, e);
39  		}
40  	}
41  
42  	@Override
43  	public Class<UT2004Group> translatesTo() {
44  		return UT2004Group.class;
45  	}
46  
47  }