Generar esquema JSON a partir de la clase java

Tengo una clase POJO

public class Stock{
 int id;
 String name;
 Date date;
}

¿Hay alguna anotación o marco de desarrollo / api que pueda convertir POJO a esquema JSON como a continuación

{"id":
      {             
        "type" : "int"
      },
"name":{   
        "type" : "string"
       }
"date":{
        "type" : "Date"
      }
}

y también puedo expandir el esquema para agregar información como "Obligatorio": "Sí", descripción de cada campo, etc., especificando algunas anotaciones o configuraciones en POJO y puede generar el esquema JSON como se muestra a continuación.

{"id":
      {             
        "type" : "int",
        "Required" : "Yes",
        "format" : "id must not be greater than 99999",
        "description" : "id of the stock"
      },
"name":{   
        "type" : "string",
        "Required" : "Yes",
        "format" : "name must not be empty and must be 15-30 characters length",
        "description" : "name of the stock"
       }
"date":{
        "type" : "Date",
        "Required" : "Yes",
        "format" : "must be in EST format",
        "description" : "filing date of the stock"
      }
}

Respuestas a la pregunta(4)

Su respuesta a la pregunta