You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@groovy.apache.org by su...@apache.org on 2020/10/05 13:15:08 UTC
[groovy] branch GROOVY-8258 updated: GROOVY-8258: add javadoc and
rename linq to ginq
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
The following commit(s) were added to refs/heads/GROOVY-8258 by this push:
new aa0f0b1 GROOVY-8258: add javadoc and rename linq to ginq
aa0f0b1 is described below
commit aa0f0b15f2b99e38e992e1a2e5a121b4867735eb
Author: Daniel Sun <su...@apache.org>
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;