Package 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 | Description
    --- | ---
    `PatternQuerySpecificationClassInferrer()` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `ParameterDirection` | `direction​(Variable variable)` |
    `org.eclipse.xtend2.lib.StringConcatenationClient` | `directionLiteral​(Variable variable)` |
    `ExecutionType` | `getRequestedExecutionType​(Pattern pattern)` |
    `java.lang.String` | `getTypeString​(Variable variable)` |
    `java.lang.String` | `getTypeString​(IInputKey type, org.eclipse.emf.ecore.EObject context)` |
    `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)` |
    `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, EMFPatternLanguageGeneratorConfig config)` | Infers the `IQuerySpecification` implementation class from `Pattern`.
    `boolean` | `inferQuerySpecificationInnerClasses​(org.eclipse.xtext.common.types.JvmDeclaredType querySpecificationClass, Pattern pattern, boolean withPatternSpecificMatcher)` | 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 withPatternSpecificMatcher)` | Infers methods for QuerySpecification class based on the input 'pattern'.
    `org.eclipse.xtend2.lib.StringConcatenationClient` | `inferSingleConstraintBody​(Pattern parentPattern, CallableRelation call)` |
    `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, EMFPatternLanguageGeneratorConfig config)` |
    `org.eclipse.xtend2.lib.StringConcatenationClient` | `outputAnnotationParameter​(java.lang.Object value)` |
    `org.eclipse.xtend2.lib.StringConcatenationClient` | `parameterInstantiation​(java.lang.String variableName, java.lang.String clazz, IInputKey type)` |
    `org.eclipse.xtend2.lib.StringConcatenationClient` | `parameterInstantiation​(Variable variable)` |
    `org.eclipse.xtend2.lib.StringConcatenationClient` | `parameterInstantiation​(Variable variable, java.lang.String clazz, IInputKey type)` |

    - ### 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,
                                                                                             EMFPatternLanguageGeneratorConfig config)

      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,
                                              EMFPatternLanguageGeneratorConfig config)

    - #### 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 withPatternSpecificMatcher)

      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)

    - #### getRequestedExecutionType

          public ExecutionType getRequestedExecutionType​(Pattern pattern)

    - #### 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`

    - #### inferSingleConstraintBody

          public org.eclipse.xtend2.lib.StringConcatenationClient inferSingleConstraintBody​(Pattern parentPattern,
                                                                                            CallableRelation call)
                                                                                     throws java.lang.IllegalStateException

      Throws:
        `java.lang.IllegalStateException`

    - #### inferQuerySpecificationInnerClasses

          public boolean inferQuerySpecificationInnerClasses​(org.eclipse.xtext.common.types.JvmDeclaredType querySpecificationClass,
                                                             Pattern pattern,
                                                             boolean withPatternSpecificMatcher)

      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)

    - #### parameterInstantiation

          public org.eclipse.xtend2.lib.StringConcatenationClient parameterInstantiation​(Variable variable,
                                                                                         java.lang.String clazz,
                                                                                         IInputKey type)

    - #### parameterInstantiation

          public org.eclipse.xtend2.lib.StringConcatenationClient parameterInstantiation​(java.lang.String variableName,
                                                                                         java.lang.String clazz,
                                                                                         IInputKey type)

    - #### getTypeString

          public java.lang.String getTypeString​(Variable variable)

    - #### getTypeString

          public java.lang.String getTypeString​(IInputKey type,
                                                org.eclipse.emf.ecore.EObject context)

    - #### inferAnnotations

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

    - #### outputAnnotationParameter

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