I recently installed eclipse 3.3 and Java 1.6. Today I tried to use SiTra (Simple Transformations in Java) but when I tried to compile it Java started complaining on the following methods of the SimpleTransformerImpl.java:
public Object transform(Object object) { return transform(Rule.class, object); } public List<? extends Object> transformAll(List<? extends Object> sourceObjects) { return transformAll(Rule.class, sourceObjects); }
The error was something about java inconvertible types. I don’t know if it is the new version of eclipse or Java 1.6. Looks like for some reason the compiler doesn’t recognise that Rule.class is of type Class<? extends Rule<S, T>>, so as to call the public <S, T> T transform(Class<? extends Rule<S, T>> ruleType, S source)
A simple solution is to ct the Rule.class expression to Class (it sounds weird but it worked).
So the transform and transformAll methods become:
public Object transform(Object object) { Class r = Rule.class; return transform(r, object); } public List<? extends Object> transformAll(List<? extends Object> sourceObjects){ Class r = Rule.class; return transformAll(r, sourceObjects); }