org.eclipse.viatra.query.runtime.matchers.psystem

## Interface InitializablePQuery

- All Superinterfaces:
    PQuery, PQueryHeader, PTraceable
  All Known Implementing Classes:
    GenericEMFPatternPQuery

      public interface InitializablePQuery
      extends PQuery

  Adds extra methods to the PQuery interface to initialize its contents.

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from interface org.eclipse.viatra.query.runtime.matchers.psystem.queries.PQuery

      `PQuery.PQueryStatus`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addAnnotation(PAnnotation annotation)` Adds an annotation to the specification.
    `void` | `addError(PProblem problem)` Adds a detected error.
    `void` | `initializeBodies(java.util.Set<PBody> bodies)` Sets up the bodies of the pattern.
    `void` | `setStatus(PQuery.PQueryStatus status)` Sets the query status.

    - ### Methods inherited from interface org.eclipse.viatra.query.runtime.matchers.psystem.queries.PQuery

      `checkMutability, ensureInitialized, getAllReferredQueries, getDirectReferredQueries, getDisjunctBodies, getEvaluationHints, getPProblems, getStatus, getTypeGuarantees, isMutable, publishedAs`

    - ### Methods inherited from interface org.eclipse.viatra.query.runtime.matchers.psystem.queries.PQueryHeader

      `getAllAnnotations, getAnnotationsByName, getFirstAnnotationByName, getFullyQualifiedName, getParameter, getParameterNames, getParameters, getPositionOfParameter, getSimpleName, getVisibility`

- - ### Method Detail

    - #### setStatus

          void setStatus(PQuery.PQueryStatus status)

      Sets the query status. Only applicable if the pattern is still `uninitialized`.
      Parameters:
        `status` - the new status

    - #### addError

          void addError(PProblem problem)

      Adds a detected error. Only applicable if the pattern is still `uninitialized`.
      Parameters:
        `problem` - the new problem

    - #### initializeBodies

          void initializeBodies(java.util.Set<PBody> bodies)

      Sets up the bodies of the pattern. Only applicable if the pattern is still `uninitialized`.
      Parameters:
        `bodies` -
      Throws:
        `ViatraQueryRuntimeException`

    - #### addAnnotation

          void addAnnotation(PAnnotation annotation)

      Adds an annotation to the specification. Only applicable if the pattern is still `uninitialized`.
      Parameters:
        `annotation` -