Annotation Interface Allocation


@Retention(RUNTIME) @Target(FIELD) public @interface Allocation
La anotación Allocation se utiliza para establecer límites a la instanciación de las referencias de la entidad y de los meta parámetros referenciales de la operación. Estos límites se deben ajustar en función de las expresiones programadas en la meta entidad o meta operación, ya que éstas pueden utilizar propiedades de entidades referenciadas. Si una expresión utiliza una propiedad de una entidad referenciada que está fuera de alcance (out-of-scope) entonces, al generar la aplicación, se produce un NullPointerException en la instrucción correspondiente a la expresión. La solución a este problema es aumentar los límites establecidos (explícitamente o por omisión) para la instanciación de la referencia que está fuera de alcance. El primero de los límites determina la profundidad máxima que se puede alcanzar al instanciar la referencia. Las propiedades de la entidad y de cada meta parámetro tienen profundidad 1. Las propiedades de las entidades referenciadas tienen profundidad 2. Las propiedades de las entidades referenciadas por las entidades referenciadas en la entidad tienen profundidad 3, y así sucesivamente, ad-infinitum. El segundo de los límites determina la cantidad máxima de referencias circulares que se puede alcanzar al instanciar una referencia. Una referencia circular es una referencia a la misma entidad, hecha de forma directa o indirecta (en otras palabras, hecha a cualquier profundidad).
Author:
Jorge Campins
  • Optional Element Summary

    Optional Elements
    Modifier and Type
    Optional Element
    Description
    int
    maxDepth específica la profundidad máxima de la referencia.
    int
    maxRound específica la cantidad máxima de referencias circulares de la referencia.
  • Element Details

    • maxDepth

      int maxDepth
      maxDepth específica la profundidad máxima de la referencia. Su valor debe ser un número entero mayor o igual a 1. El valor predeterminado es 1.
      Returns:
      maxDepth
      Default:
      1
    • maxRound

      int maxRound
      maxRound específica la cantidad máxima de referencias circulares de la referencia. Su valor debe ser un número entero mayor o igual a 0. El valor predeterminado es 1 para las propiedades padre y 0 para las demás referencias.
      Returns:
      maxRound
      Default:
      0