Necesito una interfaz que me asegure que un cierto método, incluida la firma específica, esté disponible. Hasta ahora lo suyo es lo que tengo:
public interface Mappable<M> {
M mapTo(M mappableEntity);
}
El problema surge cuando una clase debe ser mapeable a varias otras entidades. El caso ideal sería este (no java):
public class Something implements Mappable<A>, Mappable<B> {
public A mapTo(A someObject) {...}
public B mapTo(B someOtherObject) {...}
}
¿Cuál sería la mejor manera de lograr que esto permanezca lo más "genérico" posible?