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(); } }