View Javadoc

1   package nl.tudelft.goal.ut3.translators;
2   
3   import nl.tudelft.goal.unreal.util.EnvironmentUtil;
4   import cz.cuni.amis.pogamut.ut2004.communication.messages.UT2004ItemType.UT2004Group;
5   import cz.cuni.amis.pogamut.ut3.communication.messages.UT3ItemType.UT3Group;
6   import eis.eis2java.exception.TranslationException;
7   import eis.eis2java.translation.Java2Parameter;
8   import eis.eis2java.translation.Parameter2Java;
9   import eis.eis2java.translation.Translator;
10  import eis.iilang.Identifier;
11  import eis.iilang.Parameter;
12  
13  public class UT3GroupTranslator implements Java2Parameter<UT3Group>,
14  		Parameter2Java<UT3Group> {
15  
16  	@Override
17  	public Parameter[] translate(UT3Group o) throws TranslationException {
18  		return new Parameter[] { new Identifier(o.name().toLowerCase()) };
19  	}
20  
21  	@Override
22  	public Class<? extends UT3Group> translatesFrom() {
23  		return UT3Group.class;
24  	}
25  
26  	@Override
27  	public UT3Group translate(Parameter parameter) throws TranslationException {
28  		String itemTypeString = Translator.getInstance().translate2Java(
29  				parameter, String.class);
30  
31  		try {
32  			return UT3Group.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<UT3Group> translatesTo() {
44  		return UT3Group.class;
45  	}
46  
47  }