This is an automated email from the ASF dual-hosted git repository. sunlan pushed a commit to branch GROOVY-8258 in repository https://gitbox.apache.org/repos/asf/groovy.git
commit d413188abd8f510e7d20c3f6456c2ad5a1cdc7d2 Author: Daniel Sun <[email protected]> AuthorDate: Mon Oct 5 21:14:43 2020 +0800 GROOVY-8258: add javadoc and rename linq to ginq --- subprojects/groovy-linq/build.gradle | 2 +- ...oovyMethods.groovy => GinqGroovyMethods.groovy} | 2 +- .../org/apache/groovy/linq/dsl/GinqAstBuilder.java | 23 ++++++++++++++++++++++ .../org/apache/groovy/linq/dsl/GinqBuilder.groovy | 5 +++++ .../org/apache/groovy/linq/dsl/GinqVisitor.java | 6 ++++++ .../dsl/expression/AbstractGinqExpression.java | 5 +++++ .../linq/dsl/expression/FilterableExpression.java | 5 +++++ .../groovy/linq/dsl/expression/FromExpression.java | 5 +++++ .../groovy/linq/dsl/expression/GinqExpression.java | 5 +++++ .../groovy/linq/dsl/expression/RootExpression.java | 5 +++++ .../linq/dsl/expression/SelectExpression.java | 5 +++++ .../linq/dsl/expression/WhereExpression.java | 5 +++++ 12 files changed, 71 insertions(+), 2 deletions(-) diff --git a/subprojects/groovy-linq/build.gradle b/subprojects/groovy-linq/build.gradle index 5c6a05b..cc476c4 100644 --- a/subprojects/groovy-linq/build.gradle +++ b/subprojects/groovy-linq/build.gradle @@ -25,7 +25,7 @@ dependencies { } task moduleDescriptor(type: org.codehaus.groovy.gradle.WriteExtensionDescriptorTask) { - extensionClasses = 'org.apache.groovy.linq.LinqGroovyMethods' + extensionClasses = 'org.apache.groovy.linq.GinqGroovyMethods' } compileJava.dependsOn moduleDescriptor diff --git a/subprojects/groovy-linq/src/main/groovy/org/apache/groovy/linq/LinqGroovyMethods.groovy b/subprojects/groovy-linq/src/main/groovy/org/apache/groovy/linq/GinqGroovyMethods.groovy similarity index 98% rename from subprojects/groovy-linq/src/main/groovy/org/apache/groovy/linq/LinqGroovyMethods.groovy rename to subprojects/groovy-linq/src/main/groovy/org/apache/groovy/linq/GinqGroovyMethods.groovy index 4d9af35..a46b291 100644 --- a/subprojects/groovy-linq/src/main/groovy/org/apache/groovy/linq/LinqGroovyMethods.groovy +++ b/subprojects/groovy-linq/src/main/groovy/org/apache/groovy/linq/GinqGroovyMethods.groovy @@ -30,7 +30,7 @@ import org.codehaus.groovy.macro.runtime.Macro import org.codehaus.groovy.macro.runtime.MacroContext @CompileStatic -class LinqGroovyMethods { +class GinqGroovyMethods { @Macro static Expression GINQ(MacroContext ctx, final ClosureExpression closureExpression) { Statement code = closureExpression.getCode() diff --git a/subprojects/groovy-linq/src/main/groovy/org/apache/groovy/linq/dsl/GinqAstBuilder.java b/subprojects/groovy-linq/src/main/groovy/org/apache/groovy/linq/dsl/GinqAstBuilder.java index e2bec3f..f36e75c 100644 --- a/subprojects/groovy-linq/src/main/groovy/org/apache/groovy/linq/dsl/GinqAstBuilder.java +++ b/subprojects/groovy-linq/src/main/groovy/org/apache/groovy/linq/dsl/GinqAstBuilder.java @@ -1,3 +1,21 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ package org.apache.groovy.linq.dsl; import org.apache.groovy.linq.dsl.expression.FilterableExpression; @@ -12,6 +30,11 @@ import org.codehaus.groovy.ast.expr.ArgumentListExpression; import org.codehaus.groovy.ast.expr.Expression; import org.codehaus.groovy.ast.expr.MethodCallExpression; +/** + * Build the AST for GINQ + * + * @since 4.0.0 + */ public class GinqAstBuilder extends CodeVisitorSupport { private RootExpression rootExpression = new RootExpression(); // store the result private GinqExpression ginqExpression; // store the return value diff --git a/subprojects/groovy-linq/src/main/groovy/org/apache/groovy/linq/dsl/GinqBuilder.groovy b/subprojects/groovy-linq/src/main/groovy/org/apache/groovy/linq/dsl/GinqBuilder.groovy index 8cbb86b..e5ee6e2 100644 --- a/subprojects/groovy-linq/src/main/groovy/org/apache/groovy/linq/dsl/GinqBuilder.groovy +++ b/subprojects/groovy-linq/src/main/groovy/org/apache/groovy/linq/dsl/GinqBuilder.groovy @@ -36,6 +36,11 @@ import static org.codehaus.groovy.ast.tools.GeneralUtils.param import static org.codehaus.groovy.ast.tools.GeneralUtils.params import static org.codehaus.groovy.ast.tools.GeneralUtils.stmt +/** + * Visit AST of GINQ and generate target method calls for GINQ + * + * @since 4.0.0 + */ @CompileStatic class GinqBuilder implements GinqVisitor<Object> { @Override diff --git a/subprojects/groovy-linq/src/main/groovy/org/apache/groovy/linq/dsl/GinqVisitor.java b/subprojects/groovy-linq/src/main/groovy/org/apache/groovy/linq/dsl/GinqVisitor.java index 4e7c242..7072b5d 100644 --- a/subprojects/groovy-linq/src/main/groovy/org/apache/groovy/linq/dsl/GinqVisitor.java +++ b/subprojects/groovy-linq/src/main/groovy/org/apache/groovy/linq/dsl/GinqVisitor.java @@ -24,6 +24,12 @@ import org.apache.groovy.linq.dsl.expression.RootExpression; import org.apache.groovy.linq.dsl.expression.SelectExpression; import org.apache.groovy.linq.dsl.expression.WhereExpression; +/** + * Represents the visitor for AST of GINQ + * + * @param <R> the type of visit result + * @since 4.0.0 + */ public interface GinqVisitor<R> { R visitRootExpression(RootExpression rootExpression); R visitFromExpression(FromExpression fromExpression); diff --git a/subprojects/groovy-linq/src/main/groovy/org/apache/groovy/linq/dsl/expression/AbstractGinqExpression.java b/subprojects/groovy-linq/src/main/groovy/org/apache/groovy/linq/dsl/expression/AbstractGinqExpression.java index 25e4e84..25e20c9 100644 --- a/subprojects/groovy-linq/src/main/groovy/org/apache/groovy/linq/dsl/expression/AbstractGinqExpression.java +++ b/subprojects/groovy-linq/src/main/groovy/org/apache/groovy/linq/dsl/expression/AbstractGinqExpression.java @@ -5,6 +5,11 @@ import org.codehaus.groovy.ast.NodeMetaDataHandler; import java.util.LinkedHashMap; import java.util.Map; +/** + * Represents GINQ expression which could hold meta data + * + * @since 4.0.0 + */ public abstract class AbstractGinqExpression implements GinqExpression, NodeMetaDataHandler { private Map<?, ?> metaDataMap = new LinkedHashMap<>(); diff --git a/subprojects/groovy-linq/src/main/groovy/org/apache/groovy/linq/dsl/expression/FilterableExpression.java b/subprojects/groovy-linq/src/main/groovy/org/apache/groovy/linq/dsl/expression/FilterableExpression.java index d739e21..c0c1e8f 100644 --- a/subprojects/groovy-linq/src/main/groovy/org/apache/groovy/linq/dsl/expression/FilterableExpression.java +++ b/subprojects/groovy-linq/src/main/groovy/org/apache/groovy/linq/dsl/expression/FilterableExpression.java @@ -18,6 +18,11 @@ */ package org.apache.groovy.linq.dsl.expression; +/** + * Represents expression which could be filtered via {@code where} expression + * + * @since 4.0.0 + */ public abstract class FilterableExpression extends AbstractGinqExpression { protected WhereExpression whereExpression; diff --git a/subprojects/groovy-linq/src/main/groovy/org/apache/groovy/linq/dsl/expression/FromExpression.java b/subprojects/groovy-linq/src/main/groovy/org/apache/groovy/linq/dsl/expression/FromExpression.java index 4c212e4..248e9c0 100644 --- a/subprojects/groovy-linq/src/main/groovy/org/apache/groovy/linq/dsl/expression/FromExpression.java +++ b/subprojects/groovy-linq/src/main/groovy/org/apache/groovy/linq/dsl/expression/FromExpression.java @@ -21,6 +21,11 @@ package org.apache.groovy.linq.dsl.expression; import org.apache.groovy.linq.dsl.GinqVisitor; import org.codehaus.groovy.ast.expr.Expression; +/** + * Represents the from expression + * + * @since 4.0.0 + */ public class FromExpression extends FilterableExpression { private final Expression aliasExpr; private final Expression dataSourceExpr; diff --git a/subprojects/groovy-linq/src/main/groovy/org/apache/groovy/linq/dsl/expression/GinqExpression.java b/subprojects/groovy-linq/src/main/groovy/org/apache/groovy/linq/dsl/expression/GinqExpression.java index 22ef3ff..32ae24b 100644 --- a/subprojects/groovy-linq/src/main/groovy/org/apache/groovy/linq/dsl/expression/GinqExpression.java +++ b/subprojects/groovy-linq/src/main/groovy/org/apache/groovy/linq/dsl/expression/GinqExpression.java @@ -20,6 +20,11 @@ package org.apache.groovy.linq.dsl.expression; import org.apache.groovy.linq.dsl.GinqVisitor; +/** + * Represents the GINQ expression + * + * @since 4.0.0 + */ public interface GinqExpression { <R> R accept(GinqVisitor<R> visitor); } diff --git a/subprojects/groovy-linq/src/main/groovy/org/apache/groovy/linq/dsl/expression/RootExpression.java b/subprojects/groovy-linq/src/main/groovy/org/apache/groovy/linq/dsl/expression/RootExpression.java index d4ddf0c..ac8a45c 100644 --- a/subprojects/groovy-linq/src/main/groovy/org/apache/groovy/linq/dsl/expression/RootExpression.java +++ b/subprojects/groovy-linq/src/main/groovy/org/apache/groovy/linq/dsl/expression/RootExpression.java @@ -23,6 +23,11 @@ import org.apache.groovy.linq.dsl.GinqVisitor; import java.util.ArrayList; import java.util.List; +/** + * Represent the root expression of GINQ + * + * @since 4.0.0 + */ public class RootExpression extends AbstractGinqExpression { private List<FromExpression> fromExpressionList = new ArrayList<>(); private SelectExpression selectExpression; diff --git a/subprojects/groovy-linq/src/main/groovy/org/apache/groovy/linq/dsl/expression/SelectExpression.java b/subprojects/groovy-linq/src/main/groovy/org/apache/groovy/linq/dsl/expression/SelectExpression.java index 0cd3429..82ec0c1 100644 --- a/subprojects/groovy-linq/src/main/groovy/org/apache/groovy/linq/dsl/expression/SelectExpression.java +++ b/subprojects/groovy-linq/src/main/groovy/org/apache/groovy/linq/dsl/expression/SelectExpression.java @@ -21,6 +21,11 @@ package org.apache.groovy.linq.dsl.expression; import org.apache.groovy.linq.dsl.GinqVisitor; import org.codehaus.groovy.ast.expr.Expression; +/** + * Represents the select expression + * + * @since 4.0.0 + */ public class SelectExpression extends AbstractGinqExpression { private final Expression projectionExpr; diff --git a/subprojects/groovy-linq/src/main/groovy/org/apache/groovy/linq/dsl/expression/WhereExpression.java b/subprojects/groovy-linq/src/main/groovy/org/apache/groovy/linq/dsl/expression/WhereExpression.java index b23ba94..052347d 100644 --- a/subprojects/groovy-linq/src/main/groovy/org/apache/groovy/linq/dsl/expression/WhereExpression.java +++ b/subprojects/groovy-linq/src/main/groovy/org/apache/groovy/linq/dsl/expression/WhereExpression.java @@ -21,6 +21,11 @@ package org.apache.groovy.linq.dsl.expression; import org.apache.groovy.linq.dsl.GinqVisitor; import org.codehaus.groovy.ast.expr.Expression; +/** + * Represent the where expression + * + * @since 4.0.0 + */ public class WhereExpression extends AbstractGinqExpression { private final Expression filterExpr;
