public class Imprimidor<T> {  
  private T objeto;  

  public Imprimidor(T objeto) {  
    this.objeto = objeto;  
  }  

  public void setObjeto(T objeto) {  
    this.objeto = objeto;  
  }  

  public T getObjeto() {  
    return objeto;  
  }  

  public void imprimir() {  
    System.out.println(objeto.toString());  
  }  

  public void imprimir_reves() {  
    StringBuffer sb = new StringBuffer(objeto.toString());  
    System.out.println(sb.reverse());  
  }
  
  public static void main(String[] args) {
      Imprimidor<String> impStr = new Imprimidor<String>("Hola mundo"); 
      impStr.imprimir();
      impStr.imprimir_reves();
      Imprimidor<Integer> impInt = new Imprimidor<Integer>(143);
      impInt.imprimir_reves(); 
      Imprimidor<Double> impD = new Imprimidor<Double> (0.123);
      impD.imprimir();
      impD.imprimir_reves();
  }
}  

