Todo,Anulación de un método en objetos creados estáticamente
Debido a un fallo en una biblioteca que estoy usando, necesito reemplazar el método dispose() en todos los objetos que se extiende una cierta clase y que sea un NO- OP. Sé que si estoy haciendo nuevas instancias de las clases directamente, esto es fácil de hacer:
layerManager = new LayerManagerLayer(wwd) {
@Override
public void dispose() {}
};
El problema es que muchas de las instancias de los objetos que se obtiene no se construyen directamente por el código cliente, pero en su lugar, se crean a través de llamadas al método de biblioteca estática.
// Here I want to override the dispose method, but I cannot.
Layer l = ShapefileLoader.makeShapefileLayer(this.getClass().getResource("polylines10.shp"));
¿Hay alguna manera de inyectar mi método dispose en ese objeto creado estáticamente, sin modificar el código fuente original?
* "¿Hay alguna manera que [...] pueda sin modificar el código fuente original?" * - Lección n. ° 1 - evite usar bibliotecas donde al menos no tenga la opción de modificar el código fuente para arreglar el show - Errores inesperados. –