Annotation Interface Views


@Retention(RUNTIME) @Target(TYPE) public @interface Views
A group of @View associated to the same entity.

Applies to entities.

Example:

  @Entity
  @Views({
    @View(members=
      "year, number, date, paid;" +
      "discounts [" +
      "       customerDiscount, customerTypeDiscount, yearDiscount;" +
      "];" +
      "comment;" +                    
      "customer { customer }" +
      "details { details }" +                 
      "amounts { amountsSum; vatPercentage; vat }" +
      "deliveries { deliveries }"             
    ),
    @View(name="Simple", members="year, number, date, yearDiscount;"),
    @View(name="NestedSections", members=   
      "year, number, date;" +                                 
      "customer { customer }" +
      "data {" +                               
      "       details { details }" +
      "       amounts {" +
      "               vat { vatPercentage; vat }" +                           
      "               amountsSum { amountsSum }" +
      "       }" +                            
      "}" +                                           
      "deliveries { deliveries }"             
    ),
    @View(name="Deliveries", members=
      "year, number, date;" +
      "deliveries;"
    ),
    @View(name="Amounts", members=
      "year, number;" +
      "amounts [#" + 
      "       customerDiscount, customerTypeDiscount, yearDiscount;" +
      "       amountsSum, vatPercentage, vat;" +
      "]"                     
    )
  }) 
  public class Invoice {
  ...
 
Since 6.1 @View is repeatable, so you don't need to use @Views any more.
Author:
Javier Paniza
  • Required Element Summary

    Required Elements
    Modifier and Type
    Required Element
    Description
     
  • Element Details

    • value

      View[] value