package eis.eis2java.translation; import eis.eis2java.exception.TranslationException; import eis.iilang.Parameter; /** * Interface for translating Java objects of type T to a {@link Parameter}. * * @param <T> * The type of the Java object to translate. * @author Lennard de Rijk */ public interface Java2Parameter<T> { /** * Translates the object into an array of {@link Parameter}. * * @param o * The object to translate. * @return The array of {@link Parameter} that represents a translated * object. * @throws TranslationException * if the translation can not be made. */ Parameter[] translate(T o) throws TranslationException; /** * @return The class that is being translated. */ Class<? extends T> translatesFrom(); }