Author: henrib
Date: Mon Nov 28 15:37:38 2011
New Revision: 1207310
URL: http://svn.apache.org/viewvc?rev=1207310&view=rev
Log:
Added @since 2.1 annotations;
Renamed Uberspect.getConstructor to Uberspect.getConstructorMethod and readded previous version
(same in UberspectImpl);
Intrepreter silent & strict fields not final, added setters
Modified:
commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/Debugger.java
commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/Interpreter.java
commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/JexlArithmetic.java
commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/JexlEngine.java
commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/JexlException.java
commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/JexlThreadedArithmetic.java
commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/NamespaceResolver.java
commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/ObjectContext.java
commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/ReadonlyContext.java
commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/Script.java
commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/UnifiedJEXL.java
commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/introspection/Sandbox.java
commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/introspection/SandboxUberspectImpl.java
commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/introspection/Uberspect.java
commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/introspection/UberspectImpl.java
Modified: commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/Debugger.java
URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/Debugger.java?rev=1207310&r1=1207309&r2=1207310&view=diff
==============================================================================
--- commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/Debugger.java (original)
+++ commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/Debugger.java Mon Nov
28 15:37:38 2011
@@ -134,6 +134,7 @@ final class Debugger implements ParserVi
* Rebuilds an expression from a Jexl node.
* @param node the node to rebuilt from
* @return the rebuilt expression
+ * @since 2.1
*/
public String data(JexlNode node) {
start = 0;
Modified: commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/Interpreter.java
URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/Interpreter.java?rev=1207310&r1=1207309&r2=1207310&view=diff
==============================================================================
--- commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/Interpreter.java (original)
+++ commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/Interpreter.java Mon
Nov 28 15:37:38 2011
@@ -104,9 +104,9 @@ public class Interpreter implements Pars
/** The context to store/retrieve variables. */
protected final JexlContext context;
/** Strict interpreter flag. */
- protected final boolean strict;
+ protected boolean strict;
/** Silent intepreter flag. */
- protected final boolean silent;
+ protected boolean silent;
/** Cache executors. */
protected final boolean cache;
/** Registers or arguments. */
@@ -163,6 +163,24 @@ public class Interpreter implements Pars
this.context = base.context;
this.functors = base.functors;
}
+
+ /**
+ * Sets whether this interpreter considers unknown variables, methods and constructors
as errors.
+ * @param flag true for strict, false for lenient
+ */
+ @Deprecated
+ public void setStrict(boolean flag) {
+ this.strict = flag;
+ }
+
+ /**
+ * Sets whether this interpreter throws JexlException when encountering errors.
+ * @param flag true for silent, false for verbose
+ */
+ @Deprecated
+ public void setSilent(boolean flag) {
+ this.silent = flag;
+ }
/**
* Checks whether this interpreter considers unknown variables, methods and constructors
as errors.
@@ -309,6 +327,7 @@ public class Interpreter implements Pars
/**
* Checks whether this interpreter execution was cancelled due to thread interruption.
* @return true if cancelled, false otherwise
+ * @since 2.1
*/
protected boolean isCancelled() {
if (cancelled | Thread.interrupted()) {
@@ -347,7 +366,7 @@ public class Interpreter implements Pars
// allow namespace to be instantiated as functor with context if possible, not an
error otherwise
if (namespace instanceof Class<?>) {
Object[] args = new Object[]{context};
- JexlMethod ctor = uberspect.getConstructor(namespace, args, node);
+ JexlMethod ctor = uberspect.getConstructorMethod(namespace, args, node);
if (ctor != null) {
try {
namespace = ctor.invoke(namespace, args);
@@ -1080,11 +1099,11 @@ public class Interpreter implements Pars
}
}
}
- JexlMethod ctor = uberspect.getConstructor(cobject, argv, node);
+ JexlMethod ctor = uberspect.getConstructorMethod(cobject, argv, node);
// DG: If we can't find an exact match, narrow the parameters and try again
if (ctor == null) {
if (arithmetic.narrowArguments(argv)) {
- ctor = uberspect.getConstructor(cobject, argv, node);
+ ctor = uberspect.getConstructorMethod(cobject, argv, node);
}
if (ctor == null) {
xjexl = new JexlException.Method(node, cobject.toString());
Modified: commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/JexlArithmetic.java
URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/JexlArithmetic.java?rev=1207310&r1=1207309&r2=1207310&view=diff
==============================================================================
--- commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/JexlArithmetic.java (original)
+++ commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/JexlArithmetic.java Mon
Nov 28 15:37:38 2011
@@ -74,6 +74,7 @@ public class JexlArithmetic {
* @param lenient whether this arithmetic is lenient or strict
* @param bigdContext the math context instance to use for +,-,/,*,% operations on big
decimals.
* @param bigdScale the scale used for big decimals.
+ * @since 2.1
*/
public JexlArithmetic(boolean lenient, MathContext bigdContext, int bigdScale) {
this.strict = !lenient;
@@ -93,6 +94,7 @@ public class JexlArithmetic {
/**
* The MathContext instance used for +,-,/,*,% operations on big decimals.
* @return the math context
+ * @since 2.1
*/
public MathContext getMathContext() {
return mathContext;
@@ -101,6 +103,7 @@ public class JexlArithmetic {
/**
* The BigDecimal scale used for comparison and coericion operations.
* @return the scale
+ * @since 2.1
*/
public int getMathScale() {
return mathScale;
@@ -110,6 +113,7 @@ public class JexlArithmetic {
* Ensure a big decimal is rounded by this arithmetic scale and rounding mode.
* @param number the big decimal to round
* @return the rounded big decimal
+ * @since 2.1
*/
public BigDecimal roundBigDecimal(final BigDecimal number) {
int mscale = getMathScale();
@@ -573,6 +577,7 @@ public class JexlArithmetic {
* @param left first value
* @param right second value
* @return test result.
+ * @since 2.1
*/
public boolean matches(Object left, Object right) {
if (left == null && right == null) {
@@ -596,6 +601,7 @@ public class JexlArithmetic {
* @param left the left operand
* @param right the right operator
* @return left & right
+ * @since 2.1
*/
public Object bitwiseAnd(Object left, Object right) {
long l = toLong(left);
@@ -608,6 +614,7 @@ public class JexlArithmetic {
* @param left the left operand
* @param right the right operator
* @return left | right
+ * @since 2.1
*/
public Object bitwiseOr(Object left, Object right) {
long l = toLong(left);
@@ -620,6 +627,7 @@ public class JexlArithmetic {
* @param left the left operand
* @param right the right operator
* @return left right
+ * @since 2.1
*/
public Object bitwiseXor(Object left, Object right) {
long l = toLong(left);
@@ -631,6 +639,7 @@ public class JexlArithmetic {
* Performs a bitwise complement.
* @param val the operand
* @return ~val
+ * @since 2.1
*/
public Object bitwiseComplement(Object val) {
long l = toLong(val);
@@ -644,6 +653,7 @@ public class JexlArithmetic {
* @param operator the operator
* @return -1 if left < right; +1 if left > > right; 0 if left == right
* @throws ArithmeticException if either left or right is null
+ * @since 2.1
*/
protected int compare(Object left, Object right, String operator) {
if (left != null && right != null) {
Modified: commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/JexlEngine.java
URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/JexlEngine.java?rev=1207310&r1=1207309&r2=1207310&view=diff
==============================================================================
--- commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/JexlEngine.java (original)
+++ commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/JexlEngine.java Mon Nov
28 15:37:38 2011
@@ -724,9 +724,9 @@ public class JexlEngine {
Object result = null;
JexlInfo info = debugInfo();
try {
- JexlMethod ctor = uberspect.getConstructor(clazz, args, info);
+ JexlMethod ctor = uberspect.getConstructorMethod(clazz, args, info);
if (ctor == null && arithmetic.narrowArguments(args)) {
- ctor = uberspect.getConstructor(clazz, args, info);
+ ctor = uberspect.getConstructorMethod(clazz, args, info);
}
if (ctor != null) {
result = ctor.invoke(clazz, args);
Modified: commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/JexlException.java
URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/JexlException.java?rev=1207310&r1=1207309&r2=1207310&view=diff
==============================================================================
--- commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/JexlException.java (original)
+++ commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/JexlException.java Mon
Nov 28 15:37:38 2011
@@ -133,6 +133,7 @@ public class JexlException extends Runti
/**
* Thrown when tokenization fails.
+ * @since 2.1
*/
public static class Tokenization extends JexlException {
/**
@@ -177,6 +178,7 @@ public class JexlException extends Runti
/**
* Thrown when parsing fails.
+ * @since 2.1
*/
public static class Parsing extends JexlException {
/**
@@ -221,6 +223,7 @@ public class JexlException extends Runti
/**
* Thrown when a variable is unknown.
+ * @since 2.1
*/
public static class Variable extends JexlException {
/**
@@ -247,6 +250,7 @@ public class JexlException extends Runti
/**
* Thrown when a property is unknown.
+ * @since 2.1
*/
public static class Property extends JexlException {
/**
@@ -273,6 +277,7 @@ public class JexlException extends Runti
/**
* Thrown when a method or ctor is unknown, ambiguous or inaccessible.
+ * @since 2.1
*/
public static class Method extends JexlException {
/**
@@ -299,6 +304,7 @@ public class JexlException extends Runti
/**
* Thrown to return a value.
+ * @since 2.1
*/
protected static class Return extends JexlException {
/** The returned value. */
@@ -325,6 +331,7 @@ public class JexlException extends Runti
/**
* Thrown to cancel a script execution.
+ * @since 2.1
*/
protected static class Cancel extends JexlException {
/**
Modified: commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/JexlThreadedArithmetic.java
URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/JexlThreadedArithmetic.java?rev=1207310&r1=1207309&r2=1207310&view=diff
==============================================================================
--- commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/JexlThreadedArithmetic.java
(original)
+++ commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/JexlThreadedArithmetic.java
Mon Nov 28 15:37:38 2011
@@ -21,6 +21,7 @@ import java.math.MathContext;
/**
* A derived arithmetic that allows different threads to operate with
* different strict/lenient/math modes using the same JexlEngine.
+ * @since 2.1
*/
public class JexlThreadedArithmetic extends JexlArithmetic {
Modified: commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/NamespaceResolver.java
URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/NamespaceResolver.java?rev=1207310&r1=1207309&r2=1207310&view=diff
==============================================================================
--- commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/NamespaceResolver.java
(original)
+++ commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/NamespaceResolver.java
Mon Nov 28 15:37:38 2011
@@ -28,6 +28,7 @@ package org.apache.commons.jexl2;
* JEXL itself reserves 'jexl' and 'ujexl' as namespaces for internal purpose; resolving
those may lead to unexpected
* results.
* </p>
+ * @since 2.1
*/
public interface NamespaceResolver {
/**
Modified: commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/ObjectContext.java
URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/ObjectContext.java?rev=1207310&r1=1207309&r2=1207310&view=diff
==============================================================================
--- commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/ObjectContext.java (original)
+++ commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/ObjectContext.java Mon
Nov 28 15:37:38 2011
@@ -19,6 +19,7 @@ package org.apache.commons.jexl2;
/**
* Wraps an Object as a Jexl context.
* @param <T> the wrapped object type to use
+ * @since 2.1
*/
public class ObjectContext<T> implements JexlContext {
/** The property solving jexl engine. */
Modified: commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/ReadonlyContext.java
URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/ReadonlyContext.java?rev=1207310&r1=1207309&r2=1207310&view=diff
==============================================================================
--- commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/ReadonlyContext.java
(original)
+++ commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/ReadonlyContext.java
Mon Nov 28 15:37:38 2011
@@ -18,6 +18,7 @@ package org.apache.commons.jexl2;
/**
* A readonly context wrapper.
+ * @since 2.1
*/
public final class ReadonlyContext implements JexlContext {
/** The wrapped context. */
Modified: commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/Script.java
URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/Script.java?rev=1207310&r1=1207309&r2=1207310&view=diff
==============================================================================
--- commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/Script.java (original)
+++ commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/Script.java Mon Nov 28
15:37:38 2011
@@ -51,6 +51,7 @@ public interface Script {
* @param args the arguments
* @return The result of this script, usually the result of
* the last statement.
+ * @since 2.1
*/
Object execute(JexlContext context, Object... args);
@@ -63,12 +64,14 @@ public interface Script {
/**
* Gets this script parameters.
* @return the parameters or null
+ * @since 2.1
*/
String[] getParameters();
/**
* Gets this script local variables.
* @return the local variables or null
+ * @since 2.1
*/
String[] getLocalVariables();
@@ -77,6 +80,7 @@ public interface Script {
* <p>Note that since variables can be in an ant-ish form (ie foo.bar.quux), each
variable is returned as
* a list of strings where each entry is a fragment of the variable ({"foo", "bar", "quux"}
in the example.</p>
* @return the variables or null
+ * @since 2.1
*/
Set<List<String>> getVariables();
@@ -86,6 +90,7 @@ public interface Script {
* <p>The interpreter will handle interruption/cancellation gracefully if needed.</p>
* @param context the context
* @return the callable
+ * @since 2.1
*/
Callable<Object> callable(JexlContext context);
@@ -96,6 +101,7 @@ public interface Script {
* @param context the context
* @param args the script arguments
* @return the callable
+ * @since 2.1
*/
Callable<Object> callable(JexlContext context, Object... args);
}
Modified: commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/UnifiedJEXL.java
URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/UnifiedJEXL.java?rev=1207310&r1=1207309&r2=1207310&view=diff
==============================================================================
--- commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/UnifiedJEXL.java (original)
+++ commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/UnifiedJEXL.java Mon
Nov 28 15:37:38 2011
@@ -970,6 +970,7 @@ public final class UnifiedJEXL {
/**
* Abstract the source fragments, verbatim or immediate typed text blocks.
+ * @since 2.1
*/
private static final class TemplateBlock {
/** The type of block, verbatim or directive. */
@@ -1037,6 +1038,7 @@ public final class UnifiedJEXL {
* and stores the expression array and the writer (java.io.Writer) that the 'jexl:print(...)'
* delegates the output generation to.
* </p>
+ * @since 2.1
*/
public final class Template {
/** The prefix marker. */
@@ -1193,6 +1195,7 @@ public final class UnifiedJEXL {
* The type of context to use during evaluation of templates.
* <p>This context exposes its writer as '$jexl' to the scripts.</p>
* <p>public for introspection purpose.</p>
+ * @since 2.1
*/
public final class TemplateContext implements JexlContext, NamespaceResolver {
/** The wrapped context. */
@@ -1354,6 +1357,7 @@ public final class UnifiedJEXL {
* @param prefix the directive prefix
* @param source the source reader
* @return the list of blocks
+ * @since 2.1
*/
protected List<TemplateBlock> readTemplate(final String prefix, Reader source)
{
try {
@@ -1424,6 +1428,7 @@ public final class UnifiedJEXL {
* @param source the source
* @param parms the parameter names
* @return the template
+ * @since 2.1
*/
public Template createTemplate(String prefix, Reader source, String... parms) {
return new Template(prefix, source, parms);
@@ -1434,6 +1439,7 @@ public final class UnifiedJEXL {
* @param source the source
* @param parms the parameter names
* @return the template
+ * @since 2.1
*/
public Template createTemplate(String source, String... parms) {
return new Template("$$", new StringReader(source), parms);
@@ -1443,6 +1449,7 @@ public final class UnifiedJEXL {
* Creates a new template.
* @param source the source
* @return the template
+ * @since 2.1
*/
public Template createTemplate(String source) {
return new Template("$$", new StringReader(source), (String[]) null);
Modified: commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/introspection/Sandbox.java
URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/introspection/Sandbox.java?rev=1207310&r1=1207309&r2=1207310&view=diff
==============================================================================
--- commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/introspection/Sandbox.java
(original)
+++ commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/introspection/Sandbox.java
Mon Nov 28 15:37:38 2011
@@ -53,7 +53,6 @@ import java.util.Set;
* <li><b>execute</b> controls executable methods and constructor</li>
* </ul>
* </p>
- *
* @since 2.1
*/
public final class Sandbox {
Modified: commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/introspection/SandboxUberspectImpl.java
URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/introspection/SandboxUberspectImpl.java?rev=1207310&r1=1207309&r2=1207310&view=diff
==============================================================================
--- commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/introspection/SandboxUberspectImpl.java
(original)
+++ commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/introspection/SandboxUberspectImpl.java
Mon Nov 28 15:37:38 2011
@@ -52,7 +52,7 @@ public class SandboxUberspectImpl extend
* {@inheritDoc}
*/
@Override
- public JexlMethod getConstructor(Object ctorHandle, Object[] args, JexlInfo info) {
+ public JexlMethod getConstructorMethod(Object ctorHandle, Object[] args, JexlInfo info)
{
final String className;
if (ctorHandle instanceof Class<?>) {
Class<?> clazz = (Class<?>) ctorHandle;
@@ -63,7 +63,7 @@ public class SandboxUberspectImpl extend
return null;
}
if (sandbox.execute(className, "") != null) {
- return super.getConstructor(className, args, info);
+ return super.getConstructorMethod(className, args, info);
}
return null;
}
Modified: commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/introspection/Uberspect.java
URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/introspection/Uberspect.java?rev=1207310&r1=1207309&r2=1207310&view=diff
==============================================================================
--- commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/introspection/Uberspect.java
(original)
+++ commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/introspection/Uberspect.java
Mon Nov 28 15:37:38 2011
@@ -17,6 +17,7 @@
package org.apache.commons.jexl2.introspection;
+import java.lang.reflect.Constructor;
import java.util.Iterator;
import org.apache.commons.jexl2.JexlInfo;
@@ -40,7 +41,19 @@ public interface Uberspect {
* @param info contextual information
* @return a {@link Constructor}
*/
- JexlMethod getConstructor(Object ctorHandle, Object[] args, JexlInfo info);
+ @Deprecated
+ Constructor<?> getConstructor(Object ctorHandle, Object[] args, JexlInfo info);
+
+ /**
+ * Returns a class constructor wrapped in a JexlMethod.
+ * @param ctorHandle a class or class name
+ * @param args constructor arguments
+ * @param info contextual information
+ * @return a {@link Constructor}
+ * @since 2.1
+ */
+ JexlMethod getConstructorMethod(Object ctorHandle, Object[] args, JexlInfo info);
+
/**
* Returns a JexlMethod.
* @param obj the object
Modified: commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/introspection/UberspectImpl.java
URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/introspection/UberspectImpl.java?rev=1207310&r1=1207309&r2=1207310&view=diff
==============================================================================
--- commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/introspection/UberspectImpl.java
(original)
+++ commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/introspection/UberspectImpl.java
Mon Nov 28 15:37:38 2011
@@ -110,7 +110,15 @@ public class UberspectImpl extends Intro
/**
* {@inheritDoc}
*/
- public JexlMethod getConstructor(Object ctorHandle, Object[] args, JexlInfo info) {
+ @Deprecated
+ public Constructor<?> getConstructor(Object ctorHandle, Object[] args, JexlInfo
info) {
+ return getConstructor(ctorHandle, args);
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public JexlMethod getConstructorMethod(Object ctorHandle, Object[] args, JexlInfo info)
{
final Constructor<?> ctor = getConstructor(ctorHandle, args);
if (ctor != null) {
return new ConstructorMethod(ctor);
@@ -191,6 +199,7 @@ public class UberspectImpl extends Intro
* Abstract an indexed property container.
* This stores the container name and owning class as well as the list of available getter
and setter methods.
* It implements JexlPropertyGet since such a container can only be accessed from its
owning instance (not set).
+ * @since 2.1
*/
private static final class IndexedType implements JexlPropertyGet {
/** The container name. */
@@ -305,6 +314,7 @@ public class UberspectImpl extends Intro
/**
* A generic indexed property container, exposes get(key) and set(key, value) and solves
method call dynamically
* based on arguments.
+ * @since 2.1
*/
public static final class IndexedContainer {
/** The instance owning the container. */
@@ -346,6 +356,7 @@ public class UberspectImpl extends Intro
/**
* A JexlMethod that wraps constructor.
+ * @since 2.1
*/
private final class ConstructorMethod implements JexlMethod {
/** The wrapped constructor. */
|