significa que example concepto java wrapper

java - que - ¿Hay una manera de autogenerar envoltorios en Eclipse?



wrapper int (3)

Tengo que crear varios servidores proxy, para agregar, por ejemplo, el registro. Algo como eso:

interface IMath { public int add(a, b); } class Math implements IMath { public int add(a, b) { return a + b; } } class MathWithLogs implements IMath { private IMath realMath; public int add(a, b) { Log.d("tag", "valueable info"); return realMath.add(a, b); } }

Todo está bien siempre y cuando estas interfaces no sean 20 métodos y tengo que agregar algo a uno solo.

Mi pregunta es, ¿hay una manera de autogenerar clases de envoltorio con algún complemento para eclipse?

¿O tal vez hay una manera de hacer algo con anotaciones para invocar métodos de realMath a menos que se indique lo contrario (como @Override)?


Haga clic con el botón derecho en cualquier archivo fuente (.java) y navegue hasta la source -> Override/Implement Methods/Generate Delegate Methods.

El primero pegará el cuerpo de todos los métodos de su interfaz inmediata. el segundo hará lo mismo para toda la jerarquía hasta Objeto (supongo, no estoy seguro). Espero que esto ayude.


Me tomó un tiempo después de leer las otras respuestas para averiguar exactamente qué hacer. La solucion es:

  1. Cree su clase envoltura (inicialmente vacía) que implemente la interfaz requerida. Asegúrese de desmarcar "Métodos abstractos heredados" al crear la clase.
  2. Dentro de su nueva clase de envoltura (que mostrará un error en este momento debido a que carece de las implementaciones de la interfaz), cree un campo que tenga el mismo tipo que la interfaz requerida.
  3. Haga clic con el botón derecho en el campo que acaba de crear y seleccione Fuente -> Generar métodos de delegado.
  4. Marque los métodos que desea crear y haga clic en Aceptar.
  5. Finalmente, agregue un constructor de argumento único o un método de establecimiento para el campo (no se genera automáticamente como parte de este proceso).

Sí, hay un generador de origen llamado "Generar métodos de delegado" que hará exactamente lo que desea.