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

## Interface IPatternAnnotationValidator

- All Known Implementing Classes:
    `FunctionalDependencyAnnotationValidator`, `LabelAnnotationValidator`, `PatternAnnotationValidator`, `QueryExplorerAnnotationValidator`, `SafeElementInExpressionAnnotationValidator`, `SafeRecursionAnnotationValidator`

      public interface IPatternAnnotationValidator

  An interface for validating pattern `Annotation` objects.
  Since:
    2.0

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | 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)` |

- - ### Method Detail

    - #### getMissingMandatoryAttributes

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

    - #### getUnknownAttributes

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

    - #### getExpectedParameterType

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

      Returns whether a parameter of an annotation is mistyped
      Parameters:
        `parameter` -
      Returns:
        the expected class of the parameter variable

    - #### getAllAvailableParameterNames

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

    - #### getAnnotationName

          java.lang.String getAnnotationName()

    - #### getDescription

          java.lang.String getDescription()

    - #### getDescription

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

    - #### isDeprecated

          boolean isDeprecated()

    - #### isDeprecated

          boolean isDeprecated​(java.lang.String parameterName)

    - #### getAdditionalValidator

          java.util.Optional<IPatternAnnotationAdditionalValidator> getAdditionalValidator()

      Provides an additional validator implementation.
      Returns:
        the validator object
      Since:
        2.0.0