Annotation Type Parameter



  • @Documented
    @Retention(RUNTIME)
    @Target({})
    public @interface Parameter
    Indicate type of RPC's formal parameter.
    • Required Element Summary

      Required Elements 
      Modifier and Type Required Element Description
      java.lang.String name
      Label formal parameter with an identifier.
      ParameterType type
      Indicate actual type of formal parameter.
    • Optional Element Summary

      Optional Elements 
      Modifier and Type Optional Element Description
      boolean inOut
      Indicate whether formal parameter is of IN (false) or INOUT (true) type.
      java.lang.Class<?> recordType
      Indicate actual StructureDefinition used in RECORD typed formal parameter.
    • Element Detail

      • name

        java.lang.String name
        Label formal parameter with an identifier. Label interconnects Parameter with ParameterValue, ParameterAttribute, ReturnValue and ReturnAttribute within one RPC. It can differ from both names of parameter in ESL and in annotated method.
        Returns:
        local parameter name
      • type

        ParameterType type
        Indicate actual type of formal parameter.
        Returns:
        value type of the parameter
      • inOut

        boolean inOut
        Indicate whether formal parameter is of IN (false) or INOUT (true) type.
        Returns:
        formal parameter direction
        Default:
        true
      • recordType

        java.lang.Class<?> recordType
        Indicate actual StructureDefinition used in RECORD typed formal parameter. Value should be set to reference type properly annotated with sk.ipesoft.d2000.d2japi.annotations.structureBinding annotations.

        It is required when type() is set to ParameterType.record. Otherwise is required to be left to its default value.

        It is not possible to indicate RECORD formal parameter without actual StructureDefinition (so called "untyped RECORD parameter"). Instead one can define several java overloads of the same RPC which differ in actual StructureDefinition.

        Returns:
        reference to the record type
        Default:
        java.lang.Class.class