tabla de atributos dinámicos de Java

Estoy desarrollando una aplicación Java que necesita un componente especial para atributos dinámicos. Los argumentos se serializan (usando JSON) y se almacenan en una base de datos y luego se deserializan en tiempo de ejecución. Todos los atributos se muestran en una JTable con 3 columnas (nombre de atributo, tipo de atributo y valor de atributo) y se almacenan en un hashmap.

Actualmente tengo dos problemas para resolver:

  1. El hashmap también puede almacenar objetos y los objetos se pueden establecer en nulo. Y si se establece en nulo, no sé a qué clase pertenecen. ¿Cómo podría almacenar objetos incluso si son nulos y se sabe a qué clase pertenecen? ¿Debo envolver cada objeto en una clase que contenga la clase del objeto almacenado?

  2. Los objetos se deserializan de json en tiempo de ejecución. El problema con esto es que hay muchos tipos diferentes de objetos y en realidad no sé todos los tipos de objetos que se almacenarán en el hashmap. Así que estoy buscando una forma de deserializar dinámicamente los objetos. ¿Existe tal forma? ¿Tendría que almacenar la clase del objeto en la cadena json serializada?

¡Gracias!

Respuesta 1
  1. Eche un vistazo al Patrón de objetos nulos . Puede usar una clase adicional para representar una instancia nula de su tipo y aún podría contener información sobre sí misma.

  2. Hay algo llamado un token de clase , que es el uso de objetos de clase como claves para contenedores heterogéneos. Eche un vistazo a Java eficaz por Joshua Bloch, artículo 29 . No estoy seguro de cómo este enfoque podría funcionar para usted, ya que puede tener muchas instancias del mismo tipo, pero lo dejo como referencia.

Respuesta: 2

Primer código: Bond [] bond = null; pruebe {JSONArray jsonArray = new JSONArray (resultado); bonos = nuevo enlace [jsonArray.length ()]; para (int i = 0; i <jsonArray.length (); ...

Quiero poder imprimir un número variable de elementos de mi matriz en cada línea. Cadena [] nombre = {"Alix", "Jack", "Alexis", "Adam", "John", "Lexi", "George", "Gregory", "Paul", ...

Tengo un programa Java con un Mapa de tipo <String, Project> que contiene todos los objetos del Proyecto y cada objeto del Proyecto contiene una Lista de objetos de Proceso relacionados, es decir, Lista <Proceso>. ...

Estoy tratando de descargar una imagen de Internet para mostrarla en un complemento. Este complemento utiliza JEditorPane y contiene contenido html. He intentado usar un código HTML simple que funcionaría en HTML normal: ...