title: What is the use of empty classes in @jsonview?
body: <p>I am new to ajax and json. Recently when I tried to use ajax and json implementation in Spring mvc. I came across tutorials using annotation like </p>
  
  <pre><code>@JsonView(Views.Public.class)   
  </code></pre>
  
  <p>And below is the view definition</p>
  
  <pre><code>public class Views {
     public static class Public {}
     public static class Internal extends Public {}
  }
  </code></pre>
  
  <p>Q1. What is the importance using Views.Public.class in @JsonView as Public class has no definition?</p>
  
  <p>Q2. Why @jsonview is designed in this way?</p>
  
  <p>Q3. The view class does not have normal definition and also inner classes (Public and Internal) as well. What do you called such type of classes and when do you use usually? I have heard of marker interface in serialization but I have not heard like marker class.</p>
  
  <p>I am asking these question because I have never learnt such coding methology in java. Is it a kind of design pattern?</p>