Abstracción: crea diferentes versiones de las mismas fuentes

Actualmente trabajo en un proyecto de seguimiento utilizando un receptor GPS y un módem que envía las posiciones GPS a un servidor. Desde este año hay un nuevo módem disponible con una biblioteca de firmware actualizada. El equipo de diseño de hardware de mi empresa desarrolló un nuevo hardware utilizando el nuevo módem.

Mi problema ahora es: ¿cómo puedo construir mi aplicación para ambos tipos de módem de las mismas fuentes?

Lo que quiero decir con eso es: en la nueva biblioteca de firmware hay algunas clases y métodos disponibles que no puedo usar con el módem anterior y la biblioteca de firmware anterior. Utilizo NetBeans como mi IDE y, por lo tanto, puedo crear fácilmente diferentes configuraciones de hormigas para crear la aplicación para ambos tipos de módem, pero ¿cómo puedo implementar eso en mi código? No puedo tener partes de la nueva biblioteca de firmware en mi código ya que ni siquiera se compilaría, de alguna manera tengo que vincular "dinámicamente" la biblioteca de firmware correcta. ¿Cómo se hace esto en Java? Además, la compañía que produce los módems ha cambiado el nombre de su compañía, y todos los paquetes que importo ahora están en com.new_name.bla;lugar de com.old_name.bla;

Y eso está principalmente en todos mis archivos fuente. Estoy seguro de que hay una manera de resolver este problema en Java. ¿Tal vez alguien tiene un buen ejemplo para tal problema?

Respuesta 1

Cuando ejecuto este código: public static byte [] unwrap (PrivateKey privateKey, byte [] wrapKey) lanza Exception {Cipher cipher = Cipher.getInstance ("RSA / ECB / OAEPWithSHA-256AndMGF1Padding"); ...

Esto es lo que me gustaría lograr: tengo un servicio web A que deseo poder implementar junto con otros servicios web de tipo A, diferentes versiones. Por ahora asumo 2 instancias del lado ...

Estoy tratando de ejecutar una aplicación andriod desde el emulador, pero cada vez que envío una solicitud de URL válida muestra 404 como código de estado. Tengo el siguiente código. si uso http: //10.0.2.2/api/ca/entry/? ...

¿Hay alguna forma de omitir el administrador de diseño para un componente dado en Swing? Algo similar a position = "absolute" en CSS. El diseño nulo no es una opción. Tengo una GUI existente que no puedo modificar ...