aboutsummaryrefslogtreecommitdiffstats
path: root/aspectj5rt/java5-src/org/aspectj
diff options
context:
space:
mode:
authoracolyer <acolyer>2005-06-17 09:24:30 +0000
committeracolyer <acolyer>2005-06-17 09:24:30 +0000
commit9961155d58379dbcc3a442950d558d0ccd42430e (patch)
treeae94fb5fd5a54284f6383661de671efe6ada7157 /aspectj5rt/java5-src/org/aspectj
parentd766e29a11602e044a58f77e24725fcdd2b34f0a (diff)
downloadaspectj-9961155d58379dbcc3a442950d558d0ccd42430e.tar.gz
aspectj-9961155d58379dbcc3a442950d558d0ccd42430e.zip
updated reflection interfaces to represent a pointcut expression as a PointcutExpression rather than as a String. This abstraction is needed to support runtime creation and matching of pointcut expressions down the line.
Note that the whole MAP support in this module is still a work in progress and is scheduled for completion in M4. -- AMC.
Diffstat (limited to 'aspectj5rt/java5-src/org/aspectj')
-rw-r--r--aspectj5rt/java5-src/org/aspectj/internal/lang/reflect/AdviceImpl.java7
-rw-r--r--aspectj5rt/java5-src/org/aspectj/internal/lang/reflect/DeclareErrorOrWarningImpl.java7
-rw-r--r--aspectj5rt/java5-src/org/aspectj/internal/lang/reflect/PerClauseImpl.java7
-rw-r--r--aspectj5rt/java5-src/org/aspectj/internal/lang/reflect/PointcutExpressionImpl.java30
-rw-r--r--aspectj5rt/java5-src/org/aspectj/internal/lang/reflect/PointcutImpl.java7
-rw-r--r--aspectj5rt/java5-src/org/aspectj/lang/reflect/Advice.java2
-rw-r--r--aspectj5rt/java5-src/org/aspectj/lang/reflect/DeclareErrorOrWarning.java2
-rw-r--r--aspectj5rt/java5-src/org/aspectj/lang/reflect/PerClause.java2
-rw-r--r--aspectj5rt/java5-src/org/aspectj/lang/reflect/Pointcut.java2
-rw-r--r--aspectj5rt/java5-src/org/aspectj/lang/reflect/PointcutExpression.java24
10 files changed, 74 insertions, 16 deletions
diff --git a/aspectj5rt/java5-src/org/aspectj/internal/lang/reflect/AdviceImpl.java b/aspectj5rt/java5-src/org/aspectj/internal/lang/reflect/AdviceImpl.java
index 895e4b4a4..d46b0bf61 100644
--- a/aspectj5rt/java5-src/org/aspectj/internal/lang/reflect/AdviceImpl.java
+++ b/aspectj5rt/java5-src/org/aspectj/internal/lang/reflect/AdviceImpl.java
@@ -16,6 +16,7 @@ import java.lang.reflect.Method;
import org.aspectj.lang.annotation.AdviceName;
import org.aspectj.lang.reflect.Advice;
import org.aspectj.lang.reflect.AdviceType;
+import org.aspectj.lang.reflect.PointcutExpression;
/**
* @author colyer
@@ -25,12 +26,12 @@ public class AdviceImpl implements Advice {
private final AdviceType kind;
private final Method adviceMethod;
- private String pointcutExpression;
+ private PointcutExpression pointcutExpression;
protected AdviceImpl(Method method, String pointcut, AdviceType type) {
this.kind = type;
this.adviceMethod = method;
- this.pointcutExpression = pointcut;
+ this.pointcutExpression = new PointcutExpressionImpl(pointcut);
}
public AdviceType getKind() {
@@ -47,7 +48,7 @@ public class AdviceImpl implements Advice {
return adviceName;
}
- public String getPointcutExpression() {
+ public PointcutExpression getPointcutExpression() {
return pointcutExpression;
}
diff --git a/aspectj5rt/java5-src/org/aspectj/internal/lang/reflect/DeclareErrorOrWarningImpl.java b/aspectj5rt/java5-src/org/aspectj/internal/lang/reflect/DeclareErrorOrWarningImpl.java
index 826b36c19..03ea6d40c 100644
--- a/aspectj5rt/java5-src/org/aspectj/internal/lang/reflect/DeclareErrorOrWarningImpl.java
+++ b/aspectj5rt/java5-src/org/aspectj/internal/lang/reflect/DeclareErrorOrWarningImpl.java
@@ -12,6 +12,7 @@
package org.aspectj.internal.lang.reflect;
import org.aspectj.lang.reflect.DeclareErrorOrWarning;
+import org.aspectj.lang.reflect.PointcutExpression;
/**
* @author colyer
@@ -19,12 +20,12 @@ import org.aspectj.lang.reflect.DeclareErrorOrWarning;
*/
public class DeclareErrorOrWarningImpl implements DeclareErrorOrWarning {
- private String pc;
+ private PointcutExpression pc;
private String msg;
private boolean isError;
public DeclareErrorOrWarningImpl(String pointcut, String message, boolean isError) {
- this.pc = pointcut;
+ this.pc = new PointcutExpressionImpl(pointcut);
this.msg = message;
this.isError = isError;
}
@@ -32,7 +33,7 @@ public class DeclareErrorOrWarningImpl implements DeclareErrorOrWarning {
/* (non-Javadoc)
* @see org.aspectj.lang.reflect.DeclareErrorOrWarning#getPointcutExpression()
*/
- public String getPointcutExpression() {
+ public PointcutExpression getPointcutExpression() {
return pc;
}
diff --git a/aspectj5rt/java5-src/org/aspectj/internal/lang/reflect/PerClauseImpl.java b/aspectj5rt/java5-src/org/aspectj/internal/lang/reflect/PerClauseImpl.java
index a589f79dc..819d044bf 100644
--- a/aspectj5rt/java5-src/org/aspectj/internal/lang/reflect/PerClauseImpl.java
+++ b/aspectj5rt/java5-src/org/aspectj/internal/lang/reflect/PerClauseImpl.java
@@ -13,6 +13,7 @@ package org.aspectj.internal.lang.reflect;
import org.aspectj.lang.reflect.PerClause;
import org.aspectj.lang.reflect.PerClauseKind;
+import org.aspectj.lang.reflect.PointcutExpression;
/**
* @author colyer
@@ -21,11 +22,11 @@ import org.aspectj.lang.reflect.PerClauseKind;
public class PerClauseImpl implements PerClause {
private final PerClauseKind kind;
- private final String pointcutExpression;
+ private final PointcutExpression pointcutExpression;
protected PerClauseImpl(PerClauseKind kind, String pointcutExpression) {
this.kind = kind;
- this.pointcutExpression = pointcutExpression;
+ this.pointcutExpression = new PointcutExpressionImpl(pointcutExpression);
}
/* (non-Javadoc)
@@ -38,7 +39,7 @@ public class PerClauseImpl implements PerClause {
/* (non-Javadoc)
* @see org.aspectj.lang.reflect.PerClause#getPointcutExpression()
*/
- public String getPointcutExpression() {
+ public PointcutExpression getPointcutExpression() {
return pointcutExpression;
}
diff --git a/aspectj5rt/java5-src/org/aspectj/internal/lang/reflect/PointcutExpressionImpl.java b/aspectj5rt/java5-src/org/aspectj/internal/lang/reflect/PointcutExpressionImpl.java
new file mode 100644
index 000000000..e31bd1949
--- /dev/null
+++ b/aspectj5rt/java5-src/org/aspectj/internal/lang/reflect/PointcutExpressionImpl.java
@@ -0,0 +1,30 @@
+/* *******************************************************************
+ * Copyright (c) 2005 Contributors.
+ * All rights reserved.
+ * This program and the accompanying materials are made available
+ * under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution and is available at
+ * http://eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Adrian Colyer Initial implementation
+ * ******************************************************************/
+package org.aspectj.internal.lang.reflect;
+
+import org.aspectj.lang.reflect.PointcutExpression;
+
+/**
+ * @author colyer
+ *
+ */
+public class PointcutExpressionImpl implements PointcutExpression {
+ private String expression;
+
+ public PointcutExpressionImpl(String aPointcutExpression) {
+ this.expression = aPointcutExpression;
+ }
+
+ public String toString() {
+ return expression;
+ }
+}
diff --git a/aspectj5rt/java5-src/org/aspectj/internal/lang/reflect/PointcutImpl.java b/aspectj5rt/java5-src/org/aspectj/internal/lang/reflect/PointcutImpl.java
index adc1e9510..e0c102f2f 100644
--- a/aspectj5rt/java5-src/org/aspectj/internal/lang/reflect/PointcutImpl.java
+++ b/aspectj5rt/java5-src/org/aspectj/internal/lang/reflect/PointcutImpl.java
@@ -15,6 +15,7 @@ import java.lang.reflect.Method;
import org.aspectj.lang.reflect.AjType;
import org.aspectj.lang.reflect.Pointcut;
+import org.aspectj.lang.reflect.PointcutExpression;
/**
* @author colyer
@@ -23,13 +24,13 @@ import org.aspectj.lang.reflect.Pointcut;
public class PointcutImpl implements Pointcut {
private final String name;
- private final String pc;
+ private final PointcutExpression pc;
private final Method baseMethod;
private final AjType declaringType;
protected PointcutImpl(String name, String pc, Method method, AjType declaringType) {
this.name = name;
- this.pc = pc;
+ this.pc = new PointcutExpressionImpl(pc);
this.baseMethod = method;
this.declaringType = declaringType;
}
@@ -37,7 +38,7 @@ public class PointcutImpl implements Pointcut {
/* (non-Javadoc)
* @see org.aspectj.lang.reflect.Pointcut#getPointcutExpression()
*/
- public String getPointcutExpression() {
+ public PointcutExpression getPointcutExpression() {
return pc;
}
diff --git a/aspectj5rt/java5-src/org/aspectj/lang/reflect/Advice.java b/aspectj5rt/java5-src/org/aspectj/lang/reflect/Advice.java
index 3fbc668cd..4792a3ba9 100644
--- a/aspectj5rt/java5-src/org/aspectj/lang/reflect/Advice.java
+++ b/aspectj5rt/java5-src/org/aspectj/lang/reflect/Advice.java
@@ -17,5 +17,5 @@ public interface Advice {
String getName();
- String getPointcutExpression();
+ PointcutExpression getPointcutExpression();
}
diff --git a/aspectj5rt/java5-src/org/aspectj/lang/reflect/DeclareErrorOrWarning.java b/aspectj5rt/java5-src/org/aspectj/lang/reflect/DeclareErrorOrWarning.java
index 4fa4783f0..c8539c166 100644
--- a/aspectj5rt/java5-src/org/aspectj/lang/reflect/DeclareErrorOrWarning.java
+++ b/aspectj5rt/java5-src/org/aspectj/lang/reflect/DeclareErrorOrWarning.java
@@ -16,7 +16,7 @@ package org.aspectj.lang.reflect;
*
*/
public interface DeclareErrorOrWarning {
- String getPointcutExpression();
+ PointcutExpression getPointcutExpression();
String getMessage();
boolean isError();
diff --git a/aspectj5rt/java5-src/org/aspectj/lang/reflect/PerClause.java b/aspectj5rt/java5-src/org/aspectj/lang/reflect/PerClause.java
index 7416ac09d..c3396c548 100644
--- a/aspectj5rt/java5-src/org/aspectj/lang/reflect/PerClause.java
+++ b/aspectj5rt/java5-src/org/aspectj/lang/reflect/PerClause.java
@@ -17,5 +17,5 @@ package org.aspectj.lang.reflect;
*/
public interface PerClause {
PerClauseKind getKind();
- String getPointcutExpression();
+ PointcutExpression getPointcutExpression();
}
diff --git a/aspectj5rt/java5-src/org/aspectj/lang/reflect/Pointcut.java b/aspectj5rt/java5-src/org/aspectj/lang/reflect/Pointcut.java
index 0802db410..a82941306 100644
--- a/aspectj5rt/java5-src/org/aspectj/lang/reflect/Pointcut.java
+++ b/aspectj5rt/java5-src/org/aspectj/lang/reflect/Pointcut.java
@@ -13,7 +13,7 @@ package org.aspectj.lang.reflect;
public interface Pointcut {
- String getPointcutExpression();
+ PointcutExpression getPointcutExpression();
String getName();
diff --git a/aspectj5rt/java5-src/org/aspectj/lang/reflect/PointcutExpression.java b/aspectj5rt/java5-src/org/aspectj/lang/reflect/PointcutExpression.java
new file mode 100644
index 000000000..b2ab44d7c
--- /dev/null
+++ b/aspectj5rt/java5-src/org/aspectj/lang/reflect/PointcutExpression.java
@@ -0,0 +1,24 @@
+/* *******************************************************************
+ * Copyright (c) 2005 Contributors.
+ * All rights reserved.
+ * This program and the accompanying materials are made available
+ * under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution and is available at
+ * http://eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Adrian Colyer Initial implementation
+ * ******************************************************************/
+package org.aspectj.lang.reflect;
+
+/**
+ * Represents an anonymous pointcut expression as used in pointcuts, advice declarations,
+ * declares, and per-clauses
+ */
+public interface PointcutExpression {
+
+ /**
+ * Returns a String representation of the pointcut expression
+ */
+ String toString();
+}