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
    --- | ---
    `ParameterDirection` | `direction(Variable variable)`
    `org.eclipse.xtend2.lib.StringConcatenationClient` | `directionLiteral(Variable variable)`
    `ExecutionType` | `getRequestedExecutionType(Pattern pattern)`
    `java.lang.String` | `getTypeString(IInputKey type, org.eclipse.emf.ecore.EObject context)`
    `java.lang.String` | `getTypeString(Variable variable)`
    `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)