package org.whole.lang.pojo.templates;
import org.whole.lang.builders.IBuilderOperation;
import org.whole.lang.templates.AbstractTemplateFactory;
public class JavaModelToPojoModelQuery extends AbstractTemplateFactory<org.whole.lang.queries.model.Block> {
public void apply(IBuilderOperation op) {
org.whole.lang.queries.builders.IQueriesBuilder b0 = (org.whole.lang.queries.builders.IQueriesBuilder) op.wGetBuilder(org.whole.lang.queries.reflect.QueriesLanguageKit.URI);
b0.Block_(8);
b0.QueryDeclaration_();
b0.Name("getTypeName");
b0.Names_(2);
b0.Name("cuPackageName");
b0.Name("typeName");
b0._Names();
b0.Choose_(2);
b0.Path_(3);
b0.Filter_();
b0.ParentStep();
b0.TypeTest("http://lang.whole.org/Java#BodyDeclarations");
b0._Filter();
b0.ParentStep();
b0.Call_();
b0.Name("getTypeName");
b0.Expressions_(2);
b0.VariableRefStep("cuPackageName");
b0.Addition_();
b0.Singleton_();
b0.FeatureStep("name");
b0._Singleton();
b0.Addition_();
b0.StringLiteral("$");
b0.VariableRefStep("typeName");
b0._Addition();
b0._Addition();
b0._Expressions();
b0._Call();
b0._Path();
b0.Addition_();
b0.VariableRefStep("cuPackageName");
b0.Addition_();
b0.StringLiteral(".");
b0.VariableRefStep("typeName");
b0._Addition();
b0._Addition();
b0._Choose();
b0._QueryDeclaration();
b0.QueryDeclaration_();
b0.Name("toPojoType");
b0.Names_(4);
b0.Name("typeParameters");
b0.Name("cuPackageName");
b0.Name("type");
b0.Name("nonGenericType");
b0._Names();
b0.Block_(2);
b0.Filter_();
b0.Choose_(2);
b0.If_();
b0.ExpressionTest_();
b0.Path_(2);
b0.VariableRefStep("typeParameters");
b0.Filter_();
b0.ChildStep();
b0.ExpressionTest_();
b0.Equals_();
b0.Singleton_();
b0.SelfStep();
b0._Singleton();
b0.VariableRefStep("type");
b0._Equals();
b0._ExpressionTest();
b0._Filter();
b0._Path();
b0._ExpressionTest();
org.whole.lang.commons.builders.ICommonsBuilder b1 = (org.whole.lang.commons.builders.ICommonsBuilder) op.wGetBuilder(org.whole.lang.commons.reflect.CommonsLanguageKit.URI);
b1.StageUpFragment_();
org.whole.lang.java.builders.IJavaBuilder b2 = (org.whole.lang.java.builders.IJavaBuilder) op.wGetBuilder(org.whole.lang.java.reflect.JavaLanguageKit.URI);
b2.QualifiedType("java.lang.Object");
b1._StageUpFragment();
b0._If();
b0.Do_();
b0.VariableRefStep("type");
b0._Do();
b0._Choose();
b0.VariableTest("nonGenericType");
b0._Filter();
b1.SameStageFragment_();
org.whole.lang.workflows.builders.IWorkflowsBuilder b3 = (org.whole.lang.workflows.builders.IWorkflowsBuilder) op.wGetBuilder(org.whole.lang.workflows.reflect.WorkflowsLanguageKit.URI);
b3.InvokeJavaClassMethod_();
b3.Text("java type to pojo type");
b1.Resolver();
b1.Resolver();
b3.StringLiteral("org.whole.lang.pojo.templates.Helpers");
b3.StringLiteral("toPojoType(org.whole.lang.model.IEntity, org.whole.lang.model.IEntity)");
b3.Expressions_(2);
b3.Variable("nonGenericType");
b3.Variable("cuPackageName");
b3._Expressions();
b3._InvokeJavaClassMethod();
b1._SameStageFragment();
b0._Block();
b0._QueryDeclaration();
b0.QueryDeclaration_();
b0.Name("_TODO_toPojoType");
b0.Names_(3);
b0.Name("typeParameters");
b0.Name("cuPackageName");
b0.Name("type");
b0._Names();
b0.Block_(3);
b0.QueryDeclaration_();
b0.Name("qualifySimpleType");
b0.Names_(1);
b0.Name("cuPackageName");
b0._Names();
b0.Choose_(4);
b0.If_();
b0.Or_(2);
b0.TypeTest("http://lang.whole.org/Java#SimpleType");
b0.TypeTest("http://lang.whole.org/Java#QualifiedType");
b0._Or();
b0.Block_(1);
b0.Choose_(2);
b0.If_();
b0.ExpressionTest_();
b1.SameStageFragment_();
b3.InvokeJavaClassMethod_();
b3.Text("is ambiguous");
b1.Resolver();
b1.Resolver();
b3.StringLiteral("org.whole.lang.util.StringUtils");
b3.StringLiteral("isAmbiguous(java.lang.String)");
b3.Expressions_(1);
b3.Variable("self");
b3._Expressions();
b3._InvokeJavaClassMethod();
b1._SameStageFragment();
b0._ExpressionTest();
b0.StringLiteral("java.lang");
b0._If();
b0.Do_();
b0.VariableRefStep("cuPackageName");
b0._Do();
b0._Choose();
b0._Block();
b0._If();
b0.If_();
b0.TypeTest("http://lang.whole.org/Java#PrimitiveType");
b1.Resolver();
b0._If();
b0.If_();
b0.TypeTest("http://lang.whole.org/Java#ArrayType");
b1.Resolver();
b0._If();
b0.If_();
b0.TypeTest("http://lang.whole.org/Java#ParameterizedType");
b1.Resolver();
b0._If();
b0._Choose();
b0._QueryDeclaration();
b0.QueryDeclaration_();
b0.Name("mapToPojoType");
b0.Names_(1);
b0.Name("cuPackageName");
b0._Names();
b0.Choose_(4);
b0.If_();
b0.Or_(2);
b0.TypeTest("http://lang.whole.org/Java#SimpleType");
b0.TypeTest("http://lang.whole.org/Java#QualifiedType");
b0._Or();
b0.Block_(1);
b0.Choose_(2);
b0.If_();
b0.ExpressionTest_();
b1.SameStageFragment_();
b3.InvokeJavaClassMethod_();
b3.Text("is ambiguous");
b1.Resolver();
b1.Resolver();
b3.StringLiteral("org.whole.lang.util.StringUtils");
b3.StringLiteral("isAmbiguous(java.lang.String)");
b3.Expressions_(1);
b3.Variable("self");
b3._Expressions();
b3._InvokeJavaClassMethod();
b1._SameStageFragment();
b0._ExpressionTest();
b0.StringLiteral("java.lang");
b0._If();
b0.Do_();
b0.VariableRefStep("cuPackageName");
b0._Do();
b0._Choose();
b0._Block();
b0._If();
b0.If_();
b0.TypeTest("http://lang.whole.org/Java#PrimitiveType");
b1.Resolver();
b0._If();
b0.If_();
b0.TypeTest("http://lang.whole.org/Java#ArrayType");
b1.Resolver();
b0._If();
b0.If_();
b0.TypeTest("http://lang.whole.org/Java#ParameterizedType");
b1.Resolver();
b0._If();
b0._Choose();
b0._QueryDeclaration();
b0.Path_(2);
b0.Choose_(2);
b0.If_();
b0.ExpressionTest_();
b0.Path_(2);
b0.VariableRefStep("typeParameters");
b0.Filter_();
b0.ChildStep();
b0.ExpressionTest_();
b0.Equals_();
b0.Singleton_();
b0.SelfStep();
b0._Singleton();
b0.VariableRefStep("type");
b0._Equals();
b0._ExpressionTest();
b0._Filter();
b0._Path();
b0._ExpressionTest();
b1.StageUpFragment_();
b2.QualifiedType("java.lang.Object");
b1._StageUpFragment();
b0._If();
b0.Do_();
b0.VariableRefStep("type");
b0._Do();
b0._Choose();
b0.Call_();
b0.Name("mapToPojoType");
b0.Expressions_(1);
b0.VariableRefStep("cuPackageName");
b0._Expressions();
b0._Call();
b0._Path();
b0._Block();
b0._QueryDeclaration();
b0.QueryDeclaration_();
b0.Name("toPropertyName");
b0.Names_(2);
b0.Name("methodName");
b0.Name("propertyName");
b0._Names();
b0.Block_(1);
b1.SameStageFragment_();
b3.Sequence_();
b3.Text("sequence");
b3.FlowObjects_(2);
b3.InvokeJavaInstanceMethod_();
b3.Text("getter/setter property name");
b3.Variable("propertyName");
b3.Variable("methodName");
b1.Resolver();
b3.StringLiteral("java.lang.String");
b3.StringLiteral("replaceFirst(java.lang.String, java.lang.String)");
b3.Expressions_(2);
b3.StringLiteral("(is|get|set)");
b3.StringLiteral("");
b3._Expressions();
b3._InvokeJavaInstanceMethod();
b3.InvokeJavaClassMethod_();
b3.Text("java method name to property name");
b1.Resolver();
b1.Resolver();
b3.StringLiteral("org.whole.lang.util.StringUtils");
b3.StringLiteral("toLowerPrefix(java.lang.String)");
b3.Expressions_(1);
b3.Variable("propertyName");
b3._Expressions();
b3._InvokeJavaClassMethod();
b3._FlowObjects();
b3._Sequence();
b1._SameStageFragment();
b0._Block();
b0._QueryDeclaration();
b0.QueryDeclaration_();
b0.Name("getter");
b0.Names_(1);
b0.Name("methodName");
b0._Names();
b0.Filter_();
b0.SelfStep();
b0.And_(6);
b0.TypeTest("MethodDeclaration");
b0.ExpressionTest_();
b0.Path_(2);
b0.FeatureStep("modifiers");
b0.Filter_();
b0.ChildStep();
b0.ExpressionTest_();
b1.StageUpFragment_();
b2.Modifier("public");
b1._StageUpFragment();
b0._ExpressionTest();
b0._Filter();
b0._Path();
b0._ExpressionTest();
b0.Not_();
b0.ExpressionTest_();
b0.Filter_();
b0.FeatureStep("returnType");
b0.ExpressionTest_();
b1.StageUpFragment_();
b2.PrimitiveType("void");
b1._StageUpFragment();
b0._ExpressionTest();
b0._Filter();
b0._ExpressionTest();
b0._Not();
b0.Not_();
b0.ExpressionTest_();
b0.Path_(2);
b0.FeatureStep("parameters");
b0.Filter_();
b0.ChildStep();
b0.IndexTest_();
b0.IntLiteral(0);
b0._IndexTest();
b0._Filter();
b0._Path();
b0._ExpressionTest();
b0._Not();
b0.ExpressionTest_();
b0.Filter_();
b0.FeatureStep("name");
b0.VariableTest("methodName");
b0._Filter();
b0._ExpressionTest();
b0.ExpressionTest_();
b1.SameStageFragment_();
b3.InvokeJavaInstanceMethod_();
b3.Text("is getter method");
b1.Resolver();
b3.Variable("methodName");
b1.Resolver();
b3.StringLiteral("java.lang.String");
b3.StringLiteral("matches(java.lang.String)");
b3.Expressions_(1);
b3.StringLiteral("(is|get)[_\\p{Lu}].*");
b3._Expressions();
b3._InvokeJavaInstanceMethod();
b1._SameStageFragment();
b0._ExpressionTest();
b0._And();
b0._Filter();
b0._QueryDeclaration();
b0.QueryDeclaration_();
b0.Name("setter");
b0.Names_(1);
b0.Name("methodName");
b0._Names();
b0.Filter_();
b0.SelfStep();
b0.And_(6);
b0.TypeTest("MethodDeclaration");
b0.ExpressionTest_();
b0.Path_(2);
b0.FeatureStep("modifiers");
b0.Filter_();
b0.ChildStep();
b0.ExpressionTest_();
b1.StageUpFragment_();
b2.Modifier("public");
b1._StageUpFragment();
b0._ExpressionTest();
b0._Filter();
b0._Path();
b0._ExpressionTest();
b0.ExpressionTest_();
b0.Filter_();
b0.FeatureStep("returnType");
b0.ExpressionTest_();
b1.StageUpFragment_();
b2.PrimitiveType("void");
b1._StageUpFragment();
b0._ExpressionTest();
b0._Filter();
b0._ExpressionTest();
b0.ExpressionTest_();
b0.Path_(2);
b0.FeatureStep("parameters");
b0.Filter_();
b0.ChildStep();
b0.And_(2);
b0.IndexTest_();
b0.IntLiteral(0);
b0._IndexTest();
b0.Not_();
b0.ExpressionTest_();
b0.FollowingSiblingStep();
b0._ExpressionTest();
b0._Not();
b0._And();
b0._Filter();
b0._Path();
b0._ExpressionTest();
b0.ExpressionTest_();
b0.Filter_();
b0.FeatureStep("name");
b0.VariableTest("methodName");
b0._Filter();
b0._ExpressionTest();
b0.ExpressionTest_();
b1.SameStageFragment_();
b3.InvokeJavaInstanceMethod_();
b3.Text("is setter method");
b1.Resolver();
b3.Variable("methodName");
b1.Resolver();
b3.StringLiteral("java.lang.String");
b3.StringLiteral("matches(java.lang.String)");
b3.Expressions_(1);
b3.StringLiteral("set[_\\p{Lu}].*");
b3._Expressions();
b3._InvokeJavaInstanceMethod();
b1._SameStageFragment();
b0._ExpressionTest();
b0._And();
b0._Filter();
b0._QueryDeclaration();
b0.Filter_();
b0.BooleanLiteral(true);
b0.VariableTest("generatePropertyTemplates");
b0._Filter();
b0.Select_();
b1.StageUpFragment_();
org.whole.lang.pojo.builders.IPojoBuilder b4 = (org.whole.lang.pojo.builders.IPojoBuilder) op.wGetBuilder(org.whole.lang.pojo.reflect.PojoLanguageKit.URI);
b4.Library_();
b1.Resolver();
b1.Variable_();
b1.VarType("http://lang.whole.org/Pojo#Name");
b1.VarName("libraryName");
b1.Quantifier("!");
b1._Variable();
b1.Variable_();
b1.VarType("http://lang.whole.org/Pojo#LanguageURI");
b1.VarName("libraryLanguageURI");
b1.Quantifier("!");
b1._Variable();
b4.Declarations_(2);
b1.Variable_();
b1.VarType("http://lang.whole.org/Pojo#PojoDeclaration");
b1.VarName("pojoDeclaration");
b1.Quantifier("*");
b1._Variable();
b1.Variable_();
b1.VarType("http://lang.whole.org/Pojo#EnumDeclaration");
b1.VarName("enumDeclaration");
b1.Quantifier("*");
b1._Variable();
b4._Declarations();
b4._Library();
b1._StageUpFragment();
b0.SelfStep();
b0.Sequence_(2);
b0.Select_();
b0.Filter_();
b1.StageUpFragment_();
b4.PojoDeclaration_();
b4.Annotations_(1);
b1.Variable_();
b1.VarType("http://lang.whole.org/Pojo#Modifier");
b1.VarName("pojoModifier");
b1.Quantifier("?");
b1._Variable();
b4._Annotations();
b1.Resolver();
b1.Variable_();
b1.VarType("http://lang.whole.org/Pojo#ReferenceType");
b1.VarName("canonicalName");
b1.Quantifier("!");
b1._Variable();
b4.ReferenceTypes_(1);
b1.Variable_();
b1.VarType("http://lang.whole.org/Pojo#ReferenceType");
b1.VarName("superType");
b1.Quantifier("*");
b1._Variable();
b4._ReferenceTypes();
b1.Variable_();
b1.VarType("http://lang.whole.org/Pojo#Properties");
b1.VarName("properties");
b1.Quantifier("!");
b1._Variable();
b4.Constructors_(1);
b1.Variable_();
b1.VarType("http://lang.whole.org/Pojo#Constructor");
b1.VarName("constructor");
b1.Quantifier("*");
b1._Variable();
b4._Constructors();
b4._PojoDeclaration();
b1._StageUpFragment();
b0.VariableTest("pojoDeclaration");
b0._Filter();
b0.Path_(3);
b0.Filter_();
b0.DescendantStep();
b0.And_(2);
b0.TypeTest("CompilationUnit");
b0.ExpressionTest_();
b0.Path_(2);
b0.FeatureStep("package");
b0.Filter_();
b0.FeatureStep("name");
b0.VariableTest("cuPackageName");
b0._Filter();
b0._Path();
b0._ExpressionTest();
b0._And();
b0._Filter();
b0.FeatureStep("types");
b0.Filter_();
b0.DescendantStep();
b0.And_(2);
b0.Or_(2);
b0.TypeTest("ClassDeclaration");
b0.TypeTest("InterfaceDeclaration");
b0._Or();
b0.And_(2);
b0.ExpressionTest_();
b0.Path_(2);
b0.FeatureStep("modifiers");
b0.Filter_();
b0.ChildStep();
b0.ExpressionTest_();
b1.StageUpFragment_();
b2.Modifier("public");
b1._StageUpFragment();
b0._ExpressionTest();
b0._Filter();
b0._Path();
b0._ExpressionTest();
b0.ExpressionTest_();
b0.Filter_();
b0.Call_();
b0.Name("getTypeName");
b0.Expressions_(2);
b0.VariableRefStep("cuPackageName");
b0.FeatureStep("name");
b0._Expressions();
b0._Call();
b0.VariableTest("canonicalName");
b0._Filter();
b0._ExpressionTest();
b0._And();
b0._And();
b0._Filter();
b0._Path();
b0.Sequence_(5);
b0.Path_(2);
b0.FeatureStep("modifiers");
b0.Filter_();
b0.ChildStep();
b0.And_(2);
b0.And_(2);
b0.TypeTest("Modifier");
b0.ExpressionTest_();
b1.StageUpFragment_();
b2.Modifier("abstract");
b1._StageUpFragment();
b0._ExpressionTest();
b0._And();
b0.VariableTest("pojoModifier");
b0._And();
b0._Filter();
b0._Path();
b0.Filter_();
b0.Union_();
b0.Expressions_(1);
b0.Path_(3);
b0.FeatureStep("typeParameters");
b0.ChildStep();
b0.FeatureStep("name");
b0._Path();
b0._Expressions();
b1.Resolver();
b0._Union();
b0.VariableTest("typeParameters");
b0._Filter();
b0.Filter_();
b0.Sequence_(2);
b0.Path_(1);
b0.FeatureStep("superclassType");
b0._Path();
b0.Path_(2);
b0.FeatureStep("superInterfaceTypes");
b0.ChildStep();
b0._Path();
b0._Sequence();
b0.And_(2);
b0.TypeTest("QualifiedType");
b0.VariableTest("superType");
b0._And();
b0._Filter();
b0.Select_();
b0.Filter_();
b1.StageUpFragment_();
b4.Properties_(4);
b1.Variable_();
b1.VarType("http://lang.whole.org/Pojo#Property");
b1.VarName("fieldOnlyProperty");
b1.Quantifier("*");
b1._Variable();
b1.Variable_();
b1.VarType("http://lang.whole.org/Pojo#Property");
b1.VarName("beanProperty");
b1.Quantifier("*");
b1._Variable();
b1.Variable_();
b1.VarType("http://lang.whole.org/Pojo#Property");
b1.VarName("readOnlyProperty");
b1.Quantifier("*");
b1._Variable();
b1.Variable_();
b1.VarType("http://lang.whole.org/Pojo#Property");
b1.VarName("writeOnlyProperty");
b1.Quantifier("*");
b1._Variable();
b4._Properties();
b1._StageUpFragment();
b0.VariableTest("properties");
b0._Filter();
b0.SelfStep();
b0.Sequence_(7);
b0.Select_();
b0.Filter_();
b1.StageUpFragment_();
b4.Property_();
b4.Annotations_(2);
b4.Modifier("FIELD_ONLY");
b1.Variable_();
b1.VarType("http://lang.whole.org/Pojo#Annotation");
b1.VarName("readOnly");
b1.Quantifier("?");
b1._Variable();
b4._Annotations();
b1.Variable_();
b1.VarType("http://lang.whole.org/Pojo#Type");
b1.VarName("propertyType");
b1.Quantifier("!");
b1._Variable();
b1.Variable_();
b1.VarType("http://lang.whole.org/Pojo#Name");
b1.VarName("propertyName");
b1.Quantifier("!");
b1._Variable();
b1.Resolver();
b4._Property();
b1._StageUpFragment();
b0.VariableTest("fieldOnlyProperty");
b0._Filter();
b0.Path_(2);
b0.FeatureStep("bodyDeclarations");
b0.Filter_();
b0.ChildStep();
b0.And_(2);
b0.And_(2);
b0.TypeTest("FieldDeclaration");
b0.ExpressionTest_();
b0.Path_(2);
b0.FeatureStep("modifiers");
b0.Filter_();
b0.ChildStep();
b0.ExpressionTest_();
b1.StageUpFragment_();
b2.Modifier("public");
b1._StageUpFragment();
b0._ExpressionTest();
b0._Filter();
b0._Path();
b0._ExpressionTest();
b0._And();
b0.And_(2);
b0.ExpressionTest_();
b0.Filter_();
b0.FeatureStep("type");
b0.VariableTest("fieldType");
b0._Filter();
b0._ExpressionTest();
b0.ExpressionTest_();
b0.Path_(3);
b0.FeatureStep("fragments");
b0.Filter_();
b0.ChildStep();
b0.IndexTest_();
b0.IntLiteral(0);
b0._IndexTest();
b0._Filter();
b0.Filter_();
b0.FeatureStep("name");
b0.VariableTest("propertyName");
b0._Filter();
b0._Path();
b0._ExpressionTest();
b0._And();
b0._And();
b0._Filter();
b0._Path();
b0.Sequence_(2);
b0.Filter_();
b0.Call_();
b0.Name("toPojoType");
b0.Expressions_(3);
b0.VariableRefStep("typeParameters");
b0.VariableRefStep("cuPackageName");
b0.VariableRefStep("fieldType");
b0._Expressions();
b0._Call();
b0.VariableTest("propertyType");
b0._Filter();
b0.If_();
b0.ExpressionTest_();
b0.Path_(2);
b0.FeatureStep("modifiers");
b0.Filter_();
b0.ChildStep();
b0.ExpressionTest_();
b1.StageUpFragment_();
b2.Modifier("final");
b1._StageUpFragment();
b0._ExpressionTest();
b0._Filter();
b0._Path();
b0._ExpressionTest();
b0.Filter_();
b1.StageUpFragment_();
b4.Modifier("READ_ONLY");
b1._StageUpFragment();
b0.VariableTest("readOnly");
b0._Filter();
b0._If();
b0._Sequence();
b0._Select();
b0.Filter_();
b0.Union_();
b0.Expressions_(1);
b0.Path_(2);
b0.FeatureStep("bodyDeclarations");
b0.Filter_();
b0.ChildStep();
b0.ExpressionTest_();
b0.Call_();
b0.Name("getter");
b1.Resolver();
b0._Call();
b0._ExpressionTest();
b0._Filter();
b0._Path();
b0._Expressions();
b1.Resolver();
b0._Union();
b0.VariableTest("allGetters");
b0._Filter();
b0.Filter_();
b0.Union_();
b0.Expressions_(1);
b0.Path_(2);
b0.FeatureStep("bodyDeclarations");
b0.Filter_();
b0.ChildStep();
b0.ExpressionTest_();
b0.Call_();
b0.Name("setter");
b1.Resolver();
b0._Call();
b0._ExpressionTest();
b0._Filter();
b0._Path();
b0._Expressions();
b1.Resolver();
b0._Union();
b0.VariableTest("allSetters");
b0._Filter();
b0.Filter_();
b0.Union_();
b0.Expressions_(1);
b0.CartesianProduct_(2);
b0.Path_(2);
b0.VariableRefStep("allGetters");
b0.Filter_();
b0.ChildStep();
b0.And_(2);
b0.ExpressionTest_();
b0.Filter_();
b1.SameStageFragment_();
b3.InvokeJavaInstanceMethod_();
b3.Text("getter property name");
b1.Resolver();
b1.SameStageFragment_();
b0.FeatureStep("name");
b1._SameStageFragment();
b1.Resolver();
b3.StringLiteral("java.lang.String");
b3.StringLiteral("replaceFirst(java.lang.String, java.lang.String)");
b3.Expressions_(2);
b3.StringLiteral("(is|get)");
b3.StringLiteral("");
b3._Expressions();
b3._InvokeJavaInstanceMethod();
b1._SameStageFragment();
b0.VariableTest("propertyName");
b0._Filter();
b0._ExpressionTest();
b0.ExpressionTest_();
b0.Filter_();
b0.FeatureStep("returnType");
b0.VariableTest("propertyType");
b0._Filter();
b0._ExpressionTest();
b0._And();
b0._Filter();
b0._Path();
b0.Path_(2);
b0.VariableRefStep("allSetters");
b0.Filter_();
b0.ChildStep();
b0.And_(2);
b0.ExpressionTest_();
b0.Filter_();
b1.SameStageFragment_();
b3.InvokeJavaInstanceMethod_();
b3.Text("setter property name");
b1.Resolver();
b1.SameStageFragment_();
b0.FeatureStep("name");
b1._SameStageFragment();
b1.Resolver();
b3.StringLiteral("java.lang.String");
b3.StringLiteral("replaceFirst(java.lang.String, java.lang.String)");
b3.Expressions_(2);
b3.StringLiteral("set");
b3.StringLiteral("");
b3._Expressions();
b3._InvokeJavaInstanceMethod();
b1._SameStageFragment();
b0.VariableTest("propertyName");
b0._Filter();
b0._ExpressionTest();
b0.ExpressionTest_();
b0.Path_(3);
b0.FeatureStep("parameters");
b0.Filter_();
b0.ChildStep();
b0.IndexTest_();
b0.IntLiteral(0);
b0._IndexTest();
b0._Filter();
b0.Filter_();
b0.FeatureStep("type");
b0.VariableTest("propertyType");
b0._Filter();
b0._Path();
b0._ExpressionTest();
b0._And();
b0._Filter();
b0._Path();
b0._CartesianProduct();
b0._Expressions();
b1.Resolver();
b0._Union();
b0.VariableTest("allMatchingGettersAndSetters");
b0._Filter();
b0.Select_();
b0.Filter_();
b1.StageUpFragment_();
b4.Property_();
b4.Annotations_(0);
b4._Annotations();
b1.Variable_();
b1.VarType("http://lang.whole.org/Pojo#Type");
b1.VarName("propertyType");
b1.Quantifier("!");
b1._Variable();
b1.Variable_();
b1.VarType("http://lang.whole.org/Pojo#Name");
b1.VarName("propertyName");
b1.Quantifier("!");
b1._Variable();
b1.Resolver();
b4._Property();
b1._StageUpFragment();
b0.VariableTest("beanProperty");
b0._Filter();
b0.Path_(3);
b0.VariableRefStep("allMatchingGettersAndSetters");
b0.ChildStep();
b0.Filter_();
b0.ChildStep();
b0.And_(2);
b0.IndexTest_();
b0.IntLiteral(0);
b0._IndexTest();
b0.And_(2);
b0.ExpressionTest_();
b0.Filter_();
b0.FeatureStep("name");
b0.VariableTest("methodName");
b0._Filter();
b0._ExpressionTest();
b0.ExpressionTest_();
b0.Filter_();
b0.FeatureStep("returnType");
b0.VariableTest("returnType");
b0._Filter();
b0._ExpressionTest();
b0._And();
b0._And();
b0._Filter();
b0._Path();
b0.Sequence_(2);
b0.Filter_();
b0.Call_();
b0.Name("toPojoType");
b0.Expressions_(3);
b0.VariableRefStep("typeParameters");
b0.VariableRefStep("cuPackageName");
b0.VariableRefStep("returnType");
b0._Expressions();
b0._Call();
b0.VariableTest("propertyType");
b0._Filter();
b0.Filter_();
b0.Call_();
b0.Name("toPropertyName");
b0.Expressions_(1);
b0.VariableRefStep("methodName");
b0._Expressions();
b0._Call();
b0.VariableTest("propertyName");
b0._Filter();
b0._Sequence();
b0._Select();
b0.Select_();
b0.Filter_();
b1.StageUpFragment_();
b4.Property_();
b4.Annotations_(1);
b4.Modifier("READ_ONLY");
b4._Annotations();
b1.Variable_();
b1.VarType("http://lang.whole.org/Pojo#Type");
b1.VarName("propertyType");
b1.Quantifier("!");
b1._Variable();
b1.Variable_();
b1.VarType("http://lang.whole.org/Pojo#Name");
b1.VarName("propertyName");
b1.Quantifier("!");
b1._Variable();
b1.Resolver();
b4._Property();
b1._StageUpFragment();
b0.VariableTest("readOnlyProperty");
b0._Filter();
b0.Path_(2);
b0.Except_();
b0.Expressions_(2);
b0.Path_(2);
b0.VariableRefStep("allGetters");
b0.ChildStep();
b0._Path();
b0.Path_(3);
b0.VariableRefStep("allMatchingGettersAndSetters");
b0.ChildStep();
b0.Filter_();
b0.ChildStep();
b0.IndexTest_();
b0.IntLiteral(0);
b0._IndexTest();
b0._Filter();
b0._Path();
b0._Expressions();
b1.Resolver();
b0._Except();
b0.Filter_();
b0.ChildStep();
b0.And_(2);
b0.ExpressionTest_();
b0.Filter_();
b0.FeatureStep("name");
b0.VariableTest("methodName");
b0._Filter();
b0._ExpressionTest();
b0.ExpressionTest_();
b0.Filter_();
b0.FeatureStep("returnType");
b0.VariableTest("returnType");
b0._Filter();
b0._ExpressionTest();
b0._And();
b0._Filter();
b0._Path();
b0.Sequence_(2);
b0.Filter_();
b0.Call_();
b0.Name("toPojoType");
b0.Expressions_(3);
b0.VariableRefStep("typeParameters");
b0.VariableRefStep("cuPackageName");
b0.VariableRefStep("returnType");
b0._Expressions();
b0._Call();
b0.VariableTest("propertyType");
b0._Filter();
b0.Filter_();
b0.Call_();
b0.Name("toPropertyName");
b0.Expressions_(1);
b0.VariableRefStep("methodName");
b0._Expressions();
b0._Call();
b0.VariableTest("propertyName");
b0._Filter();
b0._Sequence();
b0._Select();
b0.Select_();
b0.Filter_();
b1.StageUpFragment_();
b4.Property_();
b4.Annotations_(1);
b4.Modifier("WRITE_ONLY");
b4._Annotations();
b1.Variable_();
b1.VarType("http://lang.whole.org/Pojo#Type");
b1.VarName("propertyType");
b1.Quantifier("!");
b1._Variable();
b1.Variable_();
b1.VarType("http://lang.whole.org/Pojo#Name");
b1.VarName("propertyName");
b1.Quantifier("!");
b1._Variable();
b1.Resolver();
b4._Property();
b1._StageUpFragment();
b0.VariableTest("writeOnlyProperty");
b0._Filter();
b0.Path_(2);
b0.Except_();
b0.Expressions_(2);
b0.Path_(2);
b0.VariableRefStep("allSetters");
b0.ChildStep();
b0._Path();
b0.Path_(3);
b0.VariableRefStep("allMatchingGettersAndSetters");
b0.ChildStep();
b0.Filter_();
b0.ChildStep();
b0.IndexTest_();
b0.IntLiteral(1);
b0._IndexTest();
b0._Filter();
b0._Path();
b0._Expressions();
b1.Resolver();
b0._Except();
b0.Filter_();
b0.ChildStep();
b0.And_(2);
b0.ExpressionTest_();
b0.Filter_();
b0.FeatureStep("name");
b0.VariableTest("methodName");
b0._Filter();
b0._ExpressionTest();
b0.ExpressionTest_();
b0.Path_(3);
b0.FeatureStep("parameters");
b0.Filter_();
b0.ChildStep();
b0.IndexTest_();
b0.IntLiteral(0);
b0._IndexTest();
b0._Filter();
b0.Filter_();
b0.FeatureStep("type");
b0.VariableTest("parameterType");
b0._Filter();
b0._Path();
b0._ExpressionTest();
b0._And();
b0._Filter();
b0._Path();
b0.Sequence_(2);
b0.Filter_();
b0.Call_();
b0.Name("toPojoType");
b0.Expressions_(3);
b0.VariableRefStep("typeParameters");
b0.VariableRefStep("cuPackageName");
b0.VariableRefStep("parameterType");
b0._Expressions();
b0._Call();
b0.VariableTest("propertyType");
b0._Filter();
b0.Filter_();
b0.Call_();
b0.Name("toPropertyName");
b0.Expressions_(1);
b0.VariableRefStep("methodName");
b0._Expressions();
b0._Call();
b0.VariableTest("propertyName");
b0._Filter();
b0._Sequence();
b0._Select();
b0._Sequence();
b0._Select();
b0.Select_();
b0.Filter_();
b1.StageUpFragment_();
b4.Constructor_();
b4.Parameters_(1);
b1.Variable_();
b1.VarType("http://lang.whole.org/Pojo#Parameter");
b1.VarName("parameter");
b1.Quantifier("*");
b1._Variable();
b4._Parameters();
b4._Constructor();
b1._StageUpFragment();
b0.VariableTest("constructor");
b0._Filter();
b0.Path_(3);
b0.Filter_();
b0.SelfStep();
b0.Not_();
b0.ExpressionTest_();
b0.Path_(2);
b0.FeatureStep("modifiers");
b0.Filter_();
b0.ChildStep();
b0.And_(2);
b0.TypeTest("Modifier");
b0.ExpressionTest_();
b1.StageUpFragment_();
b2.Modifier("abstract");
b1._StageUpFragment();
b0._ExpressionTest();
b0._And();
b0._Filter();
b0._Path();
b0._ExpressionTest();
b0._Not();
b0._Filter();
b0.FeatureStep("bodyDeclarations");
b0.Filter_();
b0.ChildStep();
b0.And_(2);
b0.TypeTest("ConstructorDeclaration");
b0.ExpressionTest_();
b0.Path_(2);
b0.FeatureStep("modifiers");
b0.Filter_();
b0.ChildStep();
b0.ExpressionTest_();
b1.StageUpFragment_();
b2.Modifier("public");
b1._StageUpFragment();
b0._ExpressionTest();
b0._Filter();
b0._Path();
b0._ExpressionTest();
b0._And();
b0._Filter();
b0._Path();
b0.Select_();
b0.Filter_();
b1.StageUpFragment_();
b4.Parameter_();
b1.Resolver();
b1.Variable_();
b1.VarType("http://lang.whole.org/Pojo#Type");
b1.VarName("type");
b1.Quantifier("!");
b1._Variable();
b1.Variable_();
b1.VarType("http://lang.whole.org/Pojo#Name");
b1.VarName("name");
b1.Quantifier("!");
b1._Variable();
b1.Variable_();
b1.VarType("http://lang.whole.org/Pojo#Name");
b1.VarName("template");
b1.Quantifier("?");
b1._Variable();
b4._Parameter();
b1._StageUpFragment();
b0.VariableTest("parameter");
b0._Filter();
b0.Path_(2);
b0.FeatureStep("parameters");
b0.Filter_();
b0.ChildStep();
b0.And_(2);
b0.ExpressionTest_();
b0.Filter_();
b0.FeatureStep("type");
b0.VariableTest("parameterType");
b0._Filter();
b0._ExpressionTest();
b0.ExpressionTest_();
b0.Filter_();
b0.FeatureStep("name");
b0.VariableTest("name");
b0._Filter();
b0._ExpressionTest();
b0._And();
b0._Filter();
b0._Path();
b0.Sequence_(2);
b0.Filter_();
b0.Call_();
b0.Name("toPojoType");
b0.Expressions_(3);
b0.VariableRefStep("typeParameters");
b0.VariableRefStep("cuPackageName");
b0.VariableRefStep("parameterType");
b0._Expressions();
b0._Call();
b0.VariableTest("type");
b0._Filter();
b0.Path_(2);
b0.VariableRefStep("properties");
b0.Filter_();
b0.ChildStep();
b0.And_(2);
b0.ExpressionTest_();
b0.VariableRefStep("generatePropertyTemplates");
b0._ExpressionTest();
b0.And_(2);
b0.ExpressionTest_();
b0.Filter_();
b0.FeatureStep("type");
b0.VariableTest("type");
b0._Filter();
b0._ExpressionTest();
b0.ExpressionTest_();
b0.Filter_();
b0.FeatureStep("name");
b0.VariableTest("template");
b0._Filter();
b0._ExpressionTest();
b0._And();
b0._And();
b0._Filter();
b0._Path();
b0._Sequence();
b0._Select();
b0._Select();
b0._Sequence();
b0._Select();
b0.Select_();
b0.Filter_();
b1.StageUpFragment_();
b4.EnumDeclaration_();
b4.Annotations_(0);
b4._Annotations();
b1.Resolver();
b1.Variable_();
b1.VarType("http://lang.whole.org/Pojo#ReferenceType");
b1.VarName("canonicalName");
b1.Quantifier("!");
b1._Variable();
b4.Names_(1);
b1.Variable_();
b1.VarType("http://lang.whole.org/Pojo#Name");
b1.VarName("enumValue");
b1.Quantifier("+");
b1._Variable();
b4._Names();
b4._EnumDeclaration();
b1._StageUpFragment();
b0.VariableTest("enumDeclaration");
b0._Filter();
b0.Path_(3);
b0.Filter_();
b0.DescendantStep();
b0.And_(2);
b0.TypeTest("CompilationUnit");
b0.ExpressionTest_();
b0.Path_(2);
b0.FeatureStep("package");
b0.Filter_();
b0.FeatureStep("name");
b0.VariableTest("cuPackageName");
b0._Filter();
b0._Path();
b0._ExpressionTest();
b0._And();
b0._Filter();
b0.FeatureStep("types");
b0.Filter_();
b0.ChildStep();
b0.And_(2);
b0.TypeTest("EnumDeclaration");
b0.And_(2);
b0.ExpressionTest_();
b0.Path_(2);
b0.FeatureStep("modifiers");
b0.Filter_();
b0.ChildStep();
b0.ExpressionTest_();
b1.StageUpFragment_();
b2.Modifier("public");
b1._StageUpFragment();
b0._ExpressionTest();
b0._Filter();
b0._Path();
b0._ExpressionTest();
b0.ExpressionTest_();
b0.Filter_();
b0.Call_();
b0.Name("getTypeName");
b0.Expressions_(2);
b0.VariableRefStep("cuPackageName");
b0.FeatureStep("name");
b0._Expressions();
b0._Call();
b0.VariableTest("canonicalName");
b0._Filter();
b0._ExpressionTest();
b0._And();
b0._And();
b0._Filter();
b0._Path();
b0.Path_(2);
b0.FeatureStep("enumConstants");
b0.Filter_();
b0.ChildStep();
b0.ExpressionTest_();
b0.Filter_();
b0.FeatureStep("name");
b0.VariableTest("enumValue");
b0._Filter();
b0._ExpressionTest();
b0._Filter();
b0._Path();
b0._Select();
b0._Sequence();
b0._Select();
b0._Block();
}
}