¿Qué es la clase JSON View en Jackson y cómo funciona?

No entiendo qué es Jackson's @JsonView (Views.MyClass.class) Sé que puedo anotar los campos y métodos de POJO de esta manerapara filtrar los no anotados de ser serializado con JSON. Pero, ¿qué es la clase Views.Myclass? ¿Es una clase de plantilla para la biblioteca Jackson?

¿Y por qué puede haber muchas clases dentro de la clase Vistas? Por ejemplo así:

 class Views {
            static class Public { }
            static class ExtendedPublic extends PublicView { }
            static class Internal extends ExtendedPublicView { }
  }

¿Por qué es necesario y cómo funciona?

Respuestas a la pregunta(1)

Su respuesta a la pregunta