org.eclipse.viatra.query.patternlanguage.emf.jvmmodel

## Class PatternQuerySpecificationClassInferrer

- java.lang.Object
- - org.eclipse.viatra.query.patternlanguage.emf.jvmmodel.PatternQuerySpecificationClassInferrer

-     public class PatternQuerySpecificationClassInferrer
      extends java.lang.Object

  `IQuerySpecification` implementation inferrer.
  No Reference:

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `PatternQuerySpecificationClassInferrer()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `org.eclipse.xtend2.lib.StringConcatenationClient` | `defaultBackendFactory()`
    `ParameterDirection` | `direction(Variable variable)`
    `org.eclipse.xtend2.lib.StringConcatenationClient` | `directionLiteral(Variable variable)`
    `ExecutionType` | `getRequestedExecutionType(Pattern pattern)`
    `org.eclipse.xtend2.lib.StringConcatenationClient` | `incrementalBackendFactory()`
    `org.eclipse.xtend2.lib.StringConcatenationClient` | `inferAnnotations(Pattern pattern)`
    `org.eclipse.xtend2.lib.StringConcatenationClient` | `inferBodies(Pattern pattern)`
    `void` | `inferExpressions(org.eclipse.xtext.common.types.JvmDeclaredType querySpecificationClass, Pattern pattern)`
    `boolean` | `inferPQueryMembers(org.eclipse.xtext.common.types.JvmDeclaredType pQueryClass, Pattern pattern, SpecificationBuilder specBuilder)`
    `org.eclipse.xtend2.lib.StringConcatenationClient` | `inferQueryEvaluationHints(Pattern pattern)`
    `org.eclipse.xtext.common.types.JvmDeclaredType` | `inferQuerySpecificationClass(Pattern pattern, boolean isPrelinkingPhase, java.lang.String querySpecificationPackageName, org.eclipse.xtext.common.types.JvmType matcherClass, org.eclipse.xtext.xbase.jvmmodel.JvmTypeReferenceBuilder builder, org.eclipse.xtext.xbase.jvmmodel.JvmAnnotationReferenceBuilder annBuilder)` Infers the `IQuerySpecification` implementation class from `Pattern`.
    `boolean` | `inferQuerySpecificationInnerClasses(org.eclipse.xtext.common.types.JvmDeclaredType querySpecificationClass, Pattern pattern, boolean isPublic, SpecificationBuilder specBuilder)` Infers inner class for QuerySpecification class based on the input 'pattern'.
    `boolean` | `inferQuerySpecificationMethods(org.eclipse.xtext.common.types.JvmDeclaredType querySpecificationClass, Pattern pattern, org.eclipse.xtext.common.types.JvmType matcherClass, org.eclipse.xtext.common.types.JvmType matchClass, boolean isPublic)` Infers methods for QuerySpecification class based on the input 'pattern'.
    `void` | `initializeSpecification(org.eclipse.xtext.common.types.JvmDeclaredType querySpecificationClass, Pattern pattern, org.eclipse.xtext.common.types.JvmType matcherClass, org.eclipse.xtext.common.types.JvmType matchClass, SpecificationBuilder specBuilder)`
    `org.eclipse.xtend2.lib.StringConcatenationClient` | `outputAnnotationParameter(java.lang.Object value)`
    `org.eclipse.xtend2.lib.StringConcatenationClient` | `parameterInstantiation(Variable variable)`
    `org.eclipse.xtend2.lib.StringConcatenationClient` | `searchBackendFactory()`

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

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

- - ### Constructor Detail

    - #### PatternQuerySpecificationClassInferrer

          public PatternQuerySpecificationClassInferrer()

  - ### Method Detail

    - #### inferQuerySpecificationClass

          public org.eclipse.xtext.common.types.JvmDeclaredType inferQuerySpecificationClass(Pattern pattern,
                                                                                             boolean isPrelinkingPhase,
                                                                                             java.lang.String querySpecificationPackageName,
                                                                                             org.eclipse.xtext.common.types.JvmType matcherClass,
                                                                                             org.eclipse.xtext.xbase.jvmmodel.JvmTypeReferenceBuilder builder,
                                                                                             org.eclipse.xtext.xbase.jvmmodel.JvmAnnotationReferenceBuilder annBuilder)

      Infers the `IQuerySpecification` implementation class from `Pattern`.

    - #### initializeSpecification

          public void initializeSpecification(org.eclipse.xtext.common.types.JvmDeclaredType querySpecificationClass,
                                              Pattern pattern,
                                              org.eclipse.xtext.common.types.JvmType matcherClass,
                                              org.eclipse.xtext.common.types.JvmType matchClass,
                                              SpecificationBuilder specBuilder)

    - #### inferQuerySpecificationMethods

          public boolean inferQuerySpecificationMethods(org.eclipse.xtext.common.types.JvmDeclaredType querySpecificationClass,
                                                        Pattern pattern,
                                                        org.eclipse.xtext.common.types.JvmType matcherClass,
                                                        org.eclipse.xtext.common.types.JvmType matchClass,
                                                        boolean isPublic)

      Infers methods for QuerySpecification class based on the input 'pattern'.

    - #### direction

          public ParameterDirection direction(Variable variable)

    - #### directionLiteral

          public org.eclipse.xtend2.lib.StringConcatenationClient directionLiteral(Variable variable)

    - #### inferPQueryMembers

          public boolean inferPQueryMembers(org.eclipse.xtext.common.types.JvmDeclaredType pQueryClass,
                                            Pattern pattern,
                                            SpecificationBuilder specBuilder)

    - #### getRequestedExecutionType

          public ExecutionType getRequestedExecutionType(Pattern pattern)

    - #### incrementalBackendFactory

          public org.eclipse.xtend2.lib.StringConcatenationClient incrementalBackendFactory()

    - #### searchBackendFactory

          public org.eclipse.xtend2.lib.StringConcatenationClient searchBackendFactory()

    - #### defaultBackendFactory

          public org.eclipse.xtend2.lib.StringConcatenationClient defaultBackendFactory()

    - #### inferQueryEvaluationHints

          public org.eclipse.xtend2.lib.StringConcatenationClient inferQueryEvaluationHints(Pattern pattern)

    - #### inferBodies

          public org.eclipse.xtend2.lib.StringConcatenationClient inferBodies(Pattern pattern)
                                                                       throws java.lang.IllegalStateException

      Throws:
        `java.lang.IllegalStateException`

    - #### inferQuerySpecificationInnerClasses

          public boolean inferQuerySpecificationInnerClasses(org.eclipse.xtext.common.types.JvmDeclaredType querySpecificationClass,
                                                             Pattern pattern,
                                                             boolean isPublic,
                                                             SpecificationBuilder specBuilder)

      Infers inner class for QuerySpecification class based on the input 'pattern'.

    - #### inferExpressions

          public void inferExpressions(org.eclipse.xtext.common.types.JvmDeclaredType querySpecificationClass,
                                       Pattern pattern)

    - #### parameterInstantiation

          public org.eclipse.xtend2.lib.StringConcatenationClient parameterInstantiation(Variable variable)

    - #### inferAnnotations

          public org.eclipse.xtend2.lib.StringConcatenationClient inferAnnotations(Pattern pattern)

    - #### outputAnnotationParameter

          public org.eclipse.xtend2.lib.StringConcatenationClient outputAnnotationParameter(java.lang.Object value)