This is an automated email from the ASF dual-hosted git repository.
ggregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-ognl.git
The following commit(s) were added to refs/heads/master by this push:
new 3cb54b7 Javadoc: Empty Javadoc line before the 1st tag.
3cb54b7 is described below
commit 3cb54b771d96fc2b9f1678caa965001cf9bcb050
Author: Gary Gregory <[email protected]>
AuthorDate: Wed Dec 31 17:57:03 2025 -0500
Javadoc: Empty Javadoc line before the 1st tag.
---
src/main/java/org/apache/commons/ognl/ASTAnd.java | 484 +++++++++++----------
.../java/org/apache/commons/ognl/ASTConst.java | 341 +++++++--------
.../java/org/apache/commons/ognl/OgnlRuntime.java | 3 +
3 files changed, 417 insertions(+), 411 deletions(-)
diff --git a/src/main/java/org/apache/commons/ognl/ASTAnd.java
b/src/main/java/org/apache/commons/ognl/ASTAnd.java
index 4c26737..abad886 100644
--- a/src/main/java/org/apache/commons/ognl/ASTAnd.java
+++ b/src/main/java/org/apache/commons/ognl/ASTAnd.java
@@ -1,241 +1,243 @@
-package org.apache.commons.ognl;
-
-/*
- * 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.
- */
-
-import org.apache.commons.ognl.enhance.ExpressionCompiler;
-import org.apache.commons.ognl.enhance.UnsupportedCompilationException;
-
-import static java.lang.String.format;
-
-/**
- */
-public class ASTAnd
- extends BooleanExpression
-{
- /** Serial */
- private static final long serialVersionUID = -4585941425250141812L;
-
- /**
- * TODO: Javadoc
- * @param id the id
- */
- public ASTAnd( int id )
- {
- super( id );
- }
-
- /**
- * TODO: Javadoc
- * @param p the parser
- * @param id the id
- */
- public ASTAnd( OgnlParser p, int id )
- {
- super( p, id );
- }
-
- /* (non-Javadoc)
- * @see org.apache.commons.ognl.SimpleNode#jjtClose()
- */
- public void jjtClose()
- {
- flattenTree();
- }
-
- /* (non-Javadoc)
- * @see
org.apache.commons.ognl.SimpleNode#getValueBody(org.apache.commons.ognl.OgnlContext,
Object)
- */
- protected Object getValueBody( OgnlContext context, Object source )
- throws OgnlException
- {
- Object result = null;
- int last = children.length - 1;
- for ( int i = 0; i <= last; ++i )
- {
- result = children[i].getValue( context, source );
-
- if ( i != last && !OgnlOps.booleanValue( result ) )
- {
- break;
- }
- }
-
- return result;
- }
-
- /* (non-Javadoc)
- * @see
org.apache.commons.ognl.SimpleNode#setValueBody(org.apache.commons.ognl.OgnlContext,
Object, Object)
- */
- protected void setValueBody( OgnlContext context, Object target, Object
value )
- throws OgnlException
- {
- int last = children.length - 1;
-
- for ( int i = 0; i < last; ++i )
- {
- Object v = children[i].getValue( context, target );
-
- if ( !OgnlOps.booleanValue( v ) )
- {
- return;
- }
- }
-
- children[last].setValue( context, target, value );
- }
-
- /* (non-Javadoc)
- * @see org.apache.commons.ognl.ExpressionNode#getExpressionOperator(int)
- */
- public String getExpressionOperator( int index )
- {
- return "&&";
- }
-
- /* (non-Javadoc)
- * @see org.apache.commons.ognl.BooleanExpression#getGetterClass()
- */
- public Class getGetterClass()
- {
- return null;
- }
-
- /* (non-Javadoc)
- * @see
org.apache.commons.ognl.BooleanExpression#toGetSourceString(org.apache.commons.ognl.OgnlContext,
Object)
- */
- public String toGetSourceString( OgnlContext context, Object target )
- {
- if ( children.length != 2 )
- {
- throw new UnsupportedCompilationException(
- "Can only compile boolean expressions with two children." );
- }
-
- String result = "";
-
- try
- {
-
- String first = OgnlRuntime.getChildSource( context, target,
children[0] );
- if ( !OgnlOps.booleanValue( context.getCurrentObject() ) )
- {
- throw new UnsupportedCompilationException(
- "And expression can't be compiled until all conditions are
true." );
- }
-
- if ( !OgnlRuntime.isBoolean( first ) &&
!context.getCurrentType().isPrimitive() )
- {
- first = OgnlRuntime.getCompiler( context
).createLocalReference( context, first, context.getCurrentType() );
- }
-
- String second = OgnlRuntime.getChildSource( context, target,
children[1] );
- if ( !OgnlRuntime.isBoolean( second ) &&
!context.getCurrentType().isPrimitive() )
- {
- second = OgnlRuntime.getCompiler( context
).createLocalReference( context, second, context.getCurrentType() );
- }
-
- result += format(
"(org.apache.commons.ognl.OgnlOps.booleanValue(%s) ? ($w) (%s) : ($w) (%s))",
first, second, first );
-
- context.setCurrentObject( target );
- context.setCurrentType( Object.class );
- }
- catch ( NullPointerException e )
- {
-
- throw new UnsupportedCompilationException( "evaluation resulted in
null expression." );
- }
- catch ( Throwable t )
- {
- throw OgnlOps.castToRuntime( t );
- }
-
- return result;
- }
-
- /* (non-Javadoc)
- * @see
org.apache.commons.ognl.ExpressionNode#toSetSourceString(org.apache.commons.ognl.OgnlContext,
Object)
- */
- public String toSetSourceString( OgnlContext context, Object target )
- {
- if ( children.length != 2 )
- {
- throw new UnsupportedCompilationException( "Can only compile
boolean expressions with two children." );
- }
-
- String pre = (String) context.get( "_currentChain" );
- if ( pre == null )
- {
- pre = "";
- }
-
- String result = "";
-
- try
- {
-
- if ( !OgnlOps.booleanValue( children[0].getValue( context, target
) ) )
- {
- throw new UnsupportedCompilationException(
- "And expression can't be compiled until all conditions are
true." );
- }
-
- String first =
- ExpressionCompiler.getRootExpression( children[0],
context.getRoot(), context ) + pre
- + children[0].toGetSourceString( context, target );
-
- children[1].getValue( context, target );
-
- String second =
- ExpressionCompiler.getRootExpression( children[1],
context.getRoot(), context ) + pre
- + children[1].toSetSourceString( context, target );
-
- if ( !OgnlRuntime.isBoolean( first ) )
- {
- result += "if(org.apache.commons.ognl.OgnlOps.booleanValue(" +
first + ")){";
- }
- else
- {
- result += "if(" + first + "){";
- }
-
- result += second;
- result += "; } ";
-
- context.setCurrentObject( target );
- context.setCurrentType( Object.class );
-
- }
- catch ( Throwable t )
- {
- throw OgnlOps.castToRuntime( t );
- }
-
- return result;
- }
-
- /* (non-Javadoc)
- * @see
org.apache.commons.ognl.Node#accept(org.apache.commons.ognl.NodeVisitor, Object)
- */
- public <R, P> R accept( NodeVisitor<? extends R, ? super P> visitor, P
data )
- throws OgnlException
- {
- return visitor.visit( this, data );
- }
-}
+package org.apache.commons.ognl;
+
+/*
+ * 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.
+ */
+
+import org.apache.commons.ognl.enhance.ExpressionCompiler;
+import org.apache.commons.ognl.enhance.UnsupportedCompilationException;
+
+import static java.lang.String.format;
+
+/**
+ */
+public class ASTAnd
+ extends BooleanExpression
+{
+ /** Serial */
+ private static final long serialVersionUID = -4585941425250141812L;
+
+ /**
+ * TODO: Javadoc
+ *
+ * @param id the id
+ */
+ public ASTAnd( int id )
+ {
+ super( id );
+ }
+
+ /**
+ * TODO: Javadoc
+ *
+ * @param p the parser
+ * @param id the id
+ */
+ public ASTAnd( OgnlParser p, int id )
+ {
+ super( p, id );
+ }
+
+ /* (non-Javadoc)
+ * @see org.apache.commons.ognl.SimpleNode#jjtClose()
+ */
+ public void jjtClose()
+ {
+ flattenTree();
+ }
+
+ /* (non-Javadoc)
+ * @see
org.apache.commons.ognl.SimpleNode#getValueBody(org.apache.commons.ognl.OgnlContext,
Object)
+ */
+ protected Object getValueBody( OgnlContext context, Object source )
+ throws OgnlException
+ {
+ Object result = null;
+ int last = children.length - 1;
+ for ( int i = 0; i <= last; ++i )
+ {
+ result = children[i].getValue( context, source );
+
+ if ( i != last && !OgnlOps.booleanValue( result ) )
+ {
+ break;
+ }
+ }
+
+ return result;
+ }
+
+ /* (non-Javadoc)
+ * @see
org.apache.commons.ognl.SimpleNode#setValueBody(org.apache.commons.ognl.OgnlContext,
Object, Object)
+ */
+ protected void setValueBody( OgnlContext context, Object target, Object
value )
+ throws OgnlException
+ {
+ int last = children.length - 1;
+
+ for ( int i = 0; i < last; ++i )
+ {
+ Object v = children[i].getValue( context, target );
+
+ if ( !OgnlOps.booleanValue( v ) )
+ {
+ return;
+ }
+ }
+
+ children[last].setValue( context, target, value );
+ }
+
+ /* (non-Javadoc)
+ * @see org.apache.commons.ognl.ExpressionNode#getExpressionOperator(int)
+ */
+ public String getExpressionOperator( int index )
+ {
+ return "&&";
+ }
+
+ /* (non-Javadoc)
+ * @see org.apache.commons.ognl.BooleanExpression#getGetterClass()
+ */
+ public Class getGetterClass()
+ {
+ return null;
+ }
+
+ /* (non-Javadoc)
+ * @see
org.apache.commons.ognl.BooleanExpression#toGetSourceString(org.apache.commons.ognl.OgnlContext,
Object)
+ */
+ public String toGetSourceString( OgnlContext context, Object target )
+ {
+ if ( children.length != 2 )
+ {
+ throw new UnsupportedCompilationException(
+ "Can only compile boolean expressions with two children." );
+ }
+
+ String result = "";
+
+ try
+ {
+
+ String first = OgnlRuntime.getChildSource( context, target,
children[0] );
+ if ( !OgnlOps.booleanValue( context.getCurrentObject() ) )
+ {
+ throw new UnsupportedCompilationException(
+ "And expression can't be compiled until all conditions are
true." );
+ }
+
+ if ( !OgnlRuntime.isBoolean( first ) &&
!context.getCurrentType().isPrimitive() )
+ {
+ first = OgnlRuntime.getCompiler( context
).createLocalReference( context, first, context.getCurrentType() );
+ }
+
+ String second = OgnlRuntime.getChildSource( context, target,
children[1] );
+ if ( !OgnlRuntime.isBoolean( second ) &&
!context.getCurrentType().isPrimitive() )
+ {
+ second = OgnlRuntime.getCompiler( context
).createLocalReference( context, second, context.getCurrentType() );
+ }
+
+ result += format(
"(org.apache.commons.ognl.OgnlOps.booleanValue(%s) ? ($w) (%s) : ($w) (%s))",
first, second, first );
+
+ context.setCurrentObject( target );
+ context.setCurrentType( Object.class );
+ }
+ catch ( NullPointerException e )
+ {
+
+ throw new UnsupportedCompilationException( "evaluation resulted in
null expression." );
+ }
+ catch ( Throwable t )
+ {
+ throw OgnlOps.castToRuntime( t );
+ }
+
+ return result;
+ }
+
+ /* (non-Javadoc)
+ * @see
org.apache.commons.ognl.ExpressionNode#toSetSourceString(org.apache.commons.ognl.OgnlContext,
Object)
+ */
+ public String toSetSourceString( OgnlContext context, Object target )
+ {
+ if ( children.length != 2 )
+ {
+ throw new UnsupportedCompilationException( "Can only compile
boolean expressions with two children." );
+ }
+
+ String pre = (String) context.get( "_currentChain" );
+ if ( pre == null )
+ {
+ pre = "";
+ }
+
+ String result = "";
+
+ try
+ {
+
+ if ( !OgnlOps.booleanValue( children[0].getValue( context, target
) ) )
+ {
+ throw new UnsupportedCompilationException(
+ "And expression can't be compiled until all conditions are
true." );
+ }
+
+ String first =
+ ExpressionCompiler.getRootExpression( children[0],
context.getRoot(), context ) + pre
+ + children[0].toGetSourceString( context, target );
+
+ children[1].getValue( context, target );
+
+ String second =
+ ExpressionCompiler.getRootExpression( children[1],
context.getRoot(), context ) + pre
+ + children[1].toSetSourceString( context, target );
+
+ if ( !OgnlRuntime.isBoolean( first ) )
+ {
+ result += "if(org.apache.commons.ognl.OgnlOps.booleanValue(" +
first + ")){";
+ }
+ else
+ {
+ result += "if(" + first + "){";
+ }
+
+ result += second;
+ result += "; } ";
+
+ context.setCurrentObject( target );
+ context.setCurrentType( Object.class );
+
+ }
+ catch ( Throwable t )
+ {
+ throw OgnlOps.castToRuntime( t );
+ }
+
+ return result;
+ }
+
+ /* (non-Javadoc)
+ * @see
org.apache.commons.ognl.Node#accept(org.apache.commons.ognl.NodeVisitor, Object)
+ */
+ public <R, P> R accept( NodeVisitor<? extends R, ? super P> visitor, P
data )
+ throws OgnlException
+ {
+ return visitor.visit( this, data );
+ }
+}
diff --git a/src/main/java/org/apache/commons/ognl/ASTConst.java
b/src/main/java/org/apache/commons/ognl/ASTConst.java
index 590208a..0524f24 100644
--- a/src/main/java/org/apache/commons/ognl/ASTConst.java
+++ b/src/main/java/org/apache/commons/ognl/ASTConst.java
@@ -1,170 +1,171 @@
-package org.apache.commons.ognl;
-
-/*
- * 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.
- */
-
-import org.apache.commons.ognl.enhance.UnsupportedCompilationException;
-
-/**
- */
-public class ASTConst
- extends SimpleNode
- implements NodeType
-{
-
- private Object value;
-
- private Class getterClass;
-
- public ASTConst( int id )
- {
- super( id );
- }
-
- public ASTConst( OgnlParser p, int id )
- {
- super( p, id );
- }
-
- /**
- * Called from parser actions.
- * @param value the value to set
- */
- public void setValue( Object value )
- {
- this.value = value;
- }
-
- public Object getValue()
- {
- return value;
- }
-
- protected Object getValueBody( OgnlContext context, Object source )
- throws OgnlException
- {
- return this.value;
- }
-
- public boolean isNodeConstant( OgnlContext context )
- throws OgnlException
- {
- return true;
- }
-
- public Class getGetterClass()
- {
- return getterClass;
- }
-
- public Class getSetterClass()
- {
- return null;
- }
-
- public String toGetSourceString( OgnlContext context, Object target )
- {
- if ( value == null && parent != null && parent instanceof
ExpressionNode)
- {
- context.setCurrentType( null );
- return "null";
- }
- if ( value == null )
- {
- context.setCurrentType( null );
- return "";
- }
-
- getterClass = value.getClass();
-
- Object retval = value;
- if ( parent != null && parent instanceof ASTProperty)
- {
- context.setCurrentObject( value );
-
- return value.toString();
- }
- if ( value != null && Number.class.isAssignableFrom( value.getClass()
) )
- {
- context.setCurrentType( OgnlRuntime.getPrimitiveWrapperClass(
value.getClass() ) );
- context.setCurrentObject( value );
-
- return value.toString();
- }
- if ( !( parent != null
- && value != null
- && NumericExpression.class.isAssignableFrom(
parent.getClass() ) )
- && String.class.isAssignableFrom( value.getClass() ) )
- {
- context.setCurrentType( String.class );
-
- retval = '\"' + OgnlOps.getEscapeString( value.toString() ) + '\"';
-
- context.setCurrentObject( retval.toString() );
-
- return retval.toString();
- }
- if (value instanceof Character)
- {
- Character val = (Character) value;
-
- context.setCurrentType( Character.class );
-
- if ( Character.isLetterOrDigit( val.charValue() ) )
- {
- retval = "'" + ( (Character) value ).charValue() + "'";
- }
- else
- {
- retval = "'" + OgnlOps.getEscapedChar( ( (Character) value
).charValue() ) + "'";
- }
-
- context.setCurrentObject( retval );
- return retval.toString();
- }
-
- if ( Boolean.class.isAssignableFrom( value.getClass() ) )
- {
- getterClass = Boolean.TYPE;
-
- context.setCurrentType( Boolean.TYPE );
- context.setCurrentObject( value );
-
- return value.toString();
- }
-
- return value.toString();
- }
-
- public String toSetSourceString( OgnlContext context, Object target )
- {
- if ( parent == null )
- {
- throw new UnsupportedCompilationException( "Can't modify constant
values." );
- }
-
- return toGetSourceString( context, target );
- }
-
- public <R, P> R accept( NodeVisitor<? extends R, ? super P> visitor, P
data )
- throws OgnlException
- {
- return visitor.visit( this, data );
- }
-}
+package org.apache.commons.ognl;
+
+/*
+ * 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.
+ */
+
+import org.apache.commons.ognl.enhance.UnsupportedCompilationException;
+
+/**
+ */
+public class ASTConst
+ extends SimpleNode
+ implements NodeType
+{
+
+ private Object value;
+
+ private Class getterClass;
+
+ public ASTConst( int id )
+ {
+ super( id );
+ }
+
+ public ASTConst( OgnlParser p, int id )
+ {
+ super( p, id );
+ }
+
+ /**
+ * Called from parser actions.
+ *
+ * @param value the value to set
+ */
+ public void setValue( Object value )
+ {
+ this.value = value;
+ }
+
+ public Object getValue()
+ {
+ return value;
+ }
+
+ protected Object getValueBody( OgnlContext context, Object source )
+ throws OgnlException
+ {
+ return this.value;
+ }
+
+ public boolean isNodeConstant( OgnlContext context )
+ throws OgnlException
+ {
+ return true;
+ }
+
+ public Class getGetterClass()
+ {
+ return getterClass;
+ }
+
+ public Class getSetterClass()
+ {
+ return null;
+ }
+
+ public String toGetSourceString( OgnlContext context, Object target )
+ {
+ if ( value == null && parent != null && parent instanceof
ExpressionNode)
+ {
+ context.setCurrentType( null );
+ return "null";
+ }
+ if ( value == null )
+ {
+ context.setCurrentType( null );
+ return "";
+ }
+
+ getterClass = value.getClass();
+
+ Object retval = value;
+ if ( parent != null && parent instanceof ASTProperty)
+ {
+ context.setCurrentObject( value );
+
+ return value.toString();
+ }
+ if ( value != null && Number.class.isAssignableFrom( value.getClass()
) )
+ {
+ context.setCurrentType( OgnlRuntime.getPrimitiveWrapperClass(
value.getClass() ) );
+ context.setCurrentObject( value );
+
+ return value.toString();
+ }
+ if ( !( parent != null
+ && value != null
+ && NumericExpression.class.isAssignableFrom(
parent.getClass() ) )
+ && String.class.isAssignableFrom( value.getClass() ) )
+ {
+ context.setCurrentType( String.class );
+
+ retval = '\"' + OgnlOps.getEscapeString( value.toString() ) + '\"';
+
+ context.setCurrentObject( retval.toString() );
+
+ return retval.toString();
+ }
+ if (value instanceof Character)
+ {
+ Character val = (Character) value;
+
+ context.setCurrentType( Character.class );
+
+ if ( Character.isLetterOrDigit( val.charValue() ) )
+ {
+ retval = "'" + ( (Character) value ).charValue() + "'";
+ }
+ else
+ {
+ retval = "'" + OgnlOps.getEscapedChar( ( (Character) value
).charValue() ) + "'";
+ }
+
+ context.setCurrentObject( retval );
+ return retval.toString();
+ }
+
+ if ( Boolean.class.isAssignableFrom( value.getClass() ) )
+ {
+ getterClass = Boolean.TYPE;
+
+ context.setCurrentType( Boolean.TYPE );
+ context.setCurrentObject( value );
+
+ return value.toString();
+ }
+
+ return value.toString();
+ }
+
+ public String toSetSourceString( OgnlContext context, Object target )
+ {
+ if ( parent == null )
+ {
+ throw new UnsupportedCompilationException( "Can't modify constant
values." );
+ }
+
+ return toGetSourceString( context, target );
+ }
+
+ public <R, P> R accept( NodeVisitor<? extends R, ? super P> visitor, P
data )
+ throws OgnlException
+ {
+ return visitor.visit( this, data );
+ }
+}
diff --git a/src/main/java/org/apache/commons/ognl/OgnlRuntime.java
b/src/main/java/org/apache/commons/ognl/OgnlRuntime.java
index 8cc9174..5e1a166 100644
--- a/src/main/java/org/apache/commons/ognl/OgnlRuntime.java
+++ b/src/main/java/org/apache/commons/ognl/OgnlRuntime.java
@@ -404,6 +404,7 @@ public class OgnlRuntime
/**
* Returns the parameter types of the given method.
+ *
* @param constructor
* @return
* @throws org.apache.commons.ognl.internal.CacheException
@@ -437,6 +438,7 @@ public class OgnlRuntime
/**
* Permission will be named "invoke.declaring-class.method-name".
+ *
* @param method
* @return
* @throws org.apache.commons.ognl.internal.CacheException
@@ -1430,6 +1432,7 @@ public class OgnlRuntime
/**
* This method returns a PropertyDescriptor for the given class and
property name using a Map lookup (using
* getPropertyDescriptorsMap()).
+ *
* @param targetClass a target class.
* @param propertyName a property name.
* @return the PropertyDescriptor for the given targetClass and
propertyName.