org.eclipse.viatra.query.patternlanguage.emf.annotations

## Class PatternAnnotationValidator

- java.lang.Object
- - org.eclipse.viatra.query.patternlanguage.emf.annotations.PatternAnnotationValidator

- All Implemented Interfaces:
    IPatternAnnotationValidator
  Direct Known Subclasses:
    FunctionalDependencyAnnotationValidator, LabelAnnotationValidator, QueryExplorerAnnotationValidator

      public class PatternAnnotationValidator
      extends java.lang.Object
      implements IPatternAnnotationValidator

  A description of VQL language annotations. Such validators are loaded in `PatternAnnotationProvider`.
  Since:
    2.0

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `PatternAnnotationValidator(java.lang.String name, java.lang.String description, boolean deprecated, java.lang.Iterable<PatternAnnotationParameter> parameters, IPatternAnnotationAdditionalValidator validator)`
    `PatternAnnotationValidator(java.lang.String name, java.lang.String description, boolean deprecated, java.lang.Iterable<PatternAnnotationParameter> parameters, java.util.Optional<IPatternAnnotationAdditionalValidator> validator)`
    `PatternAnnotationValidator(java.lang.String name, java.lang.String description, boolean deprecated, PatternAnnotationParameter... parameters)`
    `PatternAnnotationValidator(java.lang.String name, java.lang.String description, IPatternAnnotationAdditionalValidator validator, PatternAnnotationParameter... parameters)`
    `PatternAnnotationValidator(java.lang.String name, java.lang.String description, PatternAnnotationParameter... parameters)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `java.util.Optional<IPatternAnnotationAdditionalValidator>` | `getAdditionalValidator()` Provides an additional validator implementation.
    `java.lang.Iterable<java.lang.String>` | `getAllAvailableParameterNames()`
    `java.lang.String` | `getAnnotationName()`
    `java.lang.String` | `getDescription()`
    `java.lang.String` | `getDescription(java.lang.String parameterName)`
    `java.lang.Class<? extends ValueReference>` | `getExpectedParameterType(AnnotationParameter parameter)` Returns whether a parameter of an annotation is mistyped
    `java.lang.Iterable<java.lang.String>` | `getMissingMandatoryAttributes(Annotation annotation)`
    `java.lang.Iterable<AnnotationParameter>` | `getUnknownAttributes(Annotation annotation)`
    `boolean` | `isDeprecated()`
    `boolean` | `isDeprecated(java.lang.String parameterName)`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### PatternAnnotationValidator

          public PatternAnnotationValidator(java.lang.String name,
                                            java.lang.String description,
                                            PatternAnnotationParameter... parameters)

      Since:
        2.0

    - #### PatternAnnotationValidator

          public PatternAnnotationValidator(java.lang.String name,
                                            java.lang.String description,
                                            IPatternAnnotationAdditionalValidator validator,
                                            PatternAnnotationParameter... parameters)

      Since:
        2.0

    - #### PatternAnnotationValidator

          public PatternAnnotationValidator(java.lang.String name,
                                            java.lang.String description,
                                            boolean deprecated,
                                            PatternAnnotationParameter... parameters)

      Since:
        2.0

    - #### PatternAnnotationValidator

          public PatternAnnotationValidator(java.lang.String name,
                                            java.lang.String description,
                                            boolean deprecated,
                                            java.lang.Iterable<PatternAnnotationParameter> parameters,
                                            IPatternAnnotationAdditionalValidator validator)

    - #### PatternAnnotationValidator

          public PatternAnnotationValidator(java.lang.String name,
                                            java.lang.String description,
                                            boolean deprecated,
                                            java.lang.Iterable<PatternAnnotationParameter> parameters,
                                            java.util.Optional<IPatternAnnotationAdditionalValidator> validator)

  - ### Method Detail

    - #### getAllAvailableParameterNames

          public java.lang.Iterable<java.lang.String> getAllAvailableParameterNames()

      Specified by:
        `getAllAvailableParameterNames` in interface `IPatternAnnotationValidator`

    - #### getMissingMandatoryAttributes

          public java.lang.Iterable<java.lang.String> getMissingMandatoryAttributes(Annotation annotation)

      Specified by:
        `getMissingMandatoryAttributes` in interface `IPatternAnnotationValidator`

    - #### getUnknownAttributes

          public java.lang.Iterable<AnnotationParameter> getUnknownAttributes(Annotation annotation)

      Specified by:
        `getUnknownAttributes` in interface `IPatternAnnotationValidator`

    - #### getExpectedParameterType

          public java.lang.Class<? extends ValueReference> getExpectedParameterType(AnnotationParameter parameter)

      Description copied from interface: `IPatternAnnotationValidator`
      Returns whether a parameter of an annotation is mistyped
      Specified by:
        `getExpectedParameterType` in interface `IPatternAnnotationValidator`
      Returns:
        the expected class of the parameter variable

    - #### getAnnotationName

          public java.lang.String getAnnotationName()

      Specified by:
        `getAnnotationName` in interface `IPatternAnnotationValidator`

    - #### getDescription

          public java.lang.String getDescription()

      Specified by:
        `getDescription` in interface `IPatternAnnotationValidator`

    - #### getDescription

          public java.lang.String getDescription(java.lang.String parameterName)

      Specified by:
        `getDescription` in interface `IPatternAnnotationValidator`

    - #### isDeprecated

          public boolean isDeprecated()

      Specified by:
        `isDeprecated` in interface `IPatternAnnotationValidator`

    - #### isDeprecated

          public boolean isDeprecated(java.lang.String parameterName)

      Specified by:
        `isDeprecated` in interface `IPatternAnnotationValidator`

    - #### getAdditionalValidator

          public java.util.Optional<IPatternAnnotationAdditionalValidator> getAdditionalValidator()

      Description copied from interface: `IPatternAnnotationValidator`
      Provides an additional validator implementation.
      Specified by:
        `getAdditionalValidator` in interface `IPatternAnnotationValidator`
      Returns:
        the validator object