Showing preview only (1,827K chars total). Download the full file or copy to clipboard to get everything.
Repository: jkuhnert/ognl
Branch: main
Commit: 46795d170421
Files: 336
Total size: 1.7 MB
Directory structure:
gitextract_sc8f7uqk/
├── .claude/
│ └── settings.json
├── .github/
│ ├── FUNDING.yml
│ └── workflows/
│ ├── maven.yml
│ ├── ognl-3-4-x.yml
│ ├── performance-baseline.yml
│ ├── performance.yml
│ └── sonar.yml
├── .gitignore
├── .mvn/
│ └── wrapper/
│ ├── MavenWrapperDownloader.java
│ └── maven-wrapper.properties
├── CLAUDE.md
├── KEYS
├── LICENSE.txt
├── README.md
├── SECURITY.md
├── benchmarks/
│ ├── etc/
│ │ └── ognl-runtime-benchmark-baseline.json
│ ├── pom.xml
│ └── src/
│ └── main/
│ └── java/
│ └── ognl/
│ ├── DefaultMemberAccess.java
│ ├── Run.java
│ └── benchmarks/
│ ├── OgnlPerformanceBenchmarks.java
│ └── OgnlRuntimePerformanceBenchmarks.java
├── docs/
│ ├── DeveloperGuide.md
│ ├── ISSUE_103_ANALYSIS.md
│ ├── LanguageGuide.md
│ ├── NullSafeOperator.md
│ ├── VersionNotes.md
│ └── plans/
│ ├── ISSUE_18_COMPILED_MODE_PARITY.md
│ └── JDK25_FORWARD_COMPATIBILITY.md
├── mvnw
├── mvnw.cmd
├── ognl/
│ ├── pom.xml
│ └── src/
│ ├── main/
│ │ ├── java/
│ │ │ └── ognl/
│ │ │ ├── ASTAdd.java
│ │ │ ├── ASTAnd.java
│ │ │ ├── ASTAssign.java
│ │ │ ├── ASTBitAnd.java
│ │ │ ├── ASTBitNegate.java
│ │ │ ├── ASTBitOr.java
│ │ │ ├── ASTChain.java
│ │ │ ├── ASTConst.java
│ │ │ ├── ASTCtor.java
│ │ │ ├── ASTDivide.java
│ │ │ ├── ASTEq.java
│ │ │ ├── ASTEval.java
│ │ │ ├── ASTGreater.java
│ │ │ ├── ASTGreaterEq.java
│ │ │ ├── ASTIn.java
│ │ │ ├── ASTInstanceof.java
│ │ │ ├── ASTKeyValue.java
│ │ │ ├── ASTLess.java
│ │ │ ├── ASTLessEq.java
│ │ │ ├── ASTList.java
│ │ │ ├── ASTMap.java
│ │ │ ├── ASTMethod.java
│ │ │ ├── ASTMultiply.java
│ │ │ ├── ASTNegate.java
│ │ │ ├── ASTNot.java
│ │ │ ├── ASTNotEq.java
│ │ │ ├── ASTNotIn.java
│ │ │ ├── ASTOr.java
│ │ │ ├── ASTProject.java
│ │ │ ├── ASTProperty.java
│ │ │ ├── ASTRemainder.java
│ │ │ ├── ASTRootVarRef.java
│ │ │ ├── ASTSelect.java
│ │ │ ├── ASTSelectFirst.java
│ │ │ ├── ASTSelectLast.java
│ │ │ ├── ASTSequence.java
│ │ │ ├── ASTShiftLeft.java
│ │ │ ├── ASTShiftRight.java
│ │ │ ├── ASTStaticField.java
│ │ │ ├── ASTStaticMethod.java
│ │ │ ├── ASTSubtract.java
│ │ │ ├── ASTTest.java
│ │ │ ├── ASTThisVarRef.java
│ │ │ ├── ASTUnsignedShiftRight.java
│ │ │ ├── ASTVarRef.java
│ │ │ ├── ASTXor.java
│ │ │ ├── AbstractMemberAccess.java
│ │ │ ├── AccessibleObjectHandler.java
│ │ │ ├── ArrayElementsAccessor.java
│ │ │ ├── ArrayPropertyAccessor.java
│ │ │ ├── BooleanExpression.java
│ │ │ ├── ClassCacheInspector.java
│ │ │ ├── ClassResolver.java
│ │ │ ├── CollectionElementsAccessor.java
│ │ │ ├── ComparisonExpression.java
│ │ │ ├── DefaultClassResolver.java
│ │ │ ├── DefaultTypeConverter.java
│ │ │ ├── DynamicSubscript.java
│ │ │ ├── ElementsAccessor.java
│ │ │ ├── EnumerationElementsAccessor.java
│ │ │ ├── EnumerationIterator.java
│ │ │ ├── EnumerationPropertyAccessor.java
│ │ │ ├── Evaluation.java
│ │ │ ├── EvaluationPool.java
│ │ │ ├── ExpressionNode.java
│ │ │ ├── ExpressionSyntaxException.java
│ │ │ ├── InappropriateExpressionException.java
│ │ │ ├── IteratorElementsAccessor.java
│ │ │ ├── IteratorEnumeration.java
│ │ │ ├── IteratorPropertyAccessor.java
│ │ │ ├── JJTOgnlParserState.java
│ │ │ ├── JavaSource.java
│ │ │ ├── ListPropertyAccessor.java
│ │ │ ├── MapElementsAccessor.java
│ │ │ ├── MapPropertyAccessor.java
│ │ │ ├── MemberAccess.java
│ │ │ ├── MethodAccessor.java
│ │ │ ├── MethodFailedException.java
│ │ │ ├── NoSuchPropertyException.java
│ │ │ ├── Node.java
│ │ │ ├── NodeType.java
│ │ │ ├── NullHandler.java
│ │ │ ├── NumberElementsAccessor.java
│ │ │ ├── NumericCasts.java
│ │ │ ├── NumericDefaults.java
│ │ │ ├── NumericExpression.java
│ │ │ ├── NumericLiterals.java
│ │ │ ├── NumericTypes.java
│ │ │ ├── NumericValues.java
│ │ │ ├── ObjectElementsAccessor.java
│ │ │ ├── ObjectIndexedPropertyDescriptor.java
│ │ │ ├── ObjectMethodAccessor.java
│ │ │ ├── ObjectNullHandler.java
│ │ │ ├── ObjectPropertyAccessor.java
│ │ │ ├── Ognl.java
│ │ │ ├── OgnlCache.java
│ │ │ ├── OgnlContext.java
│ │ │ ├── OgnlException.java
│ │ │ ├── OgnlOps.java
│ │ │ ├── OgnlParserTreeConstants.java
│ │ │ ├── OgnlRuntime.java
│ │ │ ├── PrimitiveDefaults.java
│ │ │ ├── PrimitiveTypes.java
│ │ │ ├── PrimitiveWrapperClasses.java
│ │ │ ├── PropertyAccessor.java
│ │ │ ├── SetPropertyAccessor.java
│ │ │ ├── SimpleNode.java
│ │ │ ├── TypeConverter.java
│ │ │ ├── enhance/
│ │ │ │ ├── ContextClassLoader.java
│ │ │ │ ├── EnhancedClassLoader.java
│ │ │ │ ├── ExpressionAccessor.java
│ │ │ │ ├── ExpressionCompiler.java
│ │ │ │ ├── LocalReference.java
│ │ │ │ ├── OgnlExpressionCompiler.java
│ │ │ │ ├── OgnlLocalReference.java
│ │ │ │ ├── OrderedReturn.java
│ │ │ │ └── UnsupportedCompilationException.java
│ │ │ ├── internal/
│ │ │ │ ├── Cache.java
│ │ │ │ ├── CacheException.java
│ │ │ │ ├── CacheFactory.java
│ │ │ │ ├── ClassCache.java
│ │ │ │ ├── ClassCacheHandler.java
│ │ │ │ ├── HashMapCache.java
│ │ │ │ ├── HashMapCacheFactory.java
│ │ │ │ ├── HashMapClassCache.java
│ │ │ │ └── entry/
│ │ │ │ ├── CacheEntry.java
│ │ │ │ ├── CacheEntryFactory.java
│ │ │ │ ├── ClassCacheEntryFactory.java
│ │ │ │ ├── DeclaredMethodCacheEntry.java
│ │ │ │ ├── DeclaredMethodCacheEntryFactory.java
│ │ │ │ ├── FieldCacheEntryFactory.java
│ │ │ │ ├── GenericMethodParameterTypeCacheEntry.java
│ │ │ │ ├── GenericMethodParameterTypeFactory.java
│ │ │ │ ├── MethodAccessCacheEntryFactory.java
│ │ │ │ ├── MethodAccessEntryValue.java
│ │ │ │ ├── MethodCacheEntry.java
│ │ │ │ ├── MethodCacheEntryFactory.java
│ │ │ │ └── PropertyDescriptorCacheEntryFactory.java
│ │ │ └── package.html
│ │ ├── javacc/
│ │ │ └── ognl.jj
│ │ └── jjtree/
│ │ └── ognl.jjt
│ └── test/
│ └── java/
│ ├── ClassInDefaultPackage.java
│ ├── com/
│ │ └── sun/
│ │ └── test/
│ │ └── AnotherInternalClass.java
│ ├── ognl/
│ │ ├── DefaultMemberAccess.java
│ │ ├── ExcludedObjectMemberAccess.java
│ │ ├── ObjectPropertyAccessorTest.java
│ │ ├── OgnlContextTest.java
│ │ ├── OgnlRuntimeAccessibilityTest.java
│ │ ├── OgnlRuntimeMethodsTest.java
│ │ ├── OgnlRuntimeTest.java
│ │ └── test/
│ │ ├── ASTChainTest.java
│ │ ├── ASTMethodTest.java
│ │ ├── ASTPropertyTest.java
│ │ ├── ASTSequenceTest.java
│ │ ├── ArithmeticAndLogicalOperatorsOnEnumsTest.java
│ │ ├── ArithmeticAndLogicalOperatorsTest.java
│ │ ├── ArrayCreationTest.java
│ │ ├── ArrayElementsTest.java
│ │ ├── ChainTest.java
│ │ ├── ClassMethodTest.java
│ │ ├── CollectionDirectPropertyTest.java
│ │ ├── CompilingPropertyAccessor.java
│ │ ├── ConstantTest.java
│ │ ├── ConstantTreeTest.java
│ │ ├── ContextRootPreservationTest.java
│ │ ├── ContextVariableTest.java
│ │ ├── CorrectedObjectNullHandler.java
│ │ ├── DefaultClassResolverTest.java
│ │ ├── DualModeEvaluationTest.java
│ │ ├── GenericsTest.java
│ │ ├── InExpressionTest.java
│ │ ├── IndexAccessTest.java
│ │ ├── IndexedPropertyTest.java
│ │ ├── InheritedMethodsTest.java
│ │ ├── InterfaceInheritanceTest.java
│ │ ├── IsTruckTest.java
│ │ ├── Issue286Test.java
│ │ ├── Issue472CustomMethodAccessorTest.java
│ │ ├── Java8Test.java
│ │ ├── LambdaExpressionTest.java
│ │ ├── MapCreationTest.java
│ │ ├── MemberAccessTest.java
│ │ ├── MethodTest.java
│ │ ├── MethodWithConversionTest.java
│ │ ├── NestedMethodTest.java
│ │ ├── NullHandlerTest.java
│ │ ├── NullRootTest.java
│ │ ├── NullSafeCollectionTest.java
│ │ ├── NullSafeCompilationTest.java
│ │ ├── NullSafeIntegrationTest.java
│ │ ├── NullSafeOperatorTest.java
│ │ ├── NullStringCatenationTest.java
│ │ ├── NumberFormatExceptionTest.java
│ │ ├── NumericConversionTest.java
│ │ ├── ObjectIndexedPropertyTest.java
│ │ ├── ObjectIndexedTest.java
│ │ ├── OgnlContextCreateTest.java
│ │ ├── OgnlExceptionTest.java
│ │ ├── OgnlOpsTest.java
│ │ ├── OperationTest.java
│ │ ├── OperatorTest.java
│ │ ├── PackageKeywordTest.java
│ │ ├── PrimitiveArrayTest.java
│ │ ├── PrimitiveNullHandlingTest.java
│ │ ├── PrivateAccessorTest.java
│ │ ├── PrivateMemberTest.java
│ │ ├── ProjectionSelectionTest.java
│ │ ├── PropertyAccessorTest.java
│ │ ├── PropertyArithmeticAndLogicalOperatorsTest.java
│ │ ├── PropertySetterTest.java
│ │ ├── PropertyTest.java
│ │ ├── ProtectedInnerClassTest.java
│ │ ├── ProtectedMemberTest.java
│ │ ├── PublicMemberTest.java
│ │ ├── QuotingTest.java
│ │ ├── RaceConditionTest.java
│ │ ├── SetterTest.java
│ │ ├── SetterWithConversionTest.java
│ │ ├── ShortCircuitingExpressionTest.java
│ │ ├── SimpleNavigationChainTreeTest.java
│ │ ├── SimplePropertyTreeTest.java
│ │ ├── StaticsAndConstructorsTest.java
│ │ ├── VarArgsMethodTest.java
│ │ ├── accessors/
│ │ │ ├── ListPropertyAccessorTest.java
│ │ │ └── PropertyAccessTest.java
│ │ ├── enhance/
│ │ │ └── ExpressionCompilerTest.java
│ │ ├── objects/
│ │ │ ├── BaseBean.java
│ │ │ ├── BaseGeneric.java
│ │ │ ├── BaseIndexed.java
│ │ │ ├── BaseObjectIndexed.java
│ │ │ ├── BaseSyntheticObject.java
│ │ │ ├── Bean1.java
│ │ │ ├── Bean2.java
│ │ │ ├── Bean3.java
│ │ │ ├── BeanProvider.java
│ │ │ ├── BeanProviderAccessor.java
│ │ │ ├── BeanProviderImpl.java
│ │ │ ├── Component.java
│ │ │ ├── ComponentImpl.java
│ │ │ ├── ComponentSubclass.java
│ │ │ ├── Copy.java
│ │ │ ├── CorrectedObject.java
│ │ │ ├── Cracker.java
│ │ │ ├── Entry.java
│ │ │ ├── EvenOdd.java
│ │ │ ├── FirstBean.java
│ │ │ ├── FormComponentImpl.java
│ │ │ ├── FormImpl.java
│ │ │ ├── GameGeneric.java
│ │ │ ├── GameGenericObject.java
│ │ │ ├── GenericCracker.java
│ │ │ ├── GenericObject.java
│ │ │ ├── GenericRoot.java
│ │ │ ├── GenericService.java
│ │ │ ├── GenericServiceImpl.java
│ │ │ ├── GetterMethods.java
│ │ │ ├── IComponent.java
│ │ │ ├── IContentProvider.java
│ │ │ ├── IForm.java
│ │ │ ├── IFormComponent.java
│ │ │ ├── ITreeContentProvider.java
│ │ │ ├── Indexed.java
│ │ │ ├── IndexedMapObject.java
│ │ │ ├── IndexedSetObject.java
│ │ │ ├── Inherited.java
│ │ │ ├── ListSource.java
│ │ │ ├── ListSourceImpl.java
│ │ │ ├── MenuItem.java
│ │ │ ├── Messages.java
│ │ │ ├── MethodTestMethods.java
│ │ │ ├── Model.java
│ │ │ ├── MyMap.java
│ │ │ ├── MyMapImpl.java
│ │ │ ├── ObjectIndexed.java
│ │ │ ├── OtherEnum.java
│ │ │ ├── OtherObjectIndexed.java
│ │ │ ├── PersonGenericObject.java
│ │ │ ├── PropertyHolder.java
│ │ │ ├── Root.java
│ │ │ ├── SearchCriteria.java
│ │ │ ├── SearchTab.java
│ │ │ ├── SecondBean.java
│ │ │ ├── SetterReturns.java
│ │ │ ├── Simple.java
│ │ │ ├── SimpleEnum.java
│ │ │ ├── SimpleNumeric.java
│ │ │ ├── StaticInterface.java
│ │ │ ├── SubclassSyntheticObject.java
│ │ │ ├── TestClass.java
│ │ │ ├── TestImpl.java
│ │ │ ├── TestInherited1.java
│ │ │ ├── TestInherited2.java
│ │ │ ├── TestModel.java
│ │ │ ├── TreeContentProvider.java
│ │ │ └── Two.java
│ │ ├── race/
│ │ │ ├── Base.java
│ │ │ ├── Person.java
│ │ │ └── RaceTest.java
│ │ └── util/
│ │ ├── ContextClassLoader.java
│ │ ├── EnhancedClassLoader.java
│ │ └── NameFactory.java
│ └── sun/
│ └── test/
│ ├── PublicTestInterface.java
│ └── SimulatedInternalClass.java
├── pom.xml
└── renovate.json
================================================
FILE CONTENTS
================================================
================================================
FILE: .claude/settings.json
================================================
{
"permissions": {
"allow": [
"WebSearch",
"WebFetch(domain:github.com)",
"WebFetch(domain:raw.githubusercontent.com)",
"Bash(mvn help:*)",
"Bash(mvn test:*)",
"Bash(git branch:*)",
"Bash(git add:*)",
"Bash(git commit:*)",
"Bash(git push:*)",
"Bash(git checkout:*)",
"Bash(git reset:*)",
"Bash(gh pr view:*)",
"Bash(gh pr diff:*)",
"Bash(gh pr create:*)",
"mcp__jetbrains"
],
"deny": []
}
}
================================================
FILE: .github/FUNDING.yml
================================================
# These are supported funding model platforms
github: [lukaszlenart] # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
patreon: # Replace with a single Patreon username
open_collective: # Replace with a single Open Collective username
ko_fi: # Replace with a single Ko-fi username
tidelift: "maven/ognl:ognl" # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
liberapay: # Replace with a single Liberapay username
issuehunt: # Replace with a single IssueHunt username
otechie: # Replace with a single Otechie username
lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry
custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
================================================
FILE: .github/workflows/maven.yml
================================================
# 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.
name: Java CI - main
on:
pull_request:
push:
branches:
- main
permissions: read-all
env:
MAVEN_OPTS: -Xmx2g -Xms1g
LANG: en_US.utf8
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
java: [ '17', '21', '25' ]
steps:
- name: Checkout code
uses: actions/checkout@v6.0.2
- name: Set up JDK ${{ matrix.java }}
uses: actions/setup-java@v5
with:
distribution: temurin
java-version: ${{ matrix.java }}
cache: maven
- name: Build with Maven on Java ${{ matrix.java }}
run: ./mvnw -B package -DskipTests
- name: Test with Maven on Java ${{ matrix.java }}
run: ./mvnw -B verify
- name: Check if SNAPSHOT version
id: is-snapshot
if: matrix.java == '17' && github.ref == 'refs/heads/main'
run: |
VERSION=$(./mvnw help:evaluate -Dexpression=project.version -q -DforceStdout)
if [[ "$VERSION" == *-SNAPSHOT ]]; then
echo "is_snapshot=true" >> $GITHUB_OUTPUT
else
echo "is_snapshot=false" >> $GITHUB_OUTPUT
fi
- name: Deploy SNAPSHOT
if: matrix.java == '17' && github.ref == 'refs/heads/main' && steps.is-snapshot.outputs.is_snapshot == 'true'
run: |
echo "${{ secrets.MAVEN_SETTINGS }}" > ~/.m2/settings-ognl.xml
./mvnw -B -DskipTests=true deploy -s ~/.m2/settings-ognl.xml
================================================
FILE: .github/workflows/ognl-3-4-x.yml
================================================
# 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.
name: Java CI - ognl-3-4-x
on:
push:
branches:
- ognl-3-4-x
permissions: read-all
env:
MAVEN_OPTS: -Xmx2g -Xms1g
LANG: en_US.utf8
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v6.0.2
- name: Set up JDK 8
uses: actions/setup-java@v5
with:
distribution: temurin
java-version: 8
cache: maven
- name: Build with Maven on Java 9
run: ./mvnw -B package -DskipTests
- name: Test with Maven on Java 8
run: ./mvnw -B verify
- name: Deploy SNAPSHOT
run: |
echo "${{ secrets.MAVEN_SETTINGS }}" > ~/.m2/settings-ognl.xml
./mvnw -B -DskipTests=true deploy -s ~/.m2/settings-ognl.xml
================================================
FILE: .github/workflows/performance-baseline.yml
================================================
# 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.
name: JMH Baseline Generation
on:
workflow_dispatch:
permissions:
contents: read
env:
MAVEN_OPTS: -Xmx2g -Xms1g
LANG: en_US.utf8
jobs:
generate-baseline:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v6.0.2
- name: Set up cache
uses: actions/cache@v5.0.5
with:
path: ~/.m2/repository
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
restore-keys: |
${{ runner.os }}-maven-
- name: Set up JDK 17
uses: actions/setup-java@v5
with:
distribution: temurin
java-version: 17
- name: Build with Maven
run: ./mvnw -B package -DskipTests
- name: Run benchmarks (10 forks for baseline)
env:
OPTIONS: generateBaseline
run: ./mvnw -B verify -Pbenchmarks -DskipTests -Dbenchmarks.jmhArgs="-f 10"
- name: Upload baseline JSON
uses: actions/upload-artifact@v7
with:
name: jmh-baseline
path: benchmarks/target/ognl-runtime-benchmark-results.json
================================================
FILE: .github/workflows/performance.yml
================================================
# 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.
name: JMH Benchmarks
on:
workflow_dispatch:
push:
branches:
- main
permissions: read-all
env:
MAVEN_OPTS: -Xmx2g -Xms1g
LANG: en_US.utf8
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v6.0.2
- name: Set up cache
uses: actions/cache@v5.0.5
with:
path: ~/.m2/repository
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
restore-keys: |
${{ runner.os }}-maven-
- name: Set up JDK 17
uses: actions/setup-java@v5
with:
distribution: temurin
java-version: 17
- name: Build with Maven
run: ./mvnw -B package -DskipTests
- name: Run benchmarks with Maven
env:
OPTIONS: publishSummary
run: |
echo '### Benchmarks summary 🚀' >> $GITHUB_STEP_SUMMARY
./mvnw -B verify -Pbenchmarks -DskipTests -Dbenchmarks.jmhArgs="-f 10"
- name: Upload JMH results
uses: actions/upload-artifact@v7
with:
name: jmh-results
path: benchmarks/target/ognl-runtime-benchmark-results.json
================================================
FILE: .github/workflows/sonar.yml
================================================
# 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.
name: SonarCloud
on:
pull_request:
push:
branches:
- 'main'
permissions: read-all
env:
MAVEN_OPTS: -Xmx2g -Xms1g
LANG: en_US.utf8
jobs:
sonarcloud:
name: Scan
runs-on: ubuntu-latest
if: ${{ !github.event.pull_request.base.repo.fork && !github.event.pull_request.head.repo.fork && github.actor != 'renovate[bot]' }}
steps:
- name: Checkout code
uses: actions/checkout@v6
with:
fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis
- name: Setup Java
uses: actions/setup-java@v5
with:
distribution: temurin
java-version: 17
cache: 'maven'
- name: Cache SonarQube packages
uses: actions/cache@v5
with:
path: ~/.sonar/cache
key: ${{ runner.os }}-sonar
restore-keys: ${{ runner.os }}-sonar
- name: Build with Maven
run: ./mvnw -B package -DskipTests=true
- name: Test with coverage
run: ./mvnw -B verify -Pcoverage
- name: SonarCloud Scan on ${{ github.ref }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
run: ./mvnw -B -Pcoverage sonar:sonar
================================================
FILE: .gitignore
================================================
*.iml
*.ipr
*.iws
target
.idea
build
.java-version
.mvn/wrapper/maven-wrapper.jar
.DS_Store
**/.DS_Store
.claude/settings.local.json
.worktrees
================================================
FILE: .mvn/wrapper/MavenWrapperDownloader.java
================================================
/*
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 java.net.*;
import java.io.*;
import java.nio.channels.*;
import java.util.Properties;
public class MavenWrapperDownloader {
/**
* Default URL to download the maven-wrapper.jar from, if no 'downloadUrl' is provided.
*/
private static final String DEFAULT_DOWNLOAD_URL =
"https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.4.0/maven-wrapper-0.4.0.jar";
/**
* Path to the maven-wrapper.properties file, which might contain a downloadUrl property to
* use instead of the default one.
*/
private static final String MAVEN_WRAPPER_PROPERTIES_PATH =
".mvn/wrapper/maven-wrapper.properties";
/**
* Path where the maven-wrapper.jar will be saved to.
*/
private static final String MAVEN_WRAPPER_JAR_PATH =
".mvn/wrapper/maven-wrapper.jar";
/**
* Name of the property which should be used to override the default download url for the wrapper.
*/
private static final String PROPERTY_NAME_WRAPPER_URL = "wrapperUrl";
public static void main(String args[]) {
System.out.println("- Downloader started");
File baseDirectory = new File(args[0]);
System.out.println("- Using base directory: " + baseDirectory.getAbsolutePath());
// If the maven-wrapper.properties exists, read it and check if it contains a custom
// wrapperUrl parameter.
File mavenWrapperPropertyFile = new File(baseDirectory, MAVEN_WRAPPER_PROPERTIES_PATH);
String url = DEFAULT_DOWNLOAD_URL;
if(mavenWrapperPropertyFile.exists()) {
FileInputStream mavenWrapperPropertyFileInputStream = null;
try {
mavenWrapperPropertyFileInputStream = new FileInputStream(mavenWrapperPropertyFile);
Properties mavenWrapperProperties = new Properties();
mavenWrapperProperties.load(mavenWrapperPropertyFileInputStream);
url = mavenWrapperProperties.getProperty(PROPERTY_NAME_WRAPPER_URL, url);
} catch (IOException e) {
System.out.println("- ERROR loading '" + MAVEN_WRAPPER_PROPERTIES_PATH + "'");
} finally {
try {
if(mavenWrapperPropertyFileInputStream != null) {
mavenWrapperPropertyFileInputStream.close();
}
} catch (IOException e) {
// Ignore ...
}
}
}
System.out.println("- Downloading from: : " + url);
File outputFile = new File(baseDirectory.getAbsolutePath(), MAVEN_WRAPPER_JAR_PATH);
if(!outputFile.getParentFile().exists()) {
if(!outputFile.getParentFile().mkdirs()) {
System.out.println(
"- ERROR creating output direcrory '" + outputFile.getParentFile().getAbsolutePath() + "'");
}
}
System.out.println("- Downloading to: " + outputFile.getAbsolutePath());
try {
downloadFileFromURL(url, outputFile);
System.out.println("Done");
System.exit(0);
} catch (Throwable e) {
System.out.println("- Error downloading");
e.printStackTrace();
System.exit(1);
}
}
private static void downloadFileFromURL(String urlString, File destination) throws Exception {
URL website = new URL(urlString);
ReadableByteChannel rbc;
rbc = Channels.newChannel(website.openStream());
FileOutputStream fos = new FileOutputStream(destination);
fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE);
fos.close();
rbc.close();
}
}
================================================
FILE: .mvn/wrapper/maven-wrapper.properties
================================================
distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.16/apache-maven-3.9.16-bin.zip
================================================
FILE: CLAUDE.md
================================================
# CLAUDE.md
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
## Project Overview
OGNL (Object-Graph Navigation Language) is an expression language for getting and setting properties of Java objects,
used by frameworks including Apache Struts. Key features: property navigation (JavaBeans), method invocation,
collection operations (projection/selection), lambda expressions, type conversion, and member access control.
## Development Environment
- **Language**: Java 17 (CI also tests against Java 21 and 25)
- **Build Tool**: Maven with wrapper (`./mvnw`), multi-module project
- **Testing**: JUnit Jupiter 6.x
- **Parser Generator**: JavaCC (grammar at `ognl/src/main/javacc/ognl.jj`)
## Project Structure
- **ognl/** — Core library (source: `ognl/src/main/java/ognl/`, tests: `ognl/src/test/java/ognl/`)
- **benchmarks/** — JMH performance benchmarks
- **docs/** — Language Guide, Developer Guide, Version Notes
## Essential Commands
```bash
# Build
./mvnw clean install # Full build + install
./mvnw compile # Compile only (includes JavaCC parser generation)
# Tests
./mvnw test # Full test suite
./mvnw test -pl ognl # Core module tests only
./mvnw test -pl ognl -Dtest=ClassName # Single test class
./mvnw test -pl ognl -Dtest=Pattern -Dsurefire.failIfNoSpecifiedTests=false # Pattern match
# Coverage & Quality
./mvnw clean test -Pcoverage # JaCoCo coverage report
./mvnw sonar:sonar -Pcoverage # SonarCloud analysis
# Benchmarks
cd benchmarks && ../mvnw clean install && java -jar target/benchmarks.jar
```
## JavaCC Parser Generation
- Parser auto-generated from `ognl/src/main/javacc/ognl.jj` during `compile` phase
- Generated sources go to `ognl/target/generated-sources/java/`
- To regenerate AST files, uncomment `<nodePackage>*.jtree</nodePackage>` in `ognl/pom.xml` and change goal to `jtree-javacc`
## Architecture
### Evaluation Flow
1. Expression string → parsed into AST tree via JavaCC (`OgnlParser`)
2. AST evaluated against a root object within an `OgnlContext`
3. Each AST node type handles its own evaluation via `SimpleNode.getValue()`/`setValue()`
4. `OgnlRuntime` resolves properties, methods, and fields via reflection (with caching)
5. Results pass through `TypeConverter` when type coercion is needed
## SonarCloud
- **Project**: `orphan-oss_ognl` — https://sonarcloud.io/project/overview?id=orphan-oss_ognl
- **Quality Gate**: Must pass for all PRs
- **PR issues URL**: `https://sonarcloud.io/project/issues?issueStatuses=OPEN%2CCONFIRMED&sinceLeakPeriod=true&pullRequest=[PR_NUMBER]&id=orphan-oss_ognl`
- Focus on new issues only, not pre-existing ones
- Aim for >80% coverage on new code
## Critical Development Rules
### Context Root Preservation
**Always preserve the original context root during nested evaluations.** The `addDefaultContext()` method in `Ognl.java`
can overwrite original root contexts during list processing. Preserve original root when:
- Initial context exists with non-null root
- Context contains user variables (`size() > 0`)
- New root differs from existing root (indicates nested evaluation)
- `#root` must always refer to original context root
- `#this` changes scope during collection iteration
- Preserve user context variables during projection/selection (`ASTProject`/`ASTSelect`)
### Constraints
- Public methods in `Ognl` class are stable API — maintain backward compatibility
- Respect `MemberAccess` restrictions for private/protected access
- Honor expression length limits (`expressionMaxLength`)
- Use stricter invocation mode to prevent dangerous method calls
================================================
FILE: KEYS
================================================
This file contains the PGP keys of various Apache developers.
Please don't use them for email unless you have to. Their main
purpose is code signing.
Apache users: pgp < KEYS
Apache developers:
(pgpk -ll <your name> && pgpk -xa <your name>) >> this file.
or
(gpg --fingerprint --list-sigs <your name>
&& gpg --armor --export <your name>) >> this file.
Apache developers: please ensure that your key is also available via the
PGP keyservers (such as pgpkeys.mit.edu).
pub 1024D/DD8B8819 2009-12-16
uid Lukasz Lenart <lukaszlenart@apache.org>
sig 3 DD8B8819 2009-12-16 Lukasz Lenart <lukaszlenart@apache.org>
sub 4096g/66EFAD45 2009-12-16
sig DD8B8819 2009-12-16 Lukasz Lenart <lukaszlenart@apache.org>
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.4.9 (Cygwin)
mQGiBEsouosRBADqYHGJ4BAM+v9OqrT0gzuZrnIxpimLNsZkj6WxO5r/Ub/kVBB4
GOZk65Bq26M+S1oMZo4jaI3+il8XZquUUa87gfBDcoVgiw32QUBvZzT3ietckI4o
IGJu+oHggxQUdiyoAfz+3gvCGUc6kVYuSuFWgpwOwD9giPUIPV+eHnRLcwCgwHks
wNaMFpvRzBrGTn4s+NhL+VMEALxZPmMLyIBQZ3zFcdsNmumkfv6HZ6DKJl3EILQA
Eje8ihhKrpSdXXiQSNSNoXRwr4iEXJtdzkynLzHckmJMxp/T20sjZ+giPFsZP3El
PSME1tfWr2X+K/DeoNAPDgZ1XwT/MbeMQTB9mttxDLh7iT0ydr1jZmc0G9072RX5
LLGmBADFRhTIif0kywiJyjLM47+H/ZMaPU8+hMuszfvSCL7HE9EXQmq743rNAlNh
e/JC+Hpx/w6424nFMVQ6PQoUzWG2W8O9GuD6UTjXdhn7Gz7kH3pXvWnRWlMroGvP
RMAtOUX3UL3VfCmVlag3nGqw9a4ZP4Cst1RTOY1NDKQ3NfXN17QnTHVrYXN6IExl
bmFydCA8bHVrYXN6bGVuYXJ0QGFwYWNoZS5vcmc+iGAEExECACAFAksouosCGwMG
CwkIBwMCBBUCCAMEFgIDAQIeAQIXgAAKCRD1WHMi3YuIGTZ/AKCruOnMYkXXOjg6
CccBJFVbg4OBKACdH5CFT0zUSlrF1SM+S2etNT8A3iG5BA0ESyi6ixAQAIfLz7XS
wcC5L32glQ/71InGR9wi1KVchAvP+soDuicqzS8kmvuxsYYyrSOTjrLRGs1kuZ3c
uSTj2jgYD4peDVYyfhDDDe9PBsv3cN35XE7i/DII1qgfe5+cjND/6Wgwjcg5Doat
zLrFcHCexKZKP21lG4AwblzvNojOuCvhnAPS+zbsqjQ1W0hByUH5TMaNTk0ZctXM
WJzxYT5JBeboR+T/K2d0yYGUsq/A0DOtZ0JVzfDihF8QTzcbagFyP4y1O3Bp4TXd
NSoETirrVnc+CyVAGMfNUpodNJizqytZlPMCujY7VhiOBvzKlc2Bq9E4TtE2g5Sd
rKo8I/pYFNSUa/hkMcxj66VmC0LwNbbPTwFiUwloMWBYMH/nbq8oVvKU0NHnMyM6
FrwroPaFw5mCF7wesbJOwtW3vj5r8BCyfrpWbQXMlix14FOLaC10NG9NBGb9b648
ADEN4hNIUwBkhAiHR+Q374CRINqoe67jRgpyaW+CfdRhLM/m7Nuhj61VrUnZRQ1l
B5taCw83GVsT+tTO5KiN6uLwJhkewgR3QXeuwOuhc1NY1EXy0rhH6eAMkwT03jPw
AoMRLyLr97nBcHAB2XF1s5xCL16dmAnl5fpIgCtNQHZDp67un6/+0Yhbgr2bFrw6
ALq51cS79dhKIkressxI8439Odfg1B2qD1uHAAMFD/9L1n9HrSLlGtlHT8Cv6SV3
Z7o4piDM7jCUWfduNtYv8otwEq9sXYr6pAvjfTdq9jeyQrenpsuLni2eMTAJXhqz
NfhSXfGRxdgC64TtK9LR9xIoZJQ0UQO5j4GFatbzvnLVJCf0TFZ9dEtrqEPMxjrc
wg28Wy/UMlsd2W/FENll3bhAB4IUnf0h4NFZ42a2BKw91DIDGTap4r2gAWLMHR1y
iyfGAZvmiMPocCE7Rgp2tNiUMVr01ZEcRmzZW5wg+2PpmkAR7BnVMwjsO6Bu+8fi
C4q1pLLz1lRgru0lsZL/TxcXKRp94lElJ1V6Gz5MzCdY/iTnXgEXhXLTi0J2eUqQ
xcYTiuI33uFRo1VsgHugkvFTlPe02fN+2tDJpG8mT0TQJT3+NdXfcK7Fg58DnP2W
q7LLjJYHMZyPInXyfeVuT7a01yFkWmjKfl8gqrch1mlMaf2gkgGkMIT5gYEeA73U
sfZtzcq0H0ciQyM4N0oXEbjo5/pwEQDeyZCpTI2z3cXq1N7zHhjv/gRWw51LZ65W
bPJfQZwL7EnBidJFIYLMtf3wD4xheI5wgfhc7CfEoSoAgLiwPziIPS2ABM5TuYBd
zuDvKSqd1VOIr0W+tHliXABRZEmQ7sONU9VptTmOIAIgB0uR4nBbt3OcEbNm2YIu
V2krcFt8xJiczsflYfdF4IhJBBgRAgAJBQJLKLqLAhsMAAoJEPVYcyLdi4gZJdIA
nA+r83IgYrCk9E5s2T3JhAEpPXX5AJ0d82Ug+2JyJvNyL8O+/61GrdDgSw==
=+tUp
-----END PGP PUBLIC KEY BLOCK-----
pub 4096R/63AFBB1F 2010-05-23
Key fingerprint = 0E00 8698 344E 62B9 0633 B7C6 2841 6106 63AF BB1F
uid Lukasz Lenart (Signing Apache Distributions) <lukaszlenart@apache.org>
sig 3 63AFBB1F 2010-05-23 Lukasz Lenart (Signing Apache Distributions) <lukaszlenart@apache.org>
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.4.9 (Cygwin)
mQINBEv43AABEAC6VkF/h0OnvcppCPkqzfNwNy/+D+aFhc+DESwxEznSSKSbeg3V
r1wwTy90+7S/mEItm88RmkNBYe1Mz3syDcj9s4S34atEV6XzGAa+3gp2rkWskyZ9
jJhXuD5ctd3LWRsA+0b14oo4/Je4pfu5aVzEDscrorskueHOY1Z73OmwRGZlIBT9
bQU+wAkIwhkw7HepgSyLcwblcy+cM4P68Ir/HAEt19FDKtnUUTnqnKT8bQDaXUuH
2iqNYTo3xZ6D2Eh6aBcUXgzAXHtuSnm4IEwipvi1OGo87N3ZEy++bs9GLNoI8ooC
pwhYtYDetOTvujXkyi3SGRzVhKagcJQhZGcRq3587f49K0EJCumyNYw5q4E1FgKN
T0k3Zed/LyaUSQZBGIWcmbtXaY+2s8wtUjBXFTYbbLlbijaD95RvL8xY9mWDPwJB
Pe9DidEQ9qOSNC7jWnbwKhoeTN2AAQCcaZ5lNEx3SYw0pLz7H22l+/i2jBMzYqAu
0ViRyiXkNstxrdmbTaR4hJdf3IH0fsJPjdJVV0dyHKcDKaUj1RmcUizBLYTXY6oY
nEk5kp0A2pllRwE4ZLxeiT9KkqbPytqkQVGDzu4PQnMxIv0Uu7NrIbpP6fMJlt94
3N57N3lj8FCfGU1TediS2aXZx2rLVEPWFmZWeOATwqihA1fe0leMBWPnfwARAQAB
tEZMdWthc3ogTGVuYXJ0IChTaWduaW5nIEFwYWNoZSBEaXN0cmlidXRpb25zKSA8
bHVrYXN6bGVuYXJ0QGFwYWNoZS5vcmc+iQI4BBMBAgAiBQJL+NwAAhsDBgsJCAcD
AgYVCAIJCgsEFgIDAQIeAQIXgAAKCRAoQWEGY6+7H8sMD/92MJ2srnFeR7h5ULWr
FKU8ynBgL4ghfmEF6/2InxUtZG/6fESKYnw1nuaFCiob8Q6KpszkRwPPjHRLr6q5
DiXdptFEBGgni2Cq4HF9722hpSukYESb9wu0CiNd+aksCEIh3VlAZJ8Yve3SYndp
fvmUx49mztApqq3EUzPI+O2huMDTaFNpMOrPpWZnosIdUDAFMTq3pB5GFJSxsvlA
NsWCcyWnSCuTMlbpvIgJ9ojPJfm+0IXKD2dzQdR9PtDQ1tfv60OC486FncYGuwHD
qbdnY4S5hPyE9YYCc7AY3Q5J/nvBIifW8fFWBLMx1ykKQlZOc4iTBOe7o3MSTeCp
X09WE/GqKwEHx2IQmWqgboMW1qJlqWBwEMPcH3bj1WnQ4zkHuOLcS9xdL+opq9xG
LffLm3fynicg7Fse5qXFSh7GbLSJmc5BTqA10HCE1Ur6mcL0+W/+h2kPd+U7/OU2
wr59iQuroEouV71h9SVpSElLhTOw5rRK+AU+cBIkzvfv9dBcVNlzmsAnrJ1+Gqex
4gmPmAr7MrZpOTzs5d2dYpu1LO8w6a/2CZn69sE5AGtda0ErFMXacLpzWoIMLPYN
7Vn5LS4JLE7GSM4WDfyG93OA2spR9ofBlsSqHSlOrSTM8JaEFCPaGD/AMIWKj6ya
NrjTmQt9KnGO87EwAlPDwf0hjw==
=x2yb
-----END PGP PUBLIC KEY BLOCK-----
================================================
FILE: LICENSE.txt
================================================
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright [yyyy] [name of copyright owner]
Licensed 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.
================================================
FILE: README.md
================================================
<p align="center">
<img src="docs/ognl-logo.svg" alt="OGNL" width="400"/>
</p>
# Object-Graph Navigation Language - OGNL
[](https://github.com/orphan-oss/ognl/actions/workflows/maven.yml)
[](https://maven-badges.sml.io/sonatype-central/ognl/ognl/)
[](https://sonarcloud.io/summary/new_code?id=orphan-oss_ognl)
[](https://sonarcloud.io/summary/new_code?id=orphan-oss_ognl)
[](https://bestpractices.coreinfrastructure.org/projects/6490)
[](http://www.apache.org/licenses/LICENSE-2.0.html)
## Note
I recently renamed the `master` branch into the `main` branch. If you previously cloned this repository please
perform locally update of your clone using the procedure described in [Updating a local clone after a branch name changes](https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/managing-branches-in-your-repository/renaming-a-branch#updating-a-local-clone-after-a-branch-name-changes).
## Description
OGNL stands for Object-Graph Navigation Language; it is an expression language for getting and setting
properties of Java objects. You use the same expression for both getting and setting the value of a property.
The `ognl.Ognl` class contains convenience methods for evaluating OGNL expressions. You can do this in two stages, parsing
an expression into an internal form and then using that internal form to either set or get the value of a property;
or you can do it in a single stage, and get or set a property using the String form of the expression directly.
OGNL started out as a way to set up associations between UI components and controllers using property names. As the desire
for more complicated associations grew, Drew Davidson created what he called KVCL, for Key-Value Coding Language, egged
on by Luke Blanshard. Luke then reimplemented the language using ANTLR, came up with the new name, and, egged on by Drew,
filled it out to its current state. Later on Luke again reimplemented the language using JavaCC. Further maintenance
on all the code is done by Drew (with spiritual guidance from Luke).
We pronounce OGNL as a word, like the last syllables of a drunken pronunciation of "orthogonal."
- [Language Guide](docs/LanguageGuide.md)
- [Developer Guide](docs/DeveloperGuide.md)
- [Version Notes](docs/VersionNotes.md)
## Apache Commons OGNL project
Sometimes ago this project has been migrated to [Apache Commons](http://commons.apache.org/ognl/)
with a plan to maintain it there. Right now that project is considered dead and not actively maintained. There is
no plans to release a new version under Apache Software Foundation umbrella and all the future development will happen here.
## Commercial Support
The project maintaners are working with Tidelift to provide commercial support and invest paid working time in the improvement of the projects.
For more information, visit the [Tidelift resources](https://tidelift.com/subscription/pkg/maven-ognl.ognl?utm_source=maven-ognl.ognl&utm_medium=referral&utm_campaign=enterprise) regarding OGNL.
## Contributing
If you would like to start contributing to this project please follow the following guidelines:
- [Finding ways to contribute to open source on GitHub](https://docs.github.com/en/get-started/exploring-projects-on-github/finding-ways-to-contribute-to-open-source-on-github)
- [First-contributions project](https://github.com/firstcontributions/first-contributions)
Even the smallest contribution makes sense, like improving code formatting, fixing a typo documentation. Do not hesitate
to ask or report an issue.
## FAQ
- How to define an AccessMember?
- the best way is to implement your own `AccessMember` which will suite your project best, you can base on existing
[DefaultAccessMember](src/test/java/ognl/DefaultMemberAccess.java) and adjust it to your needs.
Since version 3.2.16 there is `AbstractAccessMemeber` which can be used a start point for your own implementation,
see the example below:
```
MemberAccess memberAccess = new AbstractMemberAccess() {
@Override
public boolean isAccessible(Map context, Object target, Member member, String propertyName) {
int modifiers = member.getModifiers();
return Modifier.isPublic(modifiers);
}
};
```
- How to use the latest SNAPSHOT version?
- Define OSS Sonatype repository in `~/.m2/settings.xml` as follows:
```xml
<settings>
<servers>
...
</servers>
<profiles>
<profile>
<id>local</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<repositories>
<repository>
<id>oss-snapshots</id>
<url>https://oss.sonatype.org/content/repositories/snapshots/</url>
<layout>default</layout>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
</profile>
</profiles>
</settings>
```
and now you can use SNAPSHOT version of OGNL in your project,
================================================
FILE: SECURITY.md
================================================
# Security Policy
## Supported Versions
Use only the supported versions
| Version | Supported |
| ------- | ------------------ |
| 3.4.x | :white_check_mark: |
| 3.3.x | :x: |
| 3.2.x | :x: |
| 3.1.x | :x: |
| 3.0.x | :x: |
## Reporting a Vulnerability
Do not report security vulnerabilities using Github Issues, please contact [security@orphan.software](mailto:security@orphan.software) or contact [Tidelift Security](https://tidelift.com/security) directly before taking any action .
================================================
FILE: benchmarks/etc/ognl-runtime-benchmark-baseline.json
================================================
[
{
"jmhVersion" : "1.37",
"benchmark" : "ognl.benchmarks.OgnlPerformanceBenchmarks.constantExpressionCompiled",
"mode" : "thrpt",
"threads" : 1,
"forks" : 10,
"jvm" : "/usr/lib/jvm/temurin-17-jdk-amd64/bin/java",
"jvmArgs" : [
"--add-opens=java.base/java.lang=ALL-UNNAMED",
"--add-opens=java.base/java.lang.reflect=ALL-UNNAMED",
"--add-opens=java.base/java.util=ALL-UNNAMED"
],
"jdkVersion" : "17.0.18",
"vmName" : "OpenJDK 64-Bit Server VM",
"vmVersion" : "17.0.18+8",
"warmupIterations" : 3,
"warmupTime" : "1 s",
"warmupBatchSize" : 1,
"measurementIterations" : 5,
"measurementTime" : "1 s",
"measurementBatchSize" : 2,
"primaryMetric" : {
"score" : 0.21785886246522956,
"scoreError" : 0.03018147943769192,
"scoreConfidence" : [
0.18767738302753764,
0.24804034190292149
],
"scorePercentiles" : {
"0.0" : 0.036782071796372745,
"50.0" : 0.23805617224981002,
"90.0" : 0.23896965025431835,
"95.0" : 0.23952315914459757,
"99.0" : 0.2395834304932379,
"99.9" : 0.2395834304932379,
"99.99" : 0.2395834304932379,
"99.999" : 0.2395834304932379,
"99.9999" : 0.2395834304932379,
"100.0" : 0.2395834304932379
},
"scoreUnit" : "ops/ns",
"rawData" : [
[
0.23865140397096707,
0.23897549057996254,
0.23891708732352057,
0.23835884902457555,
0.23871512562573236
],
[
0.03682544596894528,
0.03681009960056216,
0.03684371899928783,
0.036782071796372745,
0.036792286729139874
],
[
0.23713514089384732,
0.23715265923602807,
0.23741178325987036,
0.23732573703394405,
0.23725367075949994
],
[
0.237548966233403,
0.23799373563088524,
0.23838859950542324,
0.2377209662004787,
0.23757572085370857
],
[
0.23831041063628455,
0.2381337878440946,
0.23809261717626376,
0.23803612295821794,
0.2382727408139246
],
[
0.23602626808481722,
0.23612378731857708,
0.2361808048362649,
0.23587185807697023,
0.23615284886876747
],
[
0.23934618597951363,
0.2395497789502868,
0.2395013793035791,
0.2395834304932379,
0.23857728726354155
],
[
0.2384609392844475,
0.23808289348453024,
0.23807080260281063,
0.23779660981327377,
0.23830022363028977
],
[
0.2380848157487997,
0.2379425997661245,
0.23804154189680943,
0.23747309300889918,
0.23787742264464817
],
[
0.23854952707547666,
0.23826206183994297,
0.23839621545360246,
0.23826062453929023,
0.23840588464203558
]
]
},
"secondaryMetrics" : {
}
},
{
"jmhVersion" : "1.37",
"benchmark" : "ognl.benchmarks.OgnlPerformanceBenchmarks.constantExpressionInterpreted",
"mode" : "thrpt",
"threads" : 1,
"forks" : 10,
"jvm" : "/usr/lib/jvm/temurin-17-jdk-amd64/bin/java",
"jvmArgs" : [
"--add-opens=java.base/java.lang=ALL-UNNAMED",
"--add-opens=java.base/java.lang.reflect=ALL-UNNAMED",
"--add-opens=java.base/java.util=ALL-UNNAMED"
],
"jdkVersion" : "17.0.18",
"vmName" : "OpenJDK 64-Bit Server VM",
"vmVersion" : "17.0.18+8",
"warmupIterations" : 3,
"warmupTime" : "1 s",
"warmupBatchSize" : 1,
"measurementIterations" : 5,
"measurementTime" : "1 s",
"measurementBatchSize" : 2,
"primaryMetric" : {
"score" : 0.04272498866889172,
"scoreError" : 4.0815026833279185E-5,
"scoreConfidence" : [
0.04268417364205844,
0.042765803695724997
],
"scorePercentiles" : {
"0.0" : 0.04248629433945735,
"50.0" : 0.04273522111097851,
"90.0" : 0.042831265561411064,
"95.0" : 0.042847592369982264,
"99.0" : 0.042881426492322475,
"99.9" : 0.042881426492322475,
"99.99" : 0.042881426492322475,
"99.999" : 0.042881426492322475,
"99.9999" : 0.042881426492322475,
"100.0" : 0.042881426492322475
},
"scoreUnit" : "ops/ns",
"rawData" : [
[
0.042833341356313816,
0.04280494186398773,
0.042711629444553666,
0.0427866491204488,
0.042688583416898976
],
[
0.042631004855829706,
0.04278364177985903,
0.04275747989293857,
0.04275549757969144,
0.04273348261886908
],
[
0.04271014916383902,
0.042675562261277104,
0.042505679333536876,
0.04270625670875453,
0.042680210127576265
],
[
0.042694612288823104,
0.042777636932445816,
0.04284829960761433,
0.04277579766839454,
0.042881426492322475
],
[
0.04275697705908184,
0.04267343047606158,
0.04273485454039626,
0.0426229671793379,
0.04273011153027409
],
[
0.042715771626300136,
0.04264915236190098,
0.042783171166586004,
0.042761808777012224,
0.042752811277094314
],
[
0.04262411492378655,
0.04281258340728631,
0.042803977098053274,
0.04278243670992074,
0.04284160803870031
],
[
0.04276583000063217,
0.042847013721010574,
0.042735587681560765,
0.04277096991663798,
0.04248629433945735
],
[
0.04262397235869834,
0.04275372021244837,
0.04258856414654997,
0.042776966060787534,
0.0427362031947739
],
[
0.04272952591924901,
0.042717467012950705,
0.042653324532282114,
0.04266244361239088,
0.042613892049388764
]
]
},
"secondaryMetrics" : {
}
},
{
"jmhVersion" : "1.37",
"benchmark" : "ognl.benchmarks.OgnlPerformanceBenchmarks.propertyNavigationAndComparisonExpressionCompiled",
"mode" : "thrpt",
"threads" : 1,
"forks" : 10,
"jvm" : "/usr/lib/jvm/temurin-17-jdk-amd64/bin/java",
"jvmArgs" : [
"--add-opens=java.base/java.lang=ALL-UNNAMED",
"--add-opens=java.base/java.lang.reflect=ALL-UNNAMED",
"--add-opens=java.base/java.util=ALL-UNNAMED"
],
"jdkVersion" : "17.0.18",
"vmName" : "OpenJDK 64-Bit Server VM",
"vmVersion" : "17.0.18+8",
"warmupIterations" : 3,
"warmupTime" : "1 s",
"warmupBatchSize" : 1,
"measurementIterations" : 5,
"measurementTime" : "1 s",
"measurementBatchSize" : 2,
"primaryMetric" : {
"score" : 0.19687898420026478,
"scoreError" : 4.299416347849553E-4,
"scoreConfidence" : [
0.19644904256547982,
0.19730892583504975
],
"scorePercentiles" : {
"0.0" : 0.19362440890937926,
"50.0" : 0.19705926590410616,
"90.0" : 0.19767431662739016,
"95.0" : 0.19774768667965956,
"99.0" : 0.19777187966959967,
"99.9" : 0.19777187966959967,
"99.99" : 0.19777187966959967,
"99.999" : 0.19777187966959967,
"99.9999" : 0.19777187966959967,
"100.0" : 0.19777187966959967
},
"scoreUnit" : "ops/ns",
"rawData" : [
[
0.19362440890937926,
0.19424291592121987,
0.19469741408249816,
0.19671245392881795,
0.19723145997928762
],
[
0.19714620817233064,
0.19705434337718414,
0.1965862541418985,
0.1968387365586376,
0.1969860706126541
],
[
0.1968793900420804,
0.19705477111671457,
0.19710329597605045,
0.19694801286649838,
0.1964221380936104
],
[
0.19743481413708933,
0.19704042024398827,
0.1968827107263661,
0.196958265133343,
0.19706376069149775
],
[
0.1970525215095089,
0.19712168545287595,
0.19553275975251633,
0.19626740020019767,
0.1970466514750965
],
[
0.1950941077828834,
0.19740693448299815,
0.19729695539619865,
0.1973499752207165,
0.1973149346538485
],
[
0.19730919187874418,
0.19720416362467466,
0.19735330397223502,
0.19658247392326308,
0.19732525080865007
],
[
0.19767803922023344,
0.19738116855149765,
0.19771298281430622,
0.19775219377991446,
0.19777187966959967
],
[
0.19705368236808787,
0.19774399905217827,
0.19729545194862297,
0.1974867601466585,
0.19582384425099467
],
[
0.19764081329180058,
0.197347687948318,
0.197040577518173,
0.19690692795115017,
0.19714704665615046
]
]
},
"secondaryMetrics" : {
}
},
{
"jmhVersion" : "1.37",
"benchmark" : "ognl.benchmarks.OgnlPerformanceBenchmarks.propertyNavigationAndComparisonExpressionInterpreted",
"mode" : "thrpt",
"threads" : 1,
"forks" : 10,
"jvm" : "/usr/lib/jvm/temurin-17-jdk-amd64/bin/java",
"jvmArgs" : [
"--add-opens=java.base/java.lang=ALL-UNNAMED",
"--add-opens=java.base/java.lang.reflect=ALL-UNNAMED",
"--add-opens=java.base/java.util=ALL-UNNAMED"
],
"jdkVersion" : "17.0.18",
"vmName" : "OpenJDK 64-Bit Server VM",
"vmVersion" : "17.0.18+8",
"warmupIterations" : 3,
"warmupTime" : "1 s",
"warmupBatchSize" : 1,
"measurementIterations" : 5,
"measurementTime" : "1 s",
"measurementBatchSize" : 2,
"primaryMetric" : {
"score" : 0.0014216685535989933,
"scoreError" : 1.4671532821293609E-5,
"scoreConfidence" : [
0.0014069970207776998,
0.0014363400864202869
],
"scorePercentiles" : {
"0.0" : 0.0013330312173652251,
"50.0" : 0.0014288971082600163,
"90.0" : 0.0014524967534770073,
"95.0" : 0.0014533271515117154,
"99.0" : 0.0014579522905492329,
"99.9" : 0.0014579522905492329,
"99.99" : 0.0014579522905492329,
"99.999" : 0.0014579522905492329,
"99.9999" : 0.0014579522905492329,
"100.0" : 0.0014579522905492329
},
"scoreUnit" : "ops/ns",
"rawData" : [
[
0.001355758741165945,
0.0013649314540947186,
0.0013651429848169244,
0.0013595173835770948,
0.0013330312173652251
],
[
0.0014358120557608268,
0.0013803820868413114,
0.00136794932611049,
0.0014363881006857612,
0.0014384961313341175
],
[
0.0014491383769381857,
0.0014469578876113113,
0.0014530794186977621,
0.0014579522905492329,
0.001453629936062103
],
[
0.0014215481238867831,
0.0014168844463751944,
0.0014440216675016989,
0.001445931884835103,
0.0014261867862730346
],
[
0.001428242184224957,
0.001395439040548544,
0.0014355883739968693,
0.0014424708741925137,
0.0014456820244281349
],
[
0.0014240407483746631,
0.0013981851598547789,
0.0014391355823059077,
0.0014212087867605677,
0.0014357712159220554
],
[
0.0014525213458418933,
0.0014522754221930325,
0.0014529401102833725,
0.0014492584871263197,
0.0014422897501743487
],
[
0.0014014544273380954,
0.0014309500125620292,
0.0014351758328241498,
0.0014281395776475398,
0.0014295520322950756
],
[
0.0014169438457974446,
0.0014275888377615438,
0.0014310907584868754,
0.0014194596792938775,
0.00144143549982489
],
[
0.001393527100088176,
0.0014195517085851407,
0.0014141808357292828,
0.0014079515446611837,
0.0014186365803435983
]
]
},
"secondaryMetrics" : {
}
},
{
"jmhVersion" : "1.37",
"benchmark" : "ognl.benchmarks.OgnlPerformanceBenchmarks.propertyNavigationExpressionCompiled",
"mode" : "thrpt",
"threads" : 1,
"forks" : 10,
"jvm" : "/usr/lib/jvm/temurin-17-jdk-amd64/bin/java",
"jvmArgs" : [
"--add-opens=java.base/java.lang=ALL-UNNAMED",
"--add-opens=java.base/java.lang.reflect=ALL-UNNAMED",
"--add-opens=java.base/java.util=ALL-UNNAMED"
],
"jdkVersion" : "17.0.18",
"vmName" : "OpenJDK 64-Bit Server VM",
"vmVersion" : "17.0.18+8",
"warmupIterations" : 3,
"warmupTime" : "1 s",
"warmupBatchSize" : 1,
"measurementIterations" : 5,
"measurementTime" : "1 s",
"measurementBatchSize" : 2,
"primaryMetric" : {
"score" : 0.18256560401030889,
"scoreError" : 5.853082858054677E-4,
"scoreConfidence" : [
0.18198029572450342,
0.18315091229611435
],
"scorePercentiles" : {
"0.0" : 0.17519323353893249,
"50.0" : 0.18281450096680396,
"90.0" : 0.18319365473834348,
"95.0" : 0.18333844000538088,
"99.0" : 0.18361191353526676,
"99.9" : 0.18361191353526676,
"99.99" : 0.18361191353526676,
"99.999" : 0.18361191353526676,
"99.9999" : 0.18361191353526676,
"100.0" : 0.18361191353526676
},
"scoreUnit" : "ops/ns",
"rawData" : [
[
0.1828670156570737,
0.1827622142425891,
0.18276985765430112,
0.18275187587298916,
0.18294575610152522
],
[
0.18147756200099968,
0.1813156988477983,
0.18173941142480146,
0.18129559209248544,
0.18183847847739407
],
[
0.18298415463601134,
0.18299043389097852,
0.1826428544123203,
0.18267299835347017,
0.18241414365915293
],
[
0.1831182167918252,
0.17519323353893249,
0.18284648320769806,
0.1830975771972494,
0.18277847525040164
],
[
0.1822558536484412,
0.18292210792845412,
0.18289366855085543,
0.18284702965998184,
0.1819663466921657
],
[
0.18278181586228023,
0.18278251872590986,
0.18254633590678818,
0.18301857288726964,
0.18277489313191425
],
[
0.1831906585920126,
0.18293485182383873,
0.18319311124434948,
0.18276838294941586,
0.18361191353526676
],
[
0.18311589539448916,
0.18332368998886564,
0.18335646780334397,
0.1831323006714751,
0.18319371512656504
],
[
0.18307737789255388,
0.18311942142949805,
0.18298454232971031,
0.18322889943919163,
0.1830480837676349
],
[
0.18232478204708372,
0.18221520617434434,
0.1824179685923412,
0.18251659582162105,
0.1822351595877831
]
]
},
"secondaryMetrics" : {
}
},
{
"jmhVersion" : "1.37",
"benchmark" : "ognl.benchmarks.OgnlPerformanceBenchmarks.propertyNavigationExpressionInterpreted",
"mode" : "thrpt",
"threads" : 1,
"forks" : 10,
"jvm" : "/usr/lib/jvm/temurin-17-jdk-amd64/bin/java",
"jvmArgs" : [
"--add-opens=java.base/java.lang=ALL-UNNAMED",
"--add-opens=java.base/java.lang.reflect=ALL-UNNAMED",
"--add-opens=java.base/java.util=ALL-UNNAMED"
],
"jdkVersion" : "17.0.18",
"vmName" : "OpenJDK 64-Bit Server VM",
"vmVersion" : "17.0.18+8",
"warmupIterations" : 3,
"warmupTime" : "1 s",
"warmupBatchSize" : 1,
"measurementIterations" : 5,
"measurementTime" : "1 s",
"measurementBatchSize" : 2,
"primaryMetric" : {
"score" : 0.0014589074582631153,
"scoreError" : 1.401117879932019E-5,
"scoreConfidence" : [
0.0014448962794637952,
0.0014729186370624355
],
"scorePercentiles" : {
"0.0" : 0.0013150937049245305,
"50.0" : 0.0014654509814346353,
"90.0" : 0.0014797222294411548,
"95.0" : 0.0014830328607784058,
"99.0" : 0.0014852103085103423,
"99.9" : 0.0014852103085103423,
"99.99" : 0.0014852103085103423,
"99.999" : 0.0014852103085103423,
"99.9999" : 0.0014852103085103423,
"100.0" : 0.0014852103085103423
},
"scoreUnit" : "ops/ns",
"rawData" : [
[
0.0014368984855318526,
0.0014183254011457696,
0.0014676153104276393,
0.001466197541071527,
0.0014658613005413931
],
[
0.0014697483726035523,
0.0014606920772280614,
0.001464098377568244,
0.001416026160437938,
0.0014447334551263213
],
[
0.0014852103085103423,
0.0014678942047319167,
0.0014833110702798327,
0.0014735075945547398,
0.0013150937049245305
],
[
0.0014705061339435688,
0.0014559555046992976,
0.0014608589273809546,
0.001468312850423742,
0.001468467501964901
],
[
0.0014754347496102936,
0.001475307572814325,
0.0014756362850625565,
0.0014746798535388676,
0.00147429564340685
],
[
0.0014665558888723696,
0.0014772593335505005,
0.0014454674872117577,
0.0014731765128266996,
0.0014568016112198336
],
[
0.0014648284343994808,
0.001482805234822693,
0.0014736075565049194,
0.0013909399907111354,
0.001411288429811104
],
[
0.0014564379422907904,
0.001458767067865191,
0.0014626443315743224,
0.0014567906171473436,
0.001456440695622117
],
[
0.0014802495981411441,
0.0014797576357525337,
0.0014786381806180919,
0.0014794035726387452,
0.0014647423158348257
],
[
0.0014648008630993802,
0.0014646217770548332,
0.0014650406623278774,
0.0014626783635891803,
0.0014369604221398664
]
]
},
"secondaryMetrics" : {
}
},
{
"jmhVersion" : "1.37",
"benchmark" : "ognl.benchmarks.OgnlPerformanceBenchmarks.propertyNavigationWithMapExpressionCompiled",
"mode" : "thrpt",
"threads" : 1,
"forks" : 10,
"jvm" : "/usr/lib/jvm/temurin-17-jdk-amd64/bin/java",
"jvmArgs" : [
"--add-opens=java.base/java.lang=ALL-UNNAMED",
"--add-opens=java.base/java.lang.reflect=ALL-UNNAMED",
"--add-opens=java.base/java.util=ALL-UNNAMED"
],
"jdkVersion" : "17.0.18",
"vmName" : "OpenJDK 64-Bit Server VM",
"vmVersion" : "17.0.18+8",
"warmupIterations" : 3,
"warmupTime" : "1 s",
"warmupBatchSize" : 1,
"measurementIterations" : 5,
"measurementTime" : "1 s",
"measurementBatchSize" : 2,
"primaryMetric" : {
"score" : 0.1230855669818411,
"scoreError" : 1.627769905744729E-4,
"scoreConfidence" : [
0.12292278999126663,
0.12324834397241557
],
"scorePercentiles" : {
"0.0" : 0.12244521391098585,
"50.0" : 0.12301609292593685,
"90.0" : 0.12362052228239559,
"95.0" : 0.12376767404135422,
"99.0" : 0.1238093824915757,
"99.9" : 0.1238093824915757,
"99.99" : 0.1238093824915757,
"99.999" : 0.1238093824915757,
"99.9999" : 0.1238093824915757,
"100.0" : 0.1238093824915757
},
"scoreUnit" : "ops/ns",
"rawData" : [
[
0.12333499853510371,
0.12341343513520953,
0.1234280565041436,
0.1228099048010937,
0.12312316118845974
],
[
0.1238093824915757,
0.12364190736886803,
0.12375739511144779,
0.12378023717790654,
0.12369664863369528
],
[
0.12302402877342265,
0.12337164346465745,
0.12342075063818535,
0.12321120154586687,
0.12297956196994424
],
[
0.12268804960618454,
0.12316474410547548,
0.12272699268452819,
0.12299452849009124,
0.12260445406467538
],
[
0.12289502469677242,
0.12244521391098585,
0.12293074079506856,
0.12300221471189939,
0.12303512252189497
],
[
0.12268023393353647,
0.12289277665379948,
0.1231381951238994,
0.12284521773859544,
0.12278411733271091
],
[
0.12300815707845106,
0.12321125906879414,
0.12296638737213954,
0.12318123628433598,
0.12282197491269464
],
[
0.12299922585763041,
0.12337774274311249,
0.12332898749764402,
0.12337031852247464,
0.12340625016294382
],
[
0.12298208709900253,
0.12264583538338027,
0.12290797410529865,
0.12257032022520939,
0.12291678701239842
],
[
0.12309991445084548,
0.12305673586456252,
0.12320247623211752,
0.12294127160655731,
0.1226534679027651
]
]
},
"secondaryMetrics" : {
}
},
{
"jmhVersion" : "1.37",
"benchmark" : "ognl.benchmarks.OgnlPerformanceBenchmarks.propertyNavigationWithMapExpressionInterpreted",
"mode" : "thrpt",
"threads" : 1,
"forks" : 10,
"jvm" : "/usr/lib/jvm/temurin-17-jdk-amd64/bin/java",
"jvmArgs" : [
"--add-opens=java.base/java.lang=ALL-UNNAMED",
"--add-opens=java.base/java.lang.reflect=ALL-UNNAMED",
"--add-opens=java.base/java.util=ALL-UNNAMED"
],
"jdkVersion" : "17.0.18",
"vmName" : "OpenJDK 64-Bit Server VM",
"vmVersion" : "17.0.18+8",
"warmupIterations" : 3,
"warmupTime" : "1 s",
"warmupBatchSize" : 1,
"measurementIterations" : 5,
"measurementTime" : "1 s",
"measurementBatchSize" : 2,
"primaryMetric" : {
"score" : 0.0011559228794831796,
"scoreError" : 7.584148289635636E-6,
"scoreConfidence" : [
0.001148338731193544,
0.0011635070277728153
],
"scorePercentiles" : {
"0.0" : 0.0010971750517651381,
"50.0" : 0.0011598879939759858,
"90.0" : 0.0011707682494322795,
"95.0" : 0.0011724082710653913,
"99.0" : 0.0011789632567641357,
"99.9" : 0.0011789632567641357,
"99.99" : 0.0011789632567641357,
"99.999" : 0.0011789632567641357,
"99.9999" : 0.0011789632567641357,
"100.0" : 0.0011789632567641357
},
"scoreUnit" : "ops/ns",
"rawData" : [
[
0.0011505930563896123,
0.0011625007901277808,
0.0011603345442978764,
0.001157632482060026,
0.0011640238137172892
],
[
0.0011707918933362665,
0.0011583112383725255,
0.0011789632567641357,
0.0011705554542963967,
0.0011337791179144461
],
[
0.0011587180308913615,
0.0011398302031555296,
0.0011450442933856823,
0.0011641247093575073,
0.001166812726386446
],
[
0.0011626143877269256,
0.0011615931016714267,
0.0011655167364492023,
0.0011599172358505983,
0.001164768640200726
],
[
0.0011548260372791874,
0.0011581827807300154,
0.0011495469319815802,
0.001159858752101373,
0.0011581441733627875
],
[
0.0010971750517651381,
0.0011387683555255988,
0.0011310687722074818,
0.0011373866609747801,
0.0011360724226040357
],
[
0.0011472594506932346,
0.0011658626564049004,
0.0011633712164182588,
0.0011591400895243614,
0.0011563692299630236
],
[
0.0011692069065443282,
0.0011505443242710782,
0.0011318619467975692,
0.0011594578092869866,
0.0011665162978994335
],
[
0.0011717195556158735,
0.00116762442162564,
0.0011443871713886636,
0.0011711276044616583,
0.0011732500343925795
],
[
0.0011200723950483187,
0.0011701553018363512,
0.0011659699657065158,
0.0011638499175978252,
0.0011609420277986118
]
]
},
"secondaryMetrics" : {
}
},
{
"jmhVersion" : "1.37",
"benchmark" : "ognl.benchmarks.OgnlPerformanceBenchmarks.singlePropertyExpressionCompiled",
"mode" : "thrpt",
"threads" : 1,
"forks" : 10,
"jvm" : "/usr/lib/jvm/temurin-17-jdk-amd64/bin/java",
"jvmArgs" : [
"--add-opens=java.base/java.lang=ALL-UNNAMED",
"--add-opens=java.base/java.lang.reflect=ALL-UNNAMED",
"--add-opens=java.base/java.util=ALL-UNNAMED"
],
"jdkVersion" : "17.0.18",
"vmName" : "OpenJDK 64-Bit Server VM",
"vmVersion" : "17.0.18+8",
"warmupIterations" : 3,
"warmupTime" : "1 s",
"warmupBatchSize" : 1,
"measurementIterations" : 5,
"measurementTime" : "1 s",
"measurementBatchSize" : 2,
"primaryMetric" : {
"score" : 0.42685424620235685,
"scoreError" : 0.001392131635588364,
"scoreConfidence" : [
0.42546211456676847,
0.4282463778379452
],
"scorePercentiles" : {
"0.0" : 0.4202183601673775,
"50.0" : 0.42678756952829544,
"90.0" : 0.43033392791805425,
"95.0" : 0.43116479540797625,
"99.0" : 0.43219296682469177,
"99.9" : 0.43219296682469177,
"99.99" : 0.43219296682469177,
"99.999" : 0.43219296682469177,
"99.9999" : 0.43219296682469177,
"100.0" : 0.43219296682469177
},
"scoreUnit" : "ops/ns",
"rawData" : [
[
0.4202183601673775,
0.4243705826986078,
0.427798075296459,
0.4240300378630285,
0.4211305920262649
],
[
0.43007941994206167,
0.4290113557287929,
0.42527029591600224,
0.4295974454925142,
0.4253782800200924
],
[
0.4306473212980555,
0.42760929272638754,
0.420354439452853,
0.4261842470569711,
0.42964472467694953
],
[
0.42246502155099275,
0.4251405656579936,
0.4233022906817506,
0.4237510530394177,
0.42634678255278297
],
[
0.4243854362813425,
0.4250736206210216,
0.4262231051616039,
0.4258378041826735,
0.42657073381755334
],
[
0.42724687978505166,
0.42596786102319184,
0.42773800821251823,
0.42715833000524345,
0.4263313672428556
],
[
0.43179726376454614,
0.42971060060774535,
0.42829671902726035,
0.429406906720605,
0.42861632407670763
],
[
0.4303364840065042,
0.43219296682469177,
0.43035951770049097,
0.42760811006964605,
0.4298921224518407
],
[
0.42826895865396925,
0.4250707712346388,
0.4252064162792751,
0.4265006221755037,
0.4244215442557991
],
[
0.4301530974101937,
0.42708447195293353,
0.4303109231220044,
0.425610754366033,
0.42700440523903754
]
]
},
"secondaryMetrics" : {
}
},
{
"jmhVersion" : "1.37",
"benchmark" : "ognl.benchmarks.OgnlPerformanceBenchmarks.singlePropertyExpressionInterpreted",
"mode" : "thrpt",
"threads" : 1,
"forks" : 10,
"jvm" : "/usr/lib/jvm/temurin-17-jdk-amd64/bin/java",
"jvmArgs" : [
"--add-opens=java.base/java.lang=ALL-UNNAMED",
"--add-opens=java.base/java.lang.reflect=ALL-UNNAMED",
"--add-opens=java.base/java.util=ALL-UNNAMED"
],
"jdkVersion" : "17.0.18",
"vmName" : "OpenJDK 64-Bit Server VM",
"vmVersion" : "17.0.18+8",
"warmupIterations" : 3,
"warmupTime" : "1 s",
"warmupBatchSize" : 1,
"measurementIterations" : 5,
"measurementTime" : "1 s",
"measurementBatchSize" : 2,
"primaryMetric" : {
"score" : 0.006189197725125023,
"scoreError" : 2.3556306889227494E-5,
"scoreConfidence" : [
0.006165641418235795,
0.006212754032014251
],
"scorePercentiles" : {
"0.0" : 0.006099220704400432,
"50.0" : 0.006176853114556585,
"90.0" : 0.006259681429963715,
"95.0" : 0.00626388884417367,
"99.0" : 0.006265840407457353,
"99.9" : 0.006265840407457353,
"99.99" : 0.006265840407457353,
"99.999" : 0.006265840407457353,
"99.9999" : 0.006265840407457353,
"100.0" : 0.006265840407457353
},
"scoreUnit" : "ops/ns",
"rawData" : [
[
0.006224255900123771,
0.006216199295010052,
0.006225168742536318,
0.0062198920881069856,
0.006217496718379897
],
[
0.006260784058695964,
0.006262161682381331,
0.00626446760961807,
0.006263415308810069,
0.006265840407457353
],
[
0.006102219784422046,
0.006099220704400432,
0.006099406638767586,
0.0061111656275572085,
0.00610638073827144
],
[
0.006148607623892926,
0.006150535819228834,
0.00616122451886336,
0.00615716796333728,
0.006157587691483904
],
[
0.006155898800383555,
0.006146913540166463,
0.006135027189253863,
0.006147280387846762,
0.0061359715496389225
],
[
0.006200011517849687,
0.006192567066186918,
0.006192652530058848,
0.0061735919845837045,
0.0061985507630424935
],
[
0.00624935786871587,
0.006241457112979463,
0.006246024542408933,
0.006249757771373476,
0.00623852537175972
],
[
0.006220591762618625,
0.006225530935171328,
0.006224134217467766,
0.006225912093466367,
0.006225867149977851
],
[
0.00617668403363726,
0.0061699218549076335,
0.00616933047929752,
0.006170062034435757,
0.0061675864317698335
],
[
0.006174350404251687,
0.006173122064707305,
0.0061770221954759105,
0.006167154754876996,
0.006175828926595799
]
]
},
"secondaryMetrics" : {
}
},
{
"jmhVersion" : "1.37",
"benchmark" : "ognl.benchmarks.OgnlRuntimePerformanceBenchmarks.testPerformanceFakeGenericMultipleThreads",
"mode" : "thrpt",
"threads" : 1,
"forks" : 10,
"jvm" : "/usr/lib/jvm/temurin-17-jdk-amd64/bin/java",
"jvmArgs" : [
"--add-opens=java.base/java.lang=ALL-UNNAMED",
"--add-opens=java.base/java.lang.reflect=ALL-UNNAMED",
"--add-opens=java.base/java.util=ALL-UNNAMED"
],
"jdkVersion" : "17.0.18",
"vmName" : "OpenJDK 64-Bit Server VM",
"vmVersion" : "17.0.18+8",
"warmupIterations" : 3,
"warmupTime" : "1 s",
"warmupBatchSize" : 1,
"measurementIterations" : 5,
"measurementTime" : "1 s",
"measurementBatchSize" : 1,
"primaryMetric" : {
"score" : 1.218240358241585E-8,
"scoreError" : 2.05521344290243E-10,
"scoreConfidence" : [
1.1976882238125607E-8,
1.2387924926706093E-8
],
"scorePercentiles" : {
"0.0" : 1.1410746570944425E-8,
"50.0" : 1.2229795247495642E-8,
"90.0" : 1.254723462427977E-8,
"95.0" : 1.317888696988531E-8,
"99.0" : 1.3301447748860085E-8,
"99.9" : 1.3301447748860085E-8,
"99.99" : 1.3301447748860085E-8,
"99.999" : 1.3301447748860085E-8,
"99.9999" : 1.3301447748860085E-8,
"100.0" : 1.3301447748860085E-8
},
"scoreUnit" : "ops/ns",
"rawData" : [
[
1.255253250544193E-8,
1.2752690816290774E-8,
1.3133071823979945E-8,
1.3301447748860085E-8,
1.3234883259325205E-8
],
[
1.1488963174439741E-8,
1.1647528118195715E-8,
1.2135304836575125E-8,
1.2265889876289669E-8,
1.244738495168379E-8
],
[
1.1890347830604254E-8,
1.1659028459823521E-8,
1.2081905576214577E-8,
1.2172627301373773E-8,
1.2193700618701616E-8
],
[
1.1512244648376461E-8,
1.1410746570944425E-8,
1.1853822466421107E-8,
1.2057095332471909E-8,
1.1951564884970565E-8
],
[
1.1536106885937193E-8,
1.162023145355186E-8,
1.2380363818456452E-8,
1.232004496505568E-8,
1.2281543683210444E-8
],
[
1.2465709924452793E-8,
1.1828433131376144E-8,
1.2361289724748185E-8,
1.2306713840926252E-8,
1.2299096691708177E-8
],
[
1.2099520957441571E-8,
1.1812265781779913E-8,
1.2347453774141573E-8,
1.2348463878260165E-8,
1.2267081271366719E-8
],
[
1.1890314299987363E-8,
1.1677597485036312E-8,
1.2382711374585787E-8,
1.2482275876384646E-8,
1.249955369382032E-8
],
[
1.2054546980870276E-8,
1.1852980068247998E-8,
1.209165467172198E-8,
1.241811620742088E-8,
1.2362496233717974E-8
],
[
1.2180685519292696E-8,
1.1967800119163984E-8,
1.2348491384190168E-8,
1.2410626164472346E-8,
1.2483228458482214E-8
]
]
},
"secondaryMetrics" : {
}
},
{
"jmhVersion" : "1.37",
"benchmark" : "ognl.benchmarks.OgnlRuntimePerformanceBenchmarks.testPerformanceFakeGenericSingleThread",
"mode" : "thrpt",
"threads" : 1,
"forks" : 10,
"jvm" : "/usr/lib/jvm/temurin-17-jdk-amd64/bin/java",
"jvmArgs" : [
"--add-opens=java.base/java.lang=ALL-UNNAMED",
"--add-opens=java.base/java.lang.reflect=ALL-UNNAMED",
"--add-opens=java.base/java.util=ALL-UNNAMED"
],
"jdkVersion" : "17.0.18",
"vmName" : "OpenJDK 64-Bit Server VM",
"vmVersion" : "17.0.18+8",
"warmupIterations" : 3,
"warmupTime" : "1 s",
"warmupBatchSize" : 1,
"measurementIterations" : 5,
"measurementTime" : "1 s",
"measurementBatchSize" : 1,
"primaryMetric" : {
"score" : 6.856017979488916E-9,
"scoreError" : 3.4273359127384776E-11,
"scoreConfidence" : [
6.821744620361532E-9,
6.890291338616301E-9
],
"scorePercentiles" : {
"0.0" : 6.702692297225796E-9,
"50.0" : 6.845058215300912E-9,
"90.0" : 6.972075424714753E-9,
"95.0" : 6.974805681872632E-9,
"99.0" : 6.98402837914835E-9,
"99.9" : 6.98402837914835E-9,
"99.99" : 6.98402837914835E-9,
"99.999" : 6.98402837914835E-9,
"99.9999" : 6.98402837914835E-9,
"100.0" : 6.98402837914835E-9
},
"scoreUnit" : "ops/ns",
"rawData" : [
[
6.853227127919607E-9,
6.849355521242589E-9,
6.856286113540408E-9,
6.8485768227369564E-9,
6.828167425553259E-9
],
[
6.810398286948218E-9,
6.819363948280015E-9,
6.82079252302541E-9,
6.828551381393898E-9,
6.826923241219361E-9
],
[
6.840567381714661E-9,
6.833123187462826E-9,
6.841524627077997E-9,
6.835387224627686E-9,
6.8524607167344796E-9
],
[
6.920910814128698E-9,
6.911654731581781E-9,
6.958294529327012E-9,
6.919472664813523E-9,
6.922952180607796E-9
],
[
6.71087070543809E-9,
6.71335894768766E-9,
6.7132830005260045E-9,
6.718944024956293E-9,
6.702692297225796E-9
],
[
6.974417745043749E-9,
6.98402837914835E-9,
6.973606635313391E-9,
6.974566142579633E-9,
6.975098452119632E-9
],
[
6.847143592709135E-9,
6.835814134916784E-9,
6.83646698570329E-9,
6.841617465606336E-9,
6.842972837892689E-9
],
[
6.848401296091644E-9,
6.8488127395752E-9,
6.8506593327526905E-9,
6.8367718532274945E-9,
6.8513548549331805E-9
],
[
6.923532429883763E-9,
6.914979982283802E-9,
6.914294437190247E-9,
6.9185719504520185E-9,
6.9132068108443405E-9
],
[
6.831926338607461E-9,
6.825520941845912E-9,
6.833950849132061E-9,
6.828852745334356E-9,
6.837190615488607E-9
]
]
},
"secondaryMetrics" : {
}
},
{
"jmhVersion" : "1.37",
"benchmark" : "ognl.benchmarks.OgnlRuntimePerformanceBenchmarks.testPerformanceMultipleClassesMultipleMethodsMultipleThreads",
"mode" : "thrpt",
"threads" : 1,
"forks" : 10,
"jvm" : "/usr/lib/jvm/temurin-17-jdk-amd64/bin/java",
"jvmArgs" : [
"--add-opens=java.base/java.lang=ALL-UNNAMED",
"--add-opens=java.base/java.lang.reflect=ALL-UNNAMED",
"--add-opens=java.base/java.util=ALL-UNNAMED"
],
"jdkVersion" : "17.0.18",
"vmName" : "OpenJDK 64-Bit Server VM",
"vmVersion" : "17.0.18+8",
"warmupIterations" : 3,
"warmupTime" : "1 s",
"warmupBatchSize" : 1,
"measurementIterations" : 5,
"measurementTime" : "1 s",
"measurementBatchSize" : 1,
"primaryMetric" : {
"score" : 3.6933177630490017E-10,
"scoreError" : 3.1643608457982276E-12,
"scoreConfidence" : [
3.6616741545910194E-10,
3.724961371506984E-10
],
"scorePercentiles" : {
"0.0" : 3.5339495371824477E-10,
"50.0" : 3.6994053973391465E-10,
"90.0" : 3.771786467752733E-10,
"95.0" : 3.784399779005753E-10,
"99.0" : 3.7981014368818215E-10,
"99.9" : 3.7981014368818215E-10,
"99.99" : 3.7981014368818215E-10,
"99.999" : 3.7981014368818215E-10,
"99.9999" : 3.7981014368818215E-10,
"100.0" : 3.7981014368818215E-10
},
"scoreUnit" : "ops/ns",
"rawData" : [
[
3.647605428961105E-10,
3.662035381947934E-10,
3.636293798366089E-10,
3.672006486749277E-10,
3.671513181554741E-10
],
[
3.5596596057703686E-10,
3.611434959318218E-10,
3.604411141071197E-10,
3.605809038554304E-10,
3.5869793915009636E-10
],
[
3.7223889949067254E-10,
3.7950177582220396E-10,
3.6842375909190396E-10,
3.691339734891369E-10,
3.7757123414651545E-10
],
[
3.772070282793252E-10,
3.712735604103268E-10,
3.730937755706581E-10,
3.743792532255913E-10,
3.746956601477299E-10
],
[
3.5339495371824477E-10,
3.606268853312111E-10,
3.588093156134085E-10,
3.60125220523309E-10,
3.6341520658556556E-10
],
[
3.669551838466956E-10,
3.7418128858099777E-10,
3.6990723048848545E-10,
3.7236881768372755E-10,
3.750092042259085E-10
],
[
3.6958450558885984E-10,
3.6985753659490114E-10,
3.730777547361143E-10,
3.744072626178927E-10,
3.6997384897934386E-10
],
[
3.68690147364556E-10,
3.6684320003969126E-10,
3.702353216889408E-10,
3.673236039213699E-10,
3.6615731011466364E-10
],
[
3.775163071981809E-10,
3.7099182000469965E-10,
3.7981014368818215E-10,
3.721449069717632E-10,
3.7692321323880667E-10
],
[
3.760420698750341E-10,
3.743650136691298E-10,
3.7521726341219615E-10,
3.748421713917879E-10,
3.7449834649786084E-10
]
]
},
"secondaryMetrics" : {
}
},
{
"jmhVersion" : "1.37",
"benchmark" : "ognl.benchmarks.OgnlRuntimePerformanceBenchmarks.testPerformanceMultipleClassesMultipleMethodsSingleThread",
"mode" : "thrpt",
"threads" : 1,
"forks" : 10,
"jvm" : "/usr/lib/jvm/temurin-17-jdk-amd64/bin/java",
"jvmArgs" : [
"--add-opens=java.base/java.lang=ALL-UNNAMED",
"--add-opens=java.base/java.lang.reflect=ALL-UNNAMED",
"--add-opens=java.base/java.util=ALL-UNNAMED"
],
"jdkVersion" : "17.0.18",
"vmName" : "OpenJDK 64-Bit Server VM",
"vmVersion" : "17.0.18+8",
"warmupIterations" : 3,
"warmupTime" : "1 s",
"warmupBatchSize" : 1,
"measurementIterations" : 5,
"measurementTime" : "1 s",
"measurementBatchSize" : 1,
"primaryMetric" : {
"score" : 1.3377625184381383E-10,
"scoreError" : 1.844175010420448E-12,
"scoreConfidence" : [
1.319320768333934E-10,
1.3562042685423427E-10
],
"scorePercentiles" : {
"0.0" : 1.2151281988507595E-10,
"50.0" : 1.3496570696796162E-10,
"90.0" : 1.3547809713325093E-10,
"95.0" : 1.3595675571722017E-10,
"99.0" : 1.3603331676410354E-10,
"99.9" : 1.3603331676410354E-10,
"99.99" : 1.3603331676410354E-10,
"99.999" : 1.3603331676410354E-10,
"99.9999" : 1.3603331676410354E-10,
"100.0" : 1.3603331676410354E-10
},
"scoreUnit" : "ops/ns",
"rawData" : [
[
1.3495552827548611E-10,
1.3494861280976927E-10,
1.3493934813379878E-10,
1.348977190325047E-10,
1.3487568862502493E-10
],
[
1.350560214531131E-10,
1.349267260377633E-10,
1.349312424310286E-10,
1.3476039292458625E-10,
1.3500833680124972E-10
],
[
1.3591509413318428E-10,
1.356615184176326E-10,
1.3550545759734885E-10,
1.3600767543104181E-10,
1.3603331676410354E-10
],
[
1.3505829964716538E-10,
1.3503096008149444E-10,
1.3501767829397524E-10,
1.350222836381941E-10,
1.349211247785485E-10
],
[
1.232827283199682E-10,
1.235618393636287E-10,
1.2366287895240569E-10,
1.2151281988507595E-10,
1.220154867802751E-10
],
[
1.3497588566043714E-10,
1.3509640912874515E-10,
1.3491390710244323E-10,
1.3513176452892365E-10,
1.3500684426107433E-10
],
[
1.3523185295636954E-10,
1.3490487209790087E-10,
1.349405297930394E-10,
1.351659762664563E-10,
1.3491467653172854E-10
],
[
1.350749480382141E-10,
1.3510011220195366E-10,
1.3493163518149941E-10,
1.3512923895340048E-10,
1.3514047322035178E-10
],
[
1.347248651861423E-10,
1.3505173417394907E-10,
1.3499145734235457E-10,
1.3514833132868197E-10,
1.3502452375688923E-10
],
[
1.3419388805174007E-10,
1.3401910489380967E-10,
1.3424035573558956E-10,
1.3414864997845335E-10,
1.3410177721217844E-10
]
]
},
"secondaryMetrics" : {
}
},
{
"jmhVersion" : "1.37",
"benchmark" : "ognl.benchmarks.OgnlRuntimePerformanceBenchmarks.testPerformanceNonGenericSingleThread",
"mode" : "thrpt",
"threads" : 1,
"forks" : 10,
"jvm" : "/usr/lib/jvm/temurin-17-jdk-amd64/bin/java",
"jvmArgs" : [
"--add-opens=java.base/java.lang=ALL-UNNAMED",
"--add-opens=java.base/java.lang.reflect=ALL-UNNAMED",
"--add-opens=java.base/java.util=ALL-UNNAMED"
],
"jdkVersion" : "17.0.18",
"vmName" : "OpenJDK 64-Bit Server VM",
"vmVersion" : "17.0.18+8",
"warmupIterations" : 3,
"warmupTime" : "1 s",
"warmupBatchSize" : 1,
"measurementIterations" : 5,
"measurementTime" : "1 s",
"measurementBatchSize" : 1,
"primaryMetric" : {
"score" : 2.9151828493590532E-9,
"scoreError" : 3.944377719486018E-11,
"scoreConfidence" : [
2.875739072164193E-9,
2.9546266265539133E-9
],
"scorePercentiles" : {
"0.0" : 2.6559665024121956E-9,
"50.0" : 2.9197794576134116E-9,
"90.0" : 2.9938189384584366E-9,
"95.0" : 3.001529949909771E-9,
"99.0" : 3.0022860697117797E-9,
"99.9" : 3.0022860697117797E-9,
"99.99" : 3.0022860697117797E-9,
"99.999" : 3.0022860697117797E-9,
"99.9999" : 3.0022860697117797E-9,
"100.0" : 3.0022860697117797E-9
},
"scoreUnit" : "ops/ns",
"rawData" : [
[
2.9150938512619187E-9,
2.9127606429125684E-9,
2.915408144088862E-9,
2.914590196027409E-9,
2.920864461265813E-9
],
[
2.9776874524301403E-9,
2.980923434416205E-9,
2.975535967498689E-9,
2.980857398798669E-9,
3.001706065418298E-9
],
[
3.0022860697117797E-9,
2.990481169845691E-9,
2.9941898016376306E-9,
2.995188095541049E-9,
3.0013858554027947E-9
],
[
2.7913622627190414E-9,
2.794097014432924E-9,
2.6761817726781316E-9,
2.657116051548788E-9,
2.6559665024121956E-9
],
[
2.91869445396101E-9,
2.916191082884127E-9,
2.8523141121032163E-9,
2.9092103383463506E-9,
2.9162621624730567E-9
],
[
2.8959288793382786E-9,
2.898995021533624E-9,
2.8932016029968646E-9,
2.8893255297556208E-9,
2.8969110617809218E-9
],
[
2.947546995239791E-9,
2.9570415289189245E-9,
2.9572736328947623E-9,
2.958866077540453E-9,
2.974706381011721E-9
],
[
2.941959778916469E-9,
2.9056470699700475E-9,
2.943608973809784E-9,
2.938675415800825E-9,
2.9418819742644362E-9
],
[
2.970856136003441E-9,
2.9653255293345765E-9,
2.9583209556362793E-9,
2.95264066824762E-9,
2.9564021241288065E-9
],
[
2.892657464675231E-9,
2.8758770074408785E-9,
2.8925382889608015E-9,
2.8907110241725276E-9,
2.895888985763669E-9
]
]
},
"secondaryMetrics" : {
}
},
{
"jmhVersion" : "1.37",
"benchmark" : "ognl.benchmarks.OgnlRuntimePerformanceBenchmarks.testPerformanceNotGenericMultipleThreads",
"mode" : "thrpt",
"threads" : 1,
"forks" : 10,
"jvm" : "/usr/lib/jvm/temurin-17-jdk-amd64/bin/java",
"jvmArgs" : [
"--add-opens=java.base/java.lang=ALL-UNNAMED",
"--add-opens=java.base/java.lang.reflect=ALL-UNNAMED",
"--add-opens=java.base/java.util=ALL-UNNAMED"
],
"jdkVersion" : "17.0.18",
"vmName" : "OpenJDK 64-Bit Server VM",
"vmVersion" : "17.0.18+8",
"warmupIterations" : 3,
"warmupTime" : "1 s",
"warmupBatchSize" : 1,
"measurementIterations" : 5,
"measurementTime" : "1 s",
"measurementBatchSize" : 1,
"primaryMetric" : {
"score" : 7.237642654915351E-9,
"scoreError" : 6.713711149619497E-11,
"scoreConfidence" : [
7.170505543419156E-9,
7.3047797664115454E-9
],
"scorePercentiles" : {
"0.0" : 6.8494334055241105E-9,
"50.0" : 7.238409852926672E-9,
"90.0" : 7.397368718039454E-9,
"95.0" : 7.442732323105185E-9,
"99.0" : 7.539793098256803E-9,
"99.9" : 7.539793098256803E-9,
"99.99" : 7.539793098256803E-9,
"99.999" : 7.539793098256803E-9,
"99.9999" : 7.539793098256803E-9,
"100.0" : 7.539793098256803E-9
},
"scoreUnit" : "ops/ns",
"rawData" : [
[
7.309207247018319E-9,
7.204913986939781E-9,
7.301107347360866E-9,
7.227971985594883E-9,
6.955289161665703E-9
],
[
7.384375219739969E-9,
7.539793098256803E-9,
7.1214330364272E-9,
7.397452156028071E-9,
7.278931046102976E-9
],
[
7.299436255048755E-9,
7.152960757406128E-9,
7.37165296570325E-9,
7.24544385569135E-9,
7.208847336876574E-9
],
[
7.073564817687222E-9,
7.109813844997201E-9,
7.224527465083748E-9,
7.196042469520692E-9,
7.139944122154705E-9
],
[
7.2447545706131E-9,
7.164848859577679E-9,
7.246048028728349E-9,
7.2193064135468106E-9,
7.151388238211884E-9
],
[
7.423924257204896E-9,
7.377383308518475E-9,
7.234548809215603E-9,
7.325182149604607E-9,
7.0583465512636415E-9
],
[
7.391433889132328E-9,
7.144390195035681E-9,
7.45297338921348E-9,
7.396617776141905E-9,
7.218980935876918E-9
],
[
7.253893902260996E-9,
7.059637268883382E-9,
7.366261971201225E-9,
7.19112433537303E-9,
6.8494334055241105E-9
],
[
7.294428828465356E-9,
7.273391359807119E-9,
7.192613058360551E-9,
7.33132266249728E-9,
6.98912444709985E-9
],
[
7.354252693880228E-9,
7.242270896637741E-9,
7.187680894274294E-9,
7.434353269016581E-9,
7.069508205296277E-9
]
]
},
"secondaryMetrics" : {
}
},
{
"jmhVersion" : "1.37",
"benchmark" : "ognl.benchmarks.OgnlRuntimePerformanceBenchmarks.testPerformanceRealGenericMultipleThreads",
"mode" : "thrpt",
"threads" : 1,
"forks" : 10,
"jvm" : "/usr/lib/jvm/temurin-17-jdk-amd64/bin/java",
"jvmArgs" : [
"--add-opens=java.base/java.lang=ALL-UNNAMED",
"--add-opens=java.base/java.lang.reflect=ALL-UNNAMED",
"--add-opens=java.base/java.util=ALL-UNNAMED"
],
"jdkVersion" : "17.0.18",
"vmName" : "OpenJDK 64-Bit Server VM",
"vmVersion" : "17.0.18+8",
"warmupIterations" : 3,
"warmupTime" : "1 s",
"warmupBatchSize" : 1,
"measurementIterations" : 5,
"measurementTime" : "1 s",
"measurementBatchSize" : 1,
"primaryMetric" : {
"score" : 1.2506417202814183E-8,
"scoreError" : 1.6795536311166225E-10,
"scoreConfidence" : [
1.2338461839702521E-8,
1.2674372565925844E-8
],
"scorePercentiles" : {
"0.0" : 1.1733735859924257E-8,
"50.0" : 1.255254892079249E-8,
"90.0" : 1.2938445000457253E-8,
"95.0" : 1.3008257332926023E-8,
"99.0" : 1.3040048230071413E-8,
"99.9" : 1.3040048230071413E-8,
"99.99" : 1.3040048230071413E-8,
"99.999" : 1.3040048230071413E-8,
"99.9999" : 1.3040048230071413E-8,
"100.0" : 1.3040048230071413E-8
},
"scoreUnit" : "ops/ns",
"rawData" : [
[
1.2450580080092053E-8,
1.2111996004636375E-8,
1.2770603940132117E-8,
1.2648063423437725E-8,
1.2715763471008417E-8
],
[
1.2326706782442042E-8,
1.2210799128178248E-8,
1.2835878531711753E-8,
1.2807023702810926E-8,
1.2733071615624519E-8
],
[
1.2141135447130916E-8,
1.2140364012378727E-8,
1.2502036942453608E-8,
1.2744748833097659E-8,
1.2640977566390641E-8
],
[
1.2047673738541486E-8,
1.184647947048693E-8,
1.2332669708897852E-8,
1.2398736798383E-8,
1.2556915935981821E-8
],
[
1.1976943736552175E-8,
1.2067670427334915E-8,
1.2354869791770663E-8,
1.2596231099714954E-8,
1.267292838332715E-8
],
[
1.228620296228141E-8,
1.212459517154207E-8,
1.2487777035882146E-8,
1.283045661418847E-8,
1.2839408073421376E-8
],
[
1.2573329908719346E-8,
1.2226931345407104E-8,
1.2798375934137093E-8,
1.3012109822244077E-8,
1.2984828746834288E-8
],
[
1.2316015858909192E-8,
1.1733735859924257E-8,
1.238178824599642E-8,
1.2548181905603159E-8,
1.2590116433774484E-8
],
[
1.300510529621125E-8,
1.2511845228551519E-8,
1.2907209592671529E-8,
1.3040048230071413E-8,
1.2940719866531116E-8
],
[
1.2244654726902586E-8,
1.1852327279427286E-8,
1.2917971205792497E-8,
1.2705604809180103E-8,
1.283065141398832E-8
]
]
},
"secondaryMetrics" : {
}
},
{
"jmhVersion" : "1.37",
"benchmark" : "ognl.benchmarks.OgnlRuntimePerformanceBenchmarks.testPerformanceRealGenericSingleThread",
"mode" : "thrpt",
"threads" : 1,
"forks" : 10,
"jvm" : "/usr/lib/jvm/temurin-17-jdk-amd64/bin/java",
"jvmArgs" : [
"--add-opens=java.base/java.lang=ALL-UNNAMED",
"--add-opens=java.base/java.lang.reflect=ALL-UNNAMED",
"--add-opens=java.base/java.util=ALL-UNNAMED"
],
"jdkVersion" : "17.0.18",
"vmName" : "OpenJDK 64-Bit Server VM",
"vmVersion" : "17.0.18+8",
"warmupIterations" : 3,
"warmupTime" : "1 s",
"warmupBatchSize" : 1,
"measurementIterations" : 5,
"measurementTime" : "1 s",
"measurementBatchSize" : 1,
"primaryMetric" : {
"score" : 7.111649207987639E-9,
"scoreError" : 3.776570942995927E-11,
"scoreConfidence" : [
7.07388349855768E-9,
7.149414917417598E-9
],
"scorePercentiles" : {
"0.0" : 6.823621037283706E-9,
"50.0" : 7.135597966802026E-9,
"90.0" : 7.182100241676107E-9,
"95.0" : 7.191592508239966E-9,
"99.0" : 7.199594725453431E-9,
"99.9" : 7.199594725453431E-9,
"99.99" : 7.199594725453431E-9,
"99.999" : 7.199594725453431E-9,
"99.9999" : 7.199594725453431E-9,
"100.0" : 7.199594725453431E-9
},
"scoreUnit" : "ops/ns",
"rawData" : [
[
7.138928928092329E-9,
7.1410786827150655E-9,
7.137501518592667E-9,
7.13255860706166E-9,
7.144644554308517E-9
],
[
7.119680345718008E-9,
7.131499453153948E-9,
7.134950063786632E-9,
7.130702039926015E-9,
7.1465648381229144E-9
],
[
7.125470657265963E-9,
7.125209697036681E-9,
7.133010435919711E-9,
7.129294481248521E-9,
7.136765881316877E-9
],
[
7.143899342093931E-9,
7.1448114720701125E-9,
7.1163770023688E-9,
7.1248457364025385E-9,
7.145184731440814E-9
],
[
7.142434183210029E-9,
7.13171417693858E-9,
7.140614766676195E-9,
7.128241034663117E-9,
7.140839759988699E-9
],
[
7.021947224199773E-9,
6.832459851331237E-9,
6.980876182893762E-9,
6.823621037283706E-9,
7.13664931570586E-9
],
[
7.189978942403097E-9,
7.187344901869864E-9,
7.193564644262807E-9,
7.185245749555078E-9,
7.199594725453431E-9
],
[
7.084327504316193E-9,
7.153790670765373E-9,
7.126553173581471E-9,
7.128335514143629E-9,
7.13624586981742E-9
],
[
7.016717081106459E-9,
7.025470698237944E-9,
7.016135450466004E-9,
7.017009003526007E-9,
7.0254070773336175E-9
],
[
7.151812521170762E-9,
7.142951716813401E-9,
7.1471777841256826E-9,
7.144842075675615E-9,
7.147579293225488E-9
]
]
},
"secondaryMetrics" : {
}
},
{
"jmhVersion" : "1.37",
"benchmark" : "ognl.benchmarks.OgnlPerformanceBenchmarks.constantExpressionCompiled",
"mode" : "avgt",
"threads" : 1,
"forks" : 10,
"jvm" : "/usr/lib/jvm/temurin-17-jdk-amd64/bin/java",
"jvmArgs" : [
"--add-opens=java.base/java.lang=ALL-UNNAMED",
"--add-opens=java.base/java.lang.reflect=ALL-UNNAMED",
"--add-opens=java.base/java.util=ALL-UNNAMED"
],
"jdkVersion" : "17.0.18",
"vmName" : "OpenJDK 64-Bit Server VM",
"vmVersion" : "17.0.18+8",
"warmupIterations" : 3,
"warmupTime" : "1 s",
"warmupBatchSize" : 1,
"measurementIterations" : 5,
"measurementTime" : "1 s",
"measurementBatchSize" : 2,
"primaryMetric" : {
"score" : 4.212678763261015,
"scoreError" : 0.0076870053824087976,
"scoreConfidence" : [
4.204991757878606,
4.220365768643424
],
"scorePercentiles" : {
"0.0" : 4.185243124004843,
"50.0" : 4.210598222929628,
"90.0" : 4.237546820672852,
"95.0" : 4.238835417400423,
"99.0" : 4.246978960925418,
"99.9" : 4.246978960925418,
"99.99" : 4.246978960925418,
"99.999" : 4.246978960925418,
"99.9999" : 4.246978960925418,
"100.0" : 4.246978960925418
},
"scoreUnit" : "ns/op",
"rawData" : [
[
4.2020899286376485,
4.211640233831468,
4.210403879702845,
4.2104764237877434,
4.239179487715927
],
[
4.202757412135211,
4.213716586341822,
4.206633168069475,
4.208667416018454,
4.211235707887466
],
[
4.196105407813176,
4.185243124004843,
4.18563796823676,
4.188200593541672,
4.200358290940981
],
[
4.198480788267704,
4.203948520004001,
4.202704690366885,
4.200732046354101,
4.197315675942634
],
[
4.202971926151868,
4.206603909714903,
4.200794148364205,
4.19659696653266,
4.198762981816232
],
[
4.246978960925418,
4.226637105617118,
4.236677771731939,
4.2239113125158525,
4.2293939978697255
],
[
4.221173309377198,
4.218562137223888,
4.2367399598105155,
4.217504433569328,
4.218855552494926
],
[
4.197184582182064,
4.19860460400435,
4.210720022071511,
4.206636777715365,
4.197516693638447
],
[
4.212663876955742,
4.210796948610319,
4.2191925897528595,
4.220974820828683,
4.2188381091381775
],
[
4.238553905324101,
4.2378493765499385,
4.23348800799394,
4.237636471879779,
4.235589553088881
]
]
},
"secondaryMetrics" : {
}
},
{
"jmhVersion" : "1.37",
"benchmark" : "ognl.benchmarks.OgnlPerformanceBenchmarks.constantExpressionInterpreted",
"mode" : "avgt",
"threads" : 1,
"forks" : 10,
"jvm" : "/usr/lib/jvm/temurin-17-jdk-amd64/bin/java",
"jvmArgs" : [
"--add-opens=java.base/java.lang=ALL-UNNAMED",
"--add-opens=java.base/java.lang.reflect=ALL-UNNAMED",
"--add-opens=java.base/java.util=ALL-UNNAMED"
],
"jdkVersion" : "17.0.18",
"vmName" : "OpenJDK 64-Bit Server VM",
"vmVersion" : "17.0.18+8",
"warmupIterations" : 3,
"warmupTime" : "1 s",
"warmupBatchSize" : 1,
"measurementIterations" : 5,
"measurementTime" : "1 s",
"measurementBatchSize" : 2,
"primaryMetric" : {
"score" : 23.476159513605285,
"scoreError" : 0.044536418857247795,
"scoreConfidence" : [
23.431623094748037,
23.520695932462534
],
"scorePercentiles" : {
"0.0" : 23.385692680760858,
"50.0" : 23.44218642376611,
"90.0" : 23.64765528951581,
"95.0" : 23.662355635255032,
"99.0" : 23.761374877781773,
"99.9" : 23.761374877781773,
"99.99" : 23.761374877781773,
"99.999" : 23.761374877781773,
"99.9999" : 23.761374877781773,
"100.0" : 23.761374877781773
},
"scoreUnit" : "ns/op",
"rawData" : [
[
23.437719141044496,
23.44426895298397,
23.480234187222436,
23.44754756586917,
23.43497422806599
],
[
23.64767057645583,
23.508624015993814,
23.528581213525456,
23.521798411485232,
23.52245142633455
],
[
23.392906986061632,
23.391612935470246,
23.45092431410603,
23.761374877781773,
23.42584728096977
],
[
23.429753877299877,
23.470297930862348,
23.428953816324803,
23.47033470342424,
23.4385348719052
],
[
23.656122910002,
23.628020722264882,
23.66382803250812,
23.64751770705563,
23.661150946593413
],
[
23.406550364147353,
23.43144560300939,
23.445786148660567,
23.405695056438308,
23.425412420656603
],
[
23.414575594188914,
23.442710639342533,
23.41334470427381,
23.385692680760858,
23.38753238131
],
[
23.43375923216899,
23.470217323817508,
23.409862349102834,
23.453153382549623,
23.41104635513602
],
[
23.441662208189687,
23.4274144794497,
23.467206642677716,
23.42766696960862,
23.390157631894077
],
[
23.466764198720917,
23.407530622932857,
23.490985461033954,
23.43057244951783,
23.630179149065007
]
]
},
"secondaryMetrics" : {
}
},
{
"jmhVersion" : "1.37",
"benchmark" : "ognl.benchmarks.OgnlPerformanceBenchmarks.propertyNavigationAndComparisonExpressionCompiled",
"mode" : "avgt",
"threads" : 1,
"forks" : 10,
"jvm" : "/usr/lib/jvm/temurin-17-jdk-amd64/bin/java",
"jvmArgs" : [
"--add-opens=java.base/java.lang=ALL-UNNAMED",
"--add-opens=java.base/java.lang.reflect=ALL-UNNAMED",
"--add-opens=java.base/java.util=ALL-UNNAMED"
],
"jdkVersion" : "17.0.18",
"vmName" : "OpenJDK 64-Bit Server VM",
"vmVersion" : "17.0.18+8",
"warmupIterations" : 3,
"warmupTime" : "1 s",
"warmupBatchSize" : 1,
"measurementIterations" : 5,
"measurementTime" : "1 s",
"measurementBatchSize" : 2,
"primaryMetric" : {
"score" : 5.07369916848029,
"scoreError" : 0.009036842912051984,
"scoreConfidence" : [
5.0646623255682375,
5.082736011392342
],
"scorePercentiles" : {
"0.0" : 5.04760426869117,
"50.0" : 5.069561009715118,
"90.0" : 5.098406105564626,
"95.0" : 5.0990478303194315,
"99.0" : 5.112493842928659,
"99.9" : 5.112493842928659,
"99.99" : 5.112493842928659,
"99.999" : 5.112493842928659,
"99.9999" : 5.112493842928659,
"100.0" : 5.112493842928659
},
"scoreUnit" : "ns/op",
"rawData" : [
[
5.04760426869117,
5.050299977306783,
5.05475569576501,
5.051356900346964,
5.050888484056435
],
[
5.097922717330408,
5.092853207741855,
5.097216797997191,
5.0921813526635304,
5.0898819058200315
],
[
5.075660710123181,
5.056595761473845,
5.062256815325732,
5.056290328044339,
5.058531981487619
],
[
5.098451893111682,
5.112493842928659,
5.098988841245382,
5.094915272671527,
5.098618826763342
],
[
5.082909718675992,
5.097727382553299,
5.083621401362909,
5.079458857211658,
5.08802028145316
],
[
5.067355528985504,
5.056138298678848,
5.068283848405462,
5.06438370397046,
5.063853174365042
],
[
5.055441300623839,
5.059742644280677,
5.059122306107231,
5.060582693187998,
5.0588583300620105
],
[
5.058463555883924,
5.054646354395205,
5.050841735843806,
5.055633437779259,
5.054097688123031
],
[
5.077858967818933,
5.07130798920343,
5.062256366519151,
5.070838171024772,
5.075879731685449
],
[
5.091265891892027,
5.092769084484789,
5.099119928076602,
5.088720452824153,
5.097994017641121
]
]
},
"secondaryMetrics" : {
}
},
{
"jmhVersion" : "1.37",
"benchmark" : "ognl.benchmarks.OgnlPerformanceBenchmarks.propertyNavigationAndComparisonExpressionInterpreted",
"mode" : "avgt",
"threads" : 1,
"forks" : 10,
"jvm" : "/usr/lib/jvm/temurin-17-jdk-amd64/bin/java",
"jvmArgs" : [
"--add-opens=java.base/java.lang=ALL-UNNAMED",
"--add-opens=java.base/java.lang.reflect=ALL-UNNAMED",
"--add-opens=java.base/java.util=ALL-UNNAMED"
],
"jdkVersion" : "17.0.18",
"vmName" : "OpenJDK 64-Bit Server VM",
"vmVersion" : "17.0.18+8",
"warmupIterations" : 3,
"warmupTime" : "1 s",
"warmupBatchSize" : 1,
"measurementIterations" : 5,
"measurementTime" : "1 s",
"measurementBatchSize" : 2,
"primaryMetric" : {
"score" : 702.3919660551082,
"scoreError" : 5.681206542356396,
"scoreConfidence" : [
696.7107595127518,
708.0731725974647
],
"scorePercentiles" : {
"0.0" : 690.7375328301506,
"50.0" : 699.9639456987029,
"90.0" : 721.8959942243439,
"95.0" : 723.55435278019,
"99.0" : 744.0124848709371,
"99.9" : 744.0124848709371,
"99.99" : 744.0124848709371,
"99.999" : 744.0124848709371,
"99.9999" : 744.0124848709371,
"100.0" : 744.0124848709371
},
"scoreUnit" : "ns/op",
"rawData" : [
[
699.2650625406392,
702.0580899581502,
702.2363107738172,
707.4172629253029,
703.7206182778015
],
[
703.5020836776823,
709.7473275693228,
705.2556980966034,
701.9411327916094,
701.2391167555148
],
[
696.344307953545,
692.3685044504716,
690.7375328301506,
693.4217671369353,
716.0056453717223
],
[
708.7312220432993,
744.0124848709371,
719.23466011605,
696.8805025311548,
693.8751126512857
],
[
721.5951875253407,
722.8113309337571,
721.9294171908998,
722.4126619663224,
724.462490592497
],
[
691.8527362069032,
692.1467071141449,
692.7012289900799,
697.6634191018752,
692.9437190295654
],
[
692.7882188491903,
692.3194417428853,
693.7902455554018,
692.0302999692109,
693.2198570058273
],
[
704.0832457154596,
708.2716009254125,
709.0992807989484,
703.6873112861232,
700.0317954263496
],
[
691.0228553011165,
691.5934019848671,
691.2356113684625,
691.8243006234165,
691.9514995113767
],
[
697.8796389475384,
699.7763092947165,
702.281921019001,
699.8960959710561,
704.302029485678
]
]
},
"secondaryMetrics" : {
}
},
{
"jmhVersion" : "1.37",
"benchmark" : "ognl.benchmarks.OgnlPerformanceBenchmarks.propertyNavigationExpressionCompiled",
"mode" : "avgt",
"threads" : 1,
"forks" : 10,
"jvm" : "/usr/lib/jvm/temurin-17-jdk-amd64/bin/java",
"jvmArgs" : [
"--add-opens=java.base/java.lang=ALL-UNNAMED",
"--add-opens=java.base/java.lang.reflect=ALL-UNNAMED",
"--add-opens=java.base/java.util=ALL-UNNAMED"
],
"jdkVersion" : "17.0.18",
"vmName" : "OpenJDK 64-Bit Server VM",
"vmVersion" : "17.0.18+8",
"warmupIterations" : 3,
"warmupTime" : "1 s",
"warmupBatchSize" : 1,
"measurementIterations" : 5,
"measurementTime" : "1 s",
"measurementBatchSize" : 2,
"primaryMetric" : {
"score" : 5.483375422308572,
"scoreError" : 0.011179774091267526,
"scoreConfidence" : [
5.472195648217304,
5.49455519639984
],
"scorePercentiles" : {
"0.0" : 5.454717662055155,
"50.0" : 5.478503375701898,
"90.0" : 5.510791394319896,
"95.0" : 5.525800689784233,
"99.0" : 5.57335200131931,
"99.9" : 5.57335200131931,
"99.99" : 5.57335200131931,
"99.999" : 5.57335200131931,
"99.9999" : 5.57335200131931,
"100.0" : 5.57335200131931
},
"scoreUnit" : "ns/op",
"rawData" : [
[
5.478416395688247,
5.467756441963081,
5.480135666854784,
5.487164164793854,
5.477951490186059
],
[
5.5172353143887065,
5.494813376902206,
5.477605862557764,
5.475473382864657,
5.467745502333391
],
[
5.467643372275811,
5.47088980487035,
5.459473250685656,
5.464084472855917,
5.4662617755223835
],
[
5.462501151534489,
5.463138277177212,
5.45954915364299,
5.465125859487712,
5.457160184861723
],
[
5.494529047930599,
5.474820377345847,
5.487163014509654,
5.484448634917844,
5.47859035571555
],
[
5.4923066615921385,
5.490320751774397,
5.490603522637868,
5.57335200131931,
5.4934859296889815
],
[
5.5167436412905815,
5.51035701160504,
5.510839659065991,
5.500752535112931,
5.509508374452085
],
[
5.473603139672041,
5.486192107233305,
5.4720789382484964,
5.472020173180854,
5.490956351377059
],
[
5.459342896268209,
5.45896417792104,
5.463191385526211,
5.457629732273535,
5.454717662055155
],
[
5.497347689076424,
5.489147274417496,
5.491621799748753,
5.53626948193432,
5.497741886089842
]
]
},
"secondaryMetrics" : {
}
},
{
"jmhVersion" : "1.37",
"benchmark" : "ognl.benchmarks.OgnlPerformanceBenchmarks.propertyNavigationExpressionInterpreted",
"mode" : "avgt",
"threads" : 1,
"forks" : 10,
"jvm" : "/usr/lib/jvm/temurin-17-jdk-amd64/bin/java",
"jvmArgs" : [
"--add-opens=java.base/java.lang=ALL-UNNAMED",
"--add-opens=java.base/java.lang.reflect=ALL-UNNAMED",
"--add-opens=java.base/java.util=ALL-UNNAMED"
],
"jdkVersion" : "17.0.18",
"vmName" : "OpenJDK 64-Bit Server VM",
"vmVersion" : "17.0.18+8",
"warmupIterations" : 3,
"warmupTime" : "1 s",
"warmupBatchSize" : 1,
"measurementIterations" : 5,
"measurementTime" : "1 s",
"measurementBatchSize" : 2,
"primaryMetric" : {
"score" : 679.1732435698752,
"scoreError" : 8.548577193783828,
"scoreConfidence" : [
670.6246663760915,
687.721820763659
],
"scorePercentiles" : {
"0.0" : 665.7810106687843,
"50.0" : 678.085026629705,
"90.0" : 689.4791699537317,
"95.0" : 708.0428738108368,
"99.0" : 779.4931702277812,
"99.9" : 779.4931702277812,
"99.99" : 779.4931702277812,
"99.999" : 779.4931702277812,
"99.9999" : 779.4931702277812,
"100.0" : 779.4931702277812
},
"scoreUnit" : "ns/op",
"rawData" : [
[
678.3639912178666,
678.0584609814931,
679.6652154752525,
678.1115922779169,
679.6734788179346
],
[
679.4227971029111,
679.885893024413,
679.0047881058658,
682.0002584427766,
705.9136309246767
],
[
671.1510834427932,
665.8024437247665,
667.0842622401946,
710.6452817828102,
779.4931702277812
],
[
668.3074083997186,
668.5026652754875,
667.0190218714176,
669.6054763997806,
675.8851982856378
],
[
669.9683314378946,
671.0671255969364,
671.8514463133301,
672.5706480386556,
672.3573554506798
],
[
666.3840441554436,
668.1974958845977,
666.3434175057929,
681.282796703046,
665.7810106687843
],
[
668.8496086396843,
675.3729435938851,
668.3368609565813,
668.2072014861429,
670.8554007523696
],
[
676.6288857823113,
675.8224381759746,
679.9581575963257,
679.6543145780016,
689.5452243360373
],
[
680.0055673098983,
679.8027880870974,
679.5378429427511,
681.6638322582755,
680.1771952439908
],
[
688.884680512981,
697.4584509497643,
682.6927045862542,
682.1795375103585,
683.6287534184123
]
]
},
"secondaryMetrics" : {
}
},
{
"jmhVersion" : "1.37",
"benchmark" : "ognl.benchmarks.OgnlPerformanceBenchmarks.propertyNavigationWithMapExpressionCompiled",
"mode" : "avgt",
"threads" : 1,
"forks" : 10,
"jvm" : "/usr/lib/jvm/temurin-17-jdk-amd64/bin/java",
"jvmArgs" : [
"--add-opens=java.base/java.lang=ALL-UNNAMED",
"--add-opens=java.base/java.lang.reflect=ALL-UNNAMED",
"--add-opens=java.base/java.util=ALL-UNNAMED"
],
"jdkVersion" : "17.0.18",
"vmName" : "OpenJDK 64-Bit Server VM",
"vmVersion" : "17.0.18+8",
"warmupIterations" : 3,
"warmupTime" : "1 s",
"warmupBatchSize" : 1,
"measurementIterations" : 5,
"measurementTime" : "1 s",
"measurementBatchSize" : 2,
"primaryMetric" : {
"score" : 8.123414308199202,
"scoreError" : 0.014496378489671844,
"scoreConfidence" : [
8.10891792970953,
8.137910686688873
],
"scorePercentiles" : {
"0.0" : 8.055515736850916,
"50.0" : 8.129378978414803,
"90.0" : 8.154097663510694,
"95.0" : 8.161910446433415,
"99.0" : 8.175349863209417,
"99.9" : 8.175349863209417,
"99.99" : 8.175349863209417,
"99.999" : 8.175349863209417,
"99.9999" : 8.175349863209417,
"100.0" : 8.175349863209417
},
"scoreUnit" : "ns/op",
"rawData" : [
[
8.124432278617306,
8.119729352321361,
8.100064744515407,
8.106666919659666,
8.105609959339107
],
[
8.129695672034202,
8.132619758061143,
8.133018506321315,
8.124950507028247,
8.1290622847954
],
[
8.098671628979277,
8.10781423647921,
8.0903852678503,
8.114732865670165,
8.08607827441062
],
[
8.126620400790996,
8.150363001658617,
8.13533573484541,
8.153970607766869,
8.143369192699273
],
[
8.10824525171707,
8.100208441142836,
8.10974742786035,
8.092451336766851,
8.101116363003937
],
[
8.059346831954553,
8.0655584348832,
8.067207000816227,
8.06624156387142,
8.055515736850916
],
[
8.133713413488563,
8.134503804910993,
8.132283377431015,
8.125571127709891,
8.137233326766927
],
[
8.12488782736298,
8.175349863209417,
8.145227424852688,
8.15977518952051,
8.141910771050837
],
[
8.154111337954895,
8.153166417173763,
8.140124663592726,
8.159573111000894,
8.141141486917757
],
[
8.152550420013691,
8.150125348755626,
8.153974593512878,
8.164520204882525,
8.152142117140281
]
]
},
"secondaryMetrics" : {
}
},
{
"jmhVersion" : "1.37",
"benchmark" : "ognl.benchmarks.OgnlPerformanceBenchmarks.propertyNavigationWithMapExpressionInterpreted",
"mode" : "avgt",
"threads" : 1,
"forks" : 10,
"jvm" : "/usr/lib/jvm/temurin-17-jdk-amd64/bin/java",
"jvmArgs" : [
"--add-opens=java.base/java.lang=ALL-UNNAMED",
"--add-opens=java.base/java.lang.reflect=ALL-UNNAMED",
"--add-opens=java.base/java.util=ALL-UNNAMED"
],
"jdkVersion" : "17.0.18",
"vmName" : "OpenJDK 64-Bit Server VM",
"vmVersion" : "17.0.18+8",
"warmupIterations" : 3,
"warmupTime" : "1 s",
"warmupBatchSize" : 1,
"measurementIterations" : 5,
"measurementTime" : "1 s",
"measurementBatchSize" : 2,
"primaryMetric" : {
"score" : 857.1613925870099,
"scoreError" : 6.1584363747836495,
"scoreConfidence" : [
851.0029562122263,
863.3198289617935
],
"scorePercentiles" : {
"0.0" : 824.1896519970318,
"50.0" : 859.0435453842059,
"90.0" : 870.0590452850839,
"95.0" : 874.6331142506676,
"99.0" : 889.2012620887944,
"99.9" : 889.2012620887944,
"99.99" : 889.2012620887944,
"99.999" : 889.2012620887944,
"99.9999" : 889.2012620887944,
"100.0" : 889.2012620887944
},
"scoreUnit" : "ns/op",
"rawData" : [
[
855.3559220712914,
853.8970487290958,
856.9446457251869,
849.2515874296292,
856.5624886821846
],
[
834.776135547951,
826.0634199181575,
832.5656255228541,
832.9911861233393,
824.1896519970318
],
[
868.093714320431,
860.1584182768488,
858.6024309549726,
861.3180009714056,
862.8909122987285
],
[
848.4252112980126,
845.8224323250091,
853.2126812481285,
844.1887423101741,
848.1008693159945
],
[
865.7778282736472,
868.2777215890987,
870.9266380386422,
865.9331097250554,
869.5330335734542
],
[
860.5725018013658,
851.052833198961,
852.565048739831,
848.455051876433,
868.3813106832996
],
[
847.0413481762466,
879.1632518431433,
859.022092509916,
860.9451800804145,
860.4472667315074
],
[
870.1174910308206,
858.6033461043527,
859.7857985306987,
858.7603197997023,
866.4357938225781
],
[
856.6059854784088,
858.0700290661762,
889.2012620887944,
859.0649982584958,
859.3523779738366
],
[
862.3928445639077,
870.6837174177514,
864.356715723321,
862.9793908990348,
860.1542166851717
]
]
},
"secondaryMetrics" : {
}
},
{
"jmhVersion" : "1.37",
"benchmark" : "ognl.benchmarks.OgnlPerformanceBenchmarks.singlePropertyExpressionCompiled",
"mode" : "avgt",
"threads" : 1,
"forks" : 10,
"jvm" : "/usr/lib/jvm/temurin-17-jdk-amd64/bin/java",
"jvmArgs" : [
"--add-opens=java.base/java.lang=ALL-UNNAMED",
"--add-opens=java.base/java.lang.reflect=ALL-UNNAMED",
"--add-opens=java.base/java.util=ALL-UNNAMED"
],
"jdkVersion" : "17.0.18",
"vmName" : "OpenJDK 64-Bit Server VM",
"vmVersion" : "17.0.18+8",
"warmupIterations" : 3,
"warmupTime" : "1 s",
"warmupBatchSize" : 1,
"measurementIterations" : 5,
"measurementTime" : "1 s",
"measurementBatchSize" : 2,
"primaryMetric" : {
"score" : 2.3412293359031016,
"scoreError" : 0.00909435391011207,
"scoreConfidence" : [
2.3321349819929895,
2.3503236898132136
],
"scorePercentiles" : {
"0.0" : 2.3168019116446423,
"50.0" : 2.33767011827742,
"90.0" : 2.3609834546224193,
"95.0" : 2.366910589781843,
"99.0" : 2.4318742354614042,
"99.9" : 2.4318742354614042,
"99.99" : 2.4318742354614042,
"99.999" : 2.4318742354614042,
"99.9999" : 2.4318742354614042,
"100.0" : 2.4318742354614042
},
"scoreUnit" : "ns/op",
"rawData" : [
[
2.3393401896393256,
2.352886325314782,
2.3330290857970715,
2.334662682351483,
2.3311274400574136
],
[
2.3279232412078503,
2.3369981439312997,
2.3257155770675957,
2.344021270214791,
2.3228157502480338
],
[
2.345455436671617,
2.3611110403224322,
2.348068337675366,
2.336909179733739,
2.342048510772919
],
[
2.3520320923572524,
2.3513075535982977,
2.362925664000496,
2.361285809744925,
2.3548328382971033
],
[
2.3292870894847333,
2.335195001565128,
2.3598351833223044,
2.351132652701361,
2.4318742354614042
],
[
2.3428433518994454,
2.33834209262354,
2.3398609370931025,
2.3717810546257123,
2.3490933202108555
],
[
2.3179279541618354,
2.329418614102727,
2.3171947668886332,
2.3319851387917336,
2.3175789339721833
],
[
2.3397369370583183,
2.352448204968322,
2.329058560926048,
2.326727557644771,
2.3168019116446423
],
[
2.330778738199022,
2.330013084244065,
2.331542908246752,
2.356940028414262,
2.33415910374694
],
[
2.3321867135896714,
2.343748112153039,
2.333328098276298,
2.3408391058443643,
2.335311234290065
]
]
},
"secondaryMetrics" : {
}
},
{
"jmhVersion" : "1.37",
"benchmark" : "ognl.benchmarks.OgnlPerformanceBenchmarks.singlePropertyExpressionInterpreted",
"mode" : "avgt",
"threads" : 1,
"forks" : 10,
"jvm" : "/usr/lib/jvm/temurin-17-jdk-amd64/bin/java",
"jvmArgs" : [
"--add-opens=java.base/java.lang=ALL-UNNAMED",
"--add-opens=java.base/java.lang.reflect=ALL-UNNAMED",
"--add-opens=java.base/java.util=ALL-UNNAMED"
],
"jdkVersion" : "17.0.18",
"vmName" : "OpenJDK 64-Bit Server VM",
"vmVersion" : "17.0.18+8",
"warmupIterations" : 3,
"warmupTime" : "1 s",
"warmupBatchSize" : 1,
"measurementIterations" : 5,
"measurementTime" : "1 s",
"measurementBatchSize" : 2,
"primaryMetric" : {
"score" : 162.06714052857922,
"scoreError" : 0.8006111061718928,
"scoreConfidence" : [
161.26652942240733,
162.8677516347511
],
"scorePercentiles" : {
"0.0" : 160.1723191047914,
"50.0" : 161.48334465069073,
"90.0" : 165.11008181336098,
"95.0" : 165.26375636661982,
"99.0" : 165.35405811829082,
"99.9" : 165.35405811829082,
"99.99" : 165.35405811829082,
"99.999" : 165.35405811829082,
"99.9999" : 165.35405811829082,
"100.0" : 165.35405811829082
},
"scoreUnit" : "ns/op",
"rawData" : [
[
165.20713270369404,
165.35405811829082,
165.27406720459737,
165.23177127685847,
165.25532022645635
],
[
164.19986124474886,
164.2366238003634,
164.17355573622413,
164.17962421687227,
164.20656514993556
],
[
160.48547954366927,
160.8562771288926,
160.6731879498754,
160.84385883318603,
160.67842299853774
],
[
162.77890393112065,
162.6902141464944,
162.66825231563274,
162.81823424435368,
162.76641983321085
],
[
160.42689581737193,
160.45428784635138,
160.67686772595573,
160.4683314489738,
160.47459045832454
],
[
160.9269110802522,
161.00911859730383,
161.16780133265848,
161.3137281498279,
161.04527213008535
],
[
161.65296115155354,
161.86575069491292,
161.82319740908474,
161.93481585196466,
161.9292005925734
],
[
160.20944631534792,
160.24524424439878,
160.1956322730681,
160.32405683749238,
160.1723191047914
],
[
162.92168148271045,
163.05162613955872,
162.9977757147687,
162.82511260915683,
162.97704583256134
],
[
161.10395123822926,
161.09020807969563,
161.1916229355633,
161.14689472034425,
161.15684801106391
]
]
},
"secondaryMetrics" : {
}
},
{
"jmhVersion" : "1.37",
"benchmark" : "ognl.benchmarks.OgnlRuntimePerformanceBenchmarks.testPerformanceFakeGenericMultipleThreads",
"mode" : "avgt",
"threads" : 1,
"forks" : 10,
"jvm" : "/usr/lib/jvm/temurin-17-jdk-amd64/bin/java",
"jvmArgs" : [
"--add-opens=java.base/java.lang=ALL-UNNAMED",
"--add-opens=java.base/java.lang.reflect=ALL-UNNAMED",
"--add-opens=java.base/java.util=ALL-UNNAMED"
],
"jdkVersion" : "17.0.18",
"vmName" : "OpenJDK 64-Bit Server VM",
"vmVersion" : "17.0.18+8",
"warmupIterations" : 3,
"warmupTime" : "1 s",
"warmupBatchSize" : 1,
"measurementIterations" : 5,
"measurementTime" : "1 s",
"measurementBatchSize" : 1,
"primaryMetric" : {
"score" : 8.352387326354313E7,
"scoreError" : 1273944.5565008267,
"scoreConfidence" : [
8.22499287070423E7,
8.479781782004395E7
],
"scorePercentiles" : {
"0.0" : 7.994802038461539E7,
"50.0" : 8.320792673076923E7,
"90.0" : 8.671046423333333E7,
"95.0" : 8.853908885833333E7,
"99.0" : 9.119983481818181E7,
"99.9" : 9.119983481818181E7,
"99.99" : 9.119983481818181E7,
"99.999" : 9.119983481818181E7,
"99.9999" : 9.119983481818181E7,
"100.0" : 9.119983481818181E7
},
"scoreUnit" : "ns/op",
"rawData" : [
[
8.245578976923077E7,
8.464437175E7,
8.073084523076923E7,
8.089255353846154E7,
8.038750315384616E7
],
[
8.34967295E7,
8.569674533333333E7,
8.075474607692307E7,
8.008213453846154E7,
8.03252733076923E7
],
[
8.598181791666667E7,
8.48831675E7,
8.452698483333333E7,
8.279297038461539E7,
8.360238358333333E7
],
[
8.297315207692307E7,
8.5976206E7,
8.2337632E7,
8.164322353846154E7,
8.210704553846154E7
],
[
8.6278332E7,
8.574380575E7,
8.517334975E7,
8.33412826923077E7,
8.24347216923077E7
],
[
8.45245365E7,
8.5520408E7,
8.307457076923077E7,
8.170058653846154E7,
8.195896215384616E7
],
[
8.5783988E7,
8.666831933333333E7,
8.06874376923077E7,
8.025599423076923E7,
7.994802038461539E7
],
[
9.119983481818181E7,
8.6715147E7,
8.828961508333333E7,
8.676237308333333E7,
8.424843566666667E7
],
[
8.114361007692307E7,
8.471947416666667E7,
8.08341006923077E7,
8.045492992307693E7,
8.149901953846154E7
],
[
8.364378158333333E7,
8.884400125E7,
8.477130008333333E7,
8.218445253846154E7,
8.149799661538461E7
]
]
},
"secondaryMetrics" : {
}
},
{
"jmhVersion" : "1.37",
"benchmark" : "ognl.benchmarks.OgnlRuntimePerformanceBenchmarks.testPerformanceFakeGenericSingleThread",
"mode" : "avgt",
"threads" : 1,
"forks" : 10,
"jvm" : "/usr/lib/jvm/temurin-17-jdk-amd64/bin/java",
"jvmArgs" : [
"--add-opens=java.base/java.lang=ALL-UNNAMED",
"--add-opens=java.base/java.lang.reflect=ALL-UNNAMED",
"--add-opens=java.base/java.util=ALL-UNNAMED"
],
"jdkVersion" : "17.0.18",
"vmName" : "OpenJDK 64-Bit Server VM",
"vmVersion" : "17.0.18+8",
"warmupIterations" : 3,
"warmupTime" : "1 s",
"warmupBatchSize" : 1,
"measurementIterations" : 5,
"measurementTime" : "1 s",
"measurementBatchSize" : 1,
"primaryMetric" : {
"score" : 1.4467023570000005E8,
"scoreError" : 574219.4823169827,
"scoreConfidence" : [
1.4409601621768308E8,
1.4524445518231702E8
],
"scorePercentiles" : {
"0.0" : 1.434304227142857E8,
"50.0" : 1.439757837142857E8,
"90.0" : 1.4642288445714286E8,
"95.0" : 1.4662256341428572E8,
"99.0" : 1.4691930257142857E8,
"99.9" : 1.4691930257142857E8,
"99.99" : 1.4691930257142857E8,
"99.999" : 1.4691930257142857E8,
"99.9999" : 1.4691930257142857E8,
"100.0" : 1.4691930257142857E8
},
"scoreUnit" : "ns/op",
"rawData" : [
[
1.446627332857143E8,
1.447269092857143E8,
1.4477477342857143E8,
1.448543292857143E8,
1.445648752857143E8
],
[
1.4436442842857143E8,
1.439379082857143E8,
1.4380489914285713E8,
1.4360596085714287E8,
1.434304227142857E8
],
[
1.4360466685714287E8,
1.43754466E8,
1.4429112857142857E8,
1.4387157285714287E8,
1.4353923757142857E8
],
[
1.4372011985714287E8,
1.43881248E8,
1.43845029E8,
1.439033427142857E8,
1.439665527142857E8
],
[
1.463655302857143E8,
1.4621592142857143E8,
1.4617292414285713E8,
1.4630755057142857E8,
1.4683932957142857E8
],
[
1.4384283185714287E8,
1.43774449E8,
1.439850147142857E8,
1.439146122857143E8,
1.438450832857143E8
],
[
1.4631791357142857E8,
1.4617162785714287E8,
1.46170411E8,
1.4609647042857143E8,
1.45977197E8
],
[
1.436695E8,
1.4432131185714287E8,
1.4345975214285713E8,
1.4354633614285713E8,
1.4347295485714287E8
],
[
1.4412936114285713E8,
1.437527887142857E8,
1.438538882857143E8,
1.4382016714285713E8,
1.438821697142857E8
],
[
1.464452092857143E8,
1.4642925714285713E8,
1.4644387642857143E8,
1.4626443842857143E8,
1.4691930257142857E8
]
]
},
"secondaryMetrics" : {
}
},
{
"jmhVersion" : "1.37",
"benchmark" : "ognl.benchmarks.OgnlRuntimePerformanceBenchmarks.testPerformanceMultipleClassesMultipleMethodsMultipleThreads",
"mode" : "avgt",
"threads" : 1,
"forks" : 10,
"jvm" : "/usr/lib/jvm/temurin-17-jdk-amd64/bin/java",
"jvmArgs" : [
"--add-opens=java.base/java.lang=ALL-UNNAMED",
"--add-opens=java.base/java.lang.reflect=ALL-UNNAMED",
"--add-opens=java.base/java.util=ALL-UNNAMED"
],
"jdkVersion" : "17.0.18",
"vmName" : "OpenJDK 64-Bit Server VM",
"vmVersion" : "17.0.18+8",
"warmupIterations" : 3,
"warmupTime" : "1 s",
"warmupBatchSize" : 1,
"measurementIterations" : 5,
"measurementTime" : "1 s",
"measurementBatchSize" : 1,
"primaryMetric" : {
"score" : 2.71095473096E9,
"scoreError" : 1.9977270327970363E7,
"scoreConfidence" : [
2.6909774606320295E9,
2.7309320012879705E9
],
"scorePercentiles" : {
"0.0" : 2.638522652E9,
"50.0" : 2.7108129845E9,
"90.0" : 2.7709087037E9,
"95.0" : 2.7836798922E9,
"99.0" : 2.798246682E9,
"99.9" : 2.798246682E9,
"99.99" : 2.798246682E9,
"99.999" : 2.798246682E9,
"99.9999" : 2.798246682E9,
"100.0" : 2.798246682E9
},
"scoreUnit" : "ns/op",
"rawData" : [
[
2.688984779E9,
2.682222232E9,
2.6890379E9,
2.704055534E9,
2.638522652E9
],
[
2.672001801E9,
2.645016804E9,
2.667737701E9,
2.686371017E9,
2.660283669E9
],
[
2.731206109E9,
2.685468942E9,
2.69960018E9,
2.665116238E9,
2.670310687E9
],
[
2.779242813E9,
2.721287568E9,
2.710086344E9,
2.724530485E9,
2.740310298E9
],
[
2.692422176E9,
2.726433823E9,
2.706659761E9,
2.720219243E9,
2.713869161E9
],
[
2.754523352E9,
2.771792487E9,
2.776570864E9,
2.798246682E9,
2.789102989E9
],
[
2.689571445E9,
2.66818863E9,
2.668514183E9,
2.675913198E9,
2.643841035E9
],
[
2.733076795E9,
2.743385479E9,
2.744937143E9,
2.737885114E9,
2.746627202E9
],
[
2.73916636E9,
2.742518429E9,
2.736624248E9,
2.762954654E9,
2.755123304E9
],
[
2.691088842E9,
2.71968694E9,
2.666183664E9,
2.659675967E9,
2.711539625E9
]
]
},
"secondaryMetrics" : {
}
},
{
"jmhVersion" : "1.37",
"benchmark" : "ognl.benchmarks.OgnlRuntimePerformanceBenchmarks.testPerformanceMultipleClassesMultipleMethodsSingleThread",
"mode" : "avgt",
"threads" : 1,
"forks" : 10,
"jvm" : "/usr/lib/jvm/temurin-17-jdk-amd64/bin/java",
"jvmArgs" : [
"--add-opens=java.base/java.lang=ALL-UNNAMED",
"--add-opens=java.base/java.lang.reflect=ALL-UNNAMED",
"--add-opens=java.base/java.util=ALL-UNNAMED"
],
"jdkVersion" : "17.0.18",
"vmName" : "OpenJDK 64-Bit Server VM",
"vmVersion" : "17.0.18+8",
"warmupIterations" : 3,
"warmupTime" : "1 s",
"warmupBatchSize" : 1,
"measurementIterations" : 5,
"measurementTime" : "1 s",
"measurementBatchSize" : 1,
"primaryMetric" : {
"score" : 7.44992529988E9,
"scoreError" : 7.047273836486752E7,
"scoreConfidence" : [
7.379452561515133E9,
7.520398038244867E9
],
"scorePercentiles" : {
"0.0" : 7.359428002E9,
"50.0" : 7.406071921E9,
"90.0" : 7.8256503857E9,
"95.0" : 7.86690699055E9,
"99.0" : 7.880369414E9,
"99.9" : 7.880369414E9,
"99.99" : 7.880369414E9,
"99.999" : 7.880369414E9,
"99.9999" : 7.880369414E9,
"100.0" : 7.880369414E9
},
"scoreUnit" : "ns/op",
"rawData" : [
[
7.42751174E9,
7.401949743E9,
7.412955761E9,
7.489817687E9,
7.39897997E9
],
[
7.405322833E9,
7.399841686E9,
7.404428314E9,
7.404302674E9,
7.3983849E9
],
[
7.401504853E9,
7.398063978E9,
7.420953094E9,
7.404078886E9,
7.402113812E9
],
[
7.41598624E9,
7.40910997E9,
7.414776221E9,
7.411710684E9,
7.412316046E9
],
[
7.865024344E9,
7.864842668E9,
7.880369414E9,
7.869208003E9,
7.86296513E9
],
[
7.400377489E9,
7.402528686E9,
7.407396522E9,
7.399918285E9,
7.400009565E9
],
[
7.416153826E9,
7.410083396E9,
7.406821009E9,
7.413669386E9,
7.407543862E9
],
[
7.413344685E9,
7.411399649E9,
7.416402764E9,
7.426276173E9,
7.414437591E9
],
[
7.359428002E9,
7.363959737E9,
7.362285279E9,
7.362000555E9,
7.362184745E9
],
[
7.392767666E9,
7.394700391E9,
7.393200034E9,
7.391291488E9,
7.391565558E9
]
]
},
"secondaryMetrics" : {
}
},
{
"jmhVersion" : "1.37",
"benchmark" : "ognl.benchmarks.OgnlRuntimePerformanceBenchmarks.testPerformanceNonGenericSingleThread",
"mode" : "avgt",
"threads" : 1,
"forks" : 10,
"jvm" : "/usr/lib/jvm/temurin-17-jdk-amd64/bin/java",
"jvmArgs" : [
"--add-opens=java.base/java.lang=ALL-UNNAMED",
"--add-opens=java.base/java.lang.reflect=ALL-UNNAMED",
"--add-opens=java.base/java.util=ALL-UNNAMED"
],
"jdkVersion" : "17.0.18",
"vmName" : "OpenJDK 64-Bit Server VM",
"vmVersion" : "17.0.18+8",
"warmupIterations" : 3,
"warmupTime" : "1 s",
"warmupBatchSize" : 1,
"measurementIterations" : 5,
"measurementTime" : "1 s",
"measurementBatchSize" : 1,
"primaryMetric" : {
"score" : 3.39755759785E8,
"scoreError" : 1713782.2165799108,
"scoreConfidence" : [
3.380419775684201E8,
3.4146954200157994E8
],
"scorePercentiles" : {
"0.0" : 3.3342244325E8,
"50.0" : 3.38800609E8,
"90.0" : 3.448974335E8,
"95.0" : 3.4540848548333335E8,
"99.0" : 3.459205973333333E8,
"99.9" : 3.459205973333333E8,
"99.99" : 3.459205973333333E8,
"99.999" : 3.459205973333333E8,
"99.9999" : 3.459205973333333E8,
"100.0" : 3.459205973333333E8
},
"scoreUnit" : "ns/op",
"rawData" : [
[
3.41047206E8,
3.38517581E8,
3.383519596666667E8,
3.378490023333333E8,
3.387698476666667E8
],
[
3.430251446666667E8,
3.44651066E8,
3.437956203333333E8,
3.43890735E8,
3.42871645E8
],
[
3.379876736666667E8,
3.367303413333333E8,
3.36498448E8,
3.390440733333333E8,
3.383978636666667E8
],
[
3.34431708E8,
3.406872243333333E8,
3.347289073333333E8,
3.347630116666667E8,
3.3342244325E8
],
[
3.404434036666667E8,
3.383636973333333E8,
3.382002256666667E8,
3.37626299E8,
3.370521846666667E8
],
[
3.39794674E8,
3.38749805E8,
3.388313703333333E8,
3.40570021E8,
3.395010633333333E8
],
[
3.434053303333333E8,
3.428932616666667E8,
3.43542987E8,
3.44707346E8,
3.441448436666667E8
],
[
3.384047183333333E8,
3.385700056666667E8,
3.37526489E8,
3.38927356E8,
3.366965083333333E8
],
[
3.349973976666667E8,
3.35112794E8,
3.3535672E8,
3.364920316666667E8,
3.415010343333333E8
],
[
3.455425646666667E8,
3.452344186666667E8,
3.452987843333333E8,
3.459205973333333E8,
3.449185543333333E8
]
]
},
"secondaryMetrics" : {
}
},
{
"jmhVersion" : "1.37",
"benchmark" : "ognl.benchmarks.OgnlRuntimePerformanceBenchmarks.testPerformanceNotGenericMultipleThreads",
"mode" : "avgt",
"threads" : 1,
"forks" : 10,
"jvm" : "/usr/lib/jvm/temurin-17-jdk-amd64/bin/java",
"jvmArgs" : [
"--add-opens=java.base/java.lang=ALL-UNNAMED",
"--add-opens=java.base/java.lang.reflect=ALL-UNNAMED",
"--add-opens=java.base/java.util=ALL-UNNAMED"
],
"jdkVersion" : "17.0.18",
"vmName" : "OpenJDK 64-Bit Server VM",
"vmVersion" : "17.0.18+8",
"warmupIterations" : 3,
"warmupTime" : "1 s",
"warmupBatchSize" : 1,
"measurementIterations" : 5,
"measurementTime" : "1 s",
"measurementBatchSize" : 1,
"primaryMetric" : {
"score" : 1.3942383400392857E8,
"scoreError" : 1144451.0748553728,
"scoreConfidence" : [
1.3827938292907318E8,
1.4056828507878396E8
],
"scorePercentiles" : {
"0.0" : 1.3491269025E8,
"50.0" : 1.391181768125E8,
"90.0" : 1.4255624765E8,
"95.0" : 1.4442842889285713E8,
"99.0" : 1.457412137142857E8,
"99.9" : 1.457412137142857E8,
"99.99" : 1.457412137142857E8,
"99.999" : 1.457412137142857E8,
"99.9999" : 1.457412137142857E8,
"100.0" : 1.457412137142857E8
},
"scoreUnit" : "ns/op",
"rawData" : [
[
1.3772884725E8,
1.4430199657142857E8,
1.3575141975E8,
1.39316399125E8,
1.38799587875E8
],
[
1.39464474375E8,
1.42602369625E8,
1.38559932125E8,
1.41896449125E8,
1.40164175375E8
],
[
1.3491269025E8,
1.38739415E8,
1.40050271875E8,
1.39054476375E8,
1.38588054125E8
],
[
1.38781422E8,
1.3798120975E8,
1.3918187725E8,
1.37625942E8,
1.4071597475E8
],
[
1.3952694675E8,
1.369029375E8,
1.40834021375E8,
1.36386410625E8,
1.40892485375E8
],
[
1.41931377E8,
1.384901045E8,
1.4164807725E8,
1.38699281125E8,
1.457412137142857E8
],
[
1.39720232125E8,
1.40247401E8,
1.4263733075E8,
1.412396035E8,
1.445829572857143E8
],
[
1.379924135E8,
1.4037367275E8,
1.37717747375E8,
1.40651737E8,
1.37831337375E8
],
[
1.36645853625E8,
1.40882177125E8,
1.368384205E8,
1.3738314525E8,
1.39629705E8
],
[
1.35363586125E8,
1.38401413125E8,
1.3740978025E8,
1.38232196875E8,
1.42141149875E8
]
]
},
"secondaryMetrics" : {
}
},
{
"jmhVersion" : "1.37",
"benchmark" : "ognl.benchmarks.OgnlRuntimePerformanceBenchmarks.testPerformanceRealGenericMultipleThreads",
"mode" : "avgt",
"threads" : 1,
"forks" : 10,
"jvm" : "/usr/lib/jvm/temurin-17-jdk-amd64/bin/java",
"jvmArgs" : [
"--add-opens=java.base/java.lang=ALL-UNNAMED",
"--add-opens=java.base/java.lang.reflect=ALL-UNNAMED",
"--add-opens=java.base/java.util=ALL-UNNAMED"
],
"jdkVersion" : "17.0.18",
"vmName" : "OpenJDK 64-Bit Server VM",
"vmVersion" : "17.0.18+8",
"warmupIterations" : 3,
"warmupTime" : "1 s",
"warmupBatchSize" : 1,
"measurementIterations" : 5,
"measurementTime" : "1 s",
"measurementBatchSize" : 1,
"primaryMetric" : {
"score" : 8.053043351829672E7,
"scoreError" : 1351715.494013605,
"scoreConfidence" : [
7.917871802428311E7,
8.188214901231033E7
],
"scorePercentiles" : {
"0.0" : 7.304900614285715E7,
"50.0" : 8.02318536923077E7,
"90.0" : 8.487123913333333E7,
"95.0" : 8.58002158875E7,
"99.0" : 8.745828533333333E7,
"99.9" : 8.745828533333333E7,
"99.99" : 8.745828533333333E7,
"99.999" : 8.745828533333333E7,
"99.9999" : 8.745828533333333E7,
"100.0" : 8.745828533333333E7
},
"scoreUnit" : "ns/op",
"rawData" : [
[
8.11243483076923E7,
8.251331923076923E7,
8.0575296E7,
7.961048E7,
7.955703407692307E7
],
[
8.27230833076923E7,
8.189102884615384E7,
8.469158008333333E7,
8.078371461538461E7,
8.114396415384616E7
],
[
8.2539305E7,
8.578243275E7,
8.04349396923077E7,
8.0612793E7,
7.927103261538461E7
],
[
7.610691971428572E7,
7.88668166923077E7,
7.663702607142857E7,
7.451366842857143E7,
7.304900614285715E7
],
[
8.013191715384616E7,
8.1782115E7,
7.960148361538461E7,
7.982062346153846E7,
7.889315823076923E7
],
[
8.157060261538461E7,
8.745828533333333E7,
7.98424096923077E7,
8.033179023076923E7,
7.94001643076923E7
],
[
8.046160207692307E7,
8.082731192307693E7,
7.921476246153846E7,
7.85831743076923E7,
7.837727253846154E7
],
[
8.09104543076923E7,
8.566713466666667E7,
7.884170653846154E7,
7.909124615384616E7,
7.900141415384616E7
],
[
8.582195083333333E7,
8.489120125E7,
8.171101084615384E7,
7.885028553846154E7,
7.991055676923077E7
],
[
8.258894576923077E7,
8.337952833333333E7,
7.899374407692307E7,
7.849319761538461E7,
7.964483738461539E7
]
]
},
"secondaryMetrics" : {
}
},
{
"jmhVersion" : "1.37",
"benchmark" : "ognl.benchmarks.OgnlRuntimePerformanceBenchmarks.testPerformanceRealGenericSingleThread",
"mode" : "avgt",
"threads" : 1,
"forks" : 10,
"jvm" : "/usr/lib/jvm/temurin-17-jdk-amd64/bin/java",
"jvmArgs" : [
"--add-opens=java.base/java.lang=ALL-UNNAMED",
"--add-opens=java.base/java.lang.reflect=ALL-UNNAMED",
"--add-opens=java.base/java.util=ALL-UNNAMED"
],
"jdkVersion" : "17.0.18",
"vmName" : "OpenJDK 64-Bit Server VM",
"vmVersion" : "17.0.18+8",
"warmupIterations" : 3,
"warmupTime" : "1 s",
"warmupBatchSize" : 1,
"measurementIterations" : 5,
"measurementTime" : "1 s",
"measurementBatchSize" : 1,
"primaryMetric" : {
"score" : 1.400855760925E8,
"scoreError" : 556865.6762001081,
"scoreConfidence" : [
1.3952871041629988E8,
1.4064244176870012E8
],
"scorePercentiles" : {
"0.0" : 1.38672728875E8,
"50.0" : 1.402176915625E8,
"90.0" : 1.424592530875E8,
"95.0" : 1.4275894314375E8,
"99.0" : 1.42916628375E8,
"99.9" : 1.42916628375E8,
"99.99" : 1.42916628375E8,
"99.999" : 1.42916628375E8,
"99.9999" : 1.42916628375E8,
"100.0" : 1.42916628375E8
},
"scoreUnit" : "ns/op",
"rawData" : [
[
1.40203864375E8,
1.40306679125E8,
1.39804513875E8,
1.4025443125E8,
1.4011435875E8
],
[
1.3921078E8,
1.3929364225E8,
1.39126003875E8,
1.39425657625E8,
1.3944110875E8
],
[
1.4064285375E8,
1.40675902625E8,
1.406477385E8,
1.40761277875E8,
1.40408688E8
],
[
1.38965885125E8,
1.3881993E8,
1.38741238625E8,
1.390525345E8,
1.38936058875E8
],
[
1.4011044075E8,
1.4016869725E8,
1.4023151875E8,
1.402507375E8,
1.40316498875E8
],
[
1.42708035375E8,
1.4282116375E8,
1.42647917E8,
1.42916628375E8,
1.42673424375E8
],
[
1.39386041375E8,
1.3905761575E8,
1.39091643625E8,
1.3887470075E8,
1.38672728875E8
],
[
1.4055718575E8,
1.40444986125E8,
1.404350445E8,
1.40379124875E8,
1.40591166125E8
],
[
1.38773988125E8,
1.3893956875E8,
1.39070526875E8,
1.390675925E8,
1.3884608775E8
],
[
1.40399776625E8,
1.4047827875E8,
1.40751854875E8,
1.404207355E8,
1.40361947375E8
]
]
},
"secondaryMetrics" : {
}
}
]
================================================
FILE: benchmarks/pom.xml
================================================
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>ognl</groupId>
<artifactId>ognl-parent</artifactId>
<version>3.5.0-SNAPSHOT</version>
</parent>
<artifactId>benchmarks</artifactId>
<name>OGNL Benchmarks</name>
<description>JMH-based performance benchmarks for OGNL</description>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<benchmarks.finalName>benchmarks</benchmarks.finalName>
<benchmarks.jmhArgs></benchmarks.jmhArgs>
</properties>
<dependencies>
<!-- OGNL Core -->
<dependency>
<groupId>ognl</groupId>
<artifactId>ognl</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openjdk.jmh</groupId>
<artifactId>jmh-core</artifactId>
</dependency>
<dependency>
<groupId>org.openjdk.jmh</groupId>
<artifactId>jmh-generator-annprocess</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<!-- Maven Compiler Plugin -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<annotationProcessorPaths>
<path>
<groupId>org.openjdk.jmh</groupId>
<artifactId>jmh-generator-annprocess</artifactId>
<version>${jmh.version}</version>
</path>
</annotationProcessorPaths>
</configuration>
</plugin>
<!-- Maven Shade Plugin -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<finalName>${benchmarks.finalName}</finalName>
<createDependencyReducedPom>false</createDependencyReducedPom>
<filters>
<filter>
<artifact>*:*</artifact>
<excludes>
<exclude>META-INF/LICENSE</exclude>
<exclude>META-INF/NOTICE</exclude>
<exclude>META-INF/MANIFEST.MF</exclude>
<exclude>META-INF/versions/**/module-info.class</exclude>
<exclude>module-info.class</exclude>
</excludes>
</filter>
</filters>
<transformers>
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<mainClass>ognl.Run</mainClass>
</transformer>
<transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer" />
</transformers>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<configuration>
<attach>true</attach>
<archive>
<compress>true</compress>
<index>true</index>
</archive>
</configuration>
<executions>
<execution>
<id>attach-sources</id>
<goals>
<goal>jar-no-fork</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<configuration>
<doclint>none</doclint>
<archive>
<compress>true</compress>
<index>true</index>
</archive>
<source>17</source>
<links>
<link>https://docs.oracle.com/en/java/javase/17/docs/api/</link>
</links>
<doclint>none</doclint>
<quiet>true</quiet>
<encoding>UTF-8</encoding>
</configuration>
<executions>
<execution>
<id>attach-source</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
</plugins>
</build>
<profiles>
<profile>
<id>benchmarks</id>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<executions>
<execution>
<id>exec</id>
<goals>
<goal>exec</goal>
</goals>
<phase>verify</phase>
<configuration>
<executable>java</executable>
<commandlineArgs>-jar ${project.build.directory}/${benchmarks.finalName}.jar ${benchmarks.jmhArgs}</commandlineArgs>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>coverage</id>
<build>
<plugins>
<plugin>
<groupId>org.sonarsource.scanner.maven</groupId>
<artifactId>sonar-maven-plugin</artifactId>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>
================================================
FILE: benchmarks/src/main/java/ognl/DefaultMemberAccess.java
================================================
/*
* 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 ognl;
import java.lang.reflect.Member;
import java.lang.reflect.Modifier;
/**
* This class prov
gitextract_sc8f7uqk/ ├── .claude/ │ └── settings.json ├── .github/ │ ├── FUNDING.yml │ └── workflows/ │ ├── maven.yml │ ├── ognl-3-4-x.yml │ ├── performance-baseline.yml │ ├── performance.yml │ └── sonar.yml ├── .gitignore ├── .mvn/ │ └── wrapper/ │ ├── MavenWrapperDownloader.java │ └── maven-wrapper.properties ├── CLAUDE.md ├── KEYS ├── LICENSE.txt ├── README.md ├── SECURITY.md ├── benchmarks/ │ ├── etc/ │ │ └── ognl-runtime-benchmark-baseline.json │ ├── pom.xml │ └── src/ │ └── main/ │ └── java/ │ └── ognl/ │ ├── DefaultMemberAccess.java │ ├── Run.java │ └── benchmarks/ │ ├── OgnlPerformanceBenchmarks.java │ └── OgnlRuntimePerformanceBenchmarks.java ├── docs/ │ ├── DeveloperGuide.md │ ├── ISSUE_103_ANALYSIS.md │ ├── LanguageGuide.md │ ├── NullSafeOperator.md │ ├── VersionNotes.md │ └── plans/ │ ├── ISSUE_18_COMPILED_MODE_PARITY.md │ └── JDK25_FORWARD_COMPATIBILITY.md ├── mvnw ├── mvnw.cmd ├── ognl/ │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── ognl/ │ │ │ ├── ASTAdd.java │ │ │ ├── ASTAnd.java │ │ │ ├── ASTAssign.java │ │ │ ├── ASTBitAnd.java │ │ │ ├── ASTBitNegate.java │ │ │ ├── ASTBitOr.java │ │ │ ├── ASTChain.java │ │ │ ├── ASTConst.java │ │ │ ├── ASTCtor.java │ │ │ ├── ASTDivide.java │ │ │ ├── ASTEq.java │ │ │ ├── ASTEval.java │ │ │ ├── ASTGreater.java │ │ │ ├── ASTGreaterEq.java │ │ │ ├── ASTIn.java │ │ │ ├── ASTInstanceof.java │ │ │ ├── ASTKeyValue.java │ │ │ ├── ASTLess.java │ │ │ ├── ASTLessEq.java │ │ │ ├── ASTList.java │ │ │ ├── ASTMap.java │ │ │ ├── ASTMethod.java │ │ │ ├── ASTMultiply.java │ │ │ ├── ASTNegate.java │ │ │ ├── ASTNot.java │ │ │ ├── ASTNotEq.java │ │ │ ├── ASTNotIn.java │ │ │ ├── ASTOr.java │ │ │ ├── ASTProject.java │ │ │ ├── ASTProperty.java │ │ │ ├── ASTRemainder.java │ │ │ ├── ASTRootVarRef.java │ │ │ ├── ASTSelect.java │ │ │ ├── ASTSelectFirst.java │ │ │ ├── ASTSelectLast.java │ │ │ ├── ASTSequence.java │ │ │ ├── ASTShiftLeft.java │ │ │ ├── ASTShiftRight.java │ │ │ ├── ASTStaticField.java │ │ │ ├── ASTStaticMethod.java │ │ │ ├── ASTSubtract.java │ │ │ ├── ASTTest.java │ │ │ ├── ASTThisVarRef.java │ │ │ ├── ASTUnsignedShiftRight.java │ │ │ ├── ASTVarRef.java │ │ │ ├── ASTXor.java │ │ │ ├── AbstractMemberAccess.java │ │ │ ├── AccessibleObjectHandler.java │ │ │ ├── ArrayElementsAccessor.java │ │ │ ├── ArrayPropertyAccessor.java │ │ │ ├── BooleanExpression.java │ │ │ ├── ClassCacheInspector.java │ │ │ ├── ClassResolver.java │ │ │ ├── CollectionElementsAccessor.java │ │ │ ├── ComparisonExpression.java │ │ │ ├── DefaultClassResolver.java │ │ │ ├── DefaultTypeConverter.java │ │ │ ├── DynamicSubscript.java │ │ │ ├── ElementsAccessor.java │ │ │ ├── EnumerationElementsAccessor.java │ │ │ ├── EnumerationIterator.java │ │ │ ├── EnumerationPropertyAccessor.java │ │ │ ├── Evaluation.java │ │ │ ├── EvaluationPool.java │ │ │ ├── ExpressionNode.java │ │ │ ├── ExpressionSyntaxException.java │ │ │ ├── InappropriateExpressionException.java │ │ │ ├── IteratorElementsAccessor.java │ │ │ ├── IteratorEnumeration.java │ │ │ ├── IteratorPropertyAccessor.java │ │ │ ├── JJTOgnlParserState.java │ │ │ ├── JavaSource.java │ │ │ ├── ListPropertyAccessor.java │ │ │ ├── MapElementsAccessor.java │ │ │ ├── MapPropertyAccessor.java │ │ │ ├── MemberAccess.java │ │ │ ├── MethodAccessor.java │ │ │ ├── MethodFailedException.java │ │ │ ├── NoSuchPropertyException.java │ │ │ ├── Node.java │ │ │ ├── NodeType.java │ │ │ ├── NullHandler.java │ │ │ ├── NumberElementsAccessor.java │ │ │ ├── NumericCasts.java │ │ │ ├── NumericDefaults.java │ │ │ ├── NumericExpression.java │ │ │ ├── NumericLiterals.java │ │ │ ├── NumericTypes.java │ │ │ ├── NumericValues.java │ │ │ ├── ObjectElementsAccessor.java │ │ │ ├── ObjectIndexedPropertyDescriptor.java │ │ │ ├── ObjectMethodAccessor.java │ │ │ ├── ObjectNullHandler.java │ │ │ ├── ObjectPropertyAccessor.java │ │ │ ├── Ognl.java │ │ │ ├── OgnlCache.java │ │ │ ├── OgnlContext.java │ │ │ ├── OgnlException.java │ │ │ ├── OgnlOps.java │ │ │ ├── OgnlParserTreeConstants.java │ │ │ ├── OgnlRuntime.java │ │ │ ├── PrimitiveDefaults.java │ │ │ ├── PrimitiveTypes.java │ │ │ ├── PrimitiveWrapperClasses.java │ │ │ ├── PropertyAccessor.java │ │ │ ├── SetPropertyAccessor.java │ │ │ ├── SimpleNode.java │ │ │ ├── TypeConverter.java │ │ │ ├── enhance/ │ │ │ │ ├── ContextClassLoader.java │ │ │ │ ├── EnhancedClassLoader.java │ │ │ │ ├── ExpressionAccessor.java │ │ │ │ ├── ExpressionCompiler.java │ │ │ │ ├── LocalReference.java │ │ │ │ ├── OgnlExpressionCompiler.java │ │ │ │ ├── OgnlLocalReference.java │ │ │ │ ├── OrderedReturn.java │ │ │ │ └── UnsupportedCompilationException.java │ │ │ ├── internal/ │ │ │ │ ├── Cache.java │ │ │ │ ├── CacheException.java │ │ │ │ ├── CacheFactory.java │ │ │ │ ├── ClassCache.java │ │ │ │ ├── ClassCacheHandler.java │ │ │ │ ├── HashMapCache.java │ │ │ │ ├── HashMapCacheFactory.java │ │ │ │ ├── HashMapClassCache.java │ │ │ │ └── entry/ │ │ │ │ ├── CacheEntry.java │ │ │ │ ├── CacheEntryFactory.java │ │ │ │ ├── ClassCacheEntryFactory.java │ │ │ │ ├── DeclaredMethodCacheEntry.java │ │ │ │ ├── DeclaredMethodCacheEntryFactory.java │ │ │ │ ├── FieldCacheEntryFactory.java │ │ │ │ ├── GenericMethodParameterTypeCacheEntry.java │ │ │ │ ├── GenericMethodParameterTypeFactory.java │ │ │ │ ├── MethodAccessCacheEntryFactory.java │ │ │ │ ├── MethodAccessEntryValue.java │ │ │ │ ├── MethodCacheEntry.java │ │ │ │ ├── MethodCacheEntryFactory.java │ │ │ │ └── PropertyDescriptorCacheEntryFactory.java │ │ │ └── package.html │ │ ├── javacc/ │ │ │ └── ognl.jj │ │ └── jjtree/ │ │ └── ognl.jjt │ └── test/ │ └── java/ │ ├── ClassInDefaultPackage.java │ ├── com/ │ │ └── sun/ │ │ └── test/ │ │ └── AnotherInternalClass.java │ ├── ognl/ │ │ ├── DefaultMemberAccess.java │ │ ├── ExcludedObjectMemberAccess.java │ │ ├── ObjectPropertyAccessorTest.java │ │ ├── OgnlContextTest.java │ │ ├── OgnlRuntimeAccessibilityTest.java │ │ ├── OgnlRuntimeMethodsTest.java │ │ ├── OgnlRuntimeTest.java │ │ └── test/ │ │ ├── ASTChainTest.java │ │ ├── ASTMethodTest.java │ │ ├── ASTPropertyTest.java │ │ ├── ASTSequenceTest.java │ │ ├── ArithmeticAndLogicalOperatorsOnEnumsTest.java │ │ ├── ArithmeticAndLogicalOperatorsTest.java │ │ ├── ArrayCreationTest.java │ │ ├── ArrayElementsTest.java │ │ ├── ChainTest.java │ │ ├── ClassMethodTest.java │ │ ├── CollectionDirectPropertyTest.java │ │ ├── CompilingPropertyAccessor.java │ │ ├── ConstantTest.java │ │ ├── ConstantTreeTest.java │ │ ├── ContextRootPreservationTest.java │ │ ├── ContextVariableTest.java │ │ ├── CorrectedObjectNullHandler.java │ │ ├── DefaultClassResolverTest.java │ │ ├── DualModeEvaluationTest.java │ │ ├── GenericsTest.java │ │ ├── InExpressionTest.java │ │ ├── IndexAccessTest.java │ │ ├── IndexedPropertyTest.java │ │ ├── InheritedMethodsTest.java │ │ ├── InterfaceInheritanceTest.java │ │ ├── IsTruckTest.java │ │ ├── Issue286Test.java │ │ ├── Issue472CustomMethodAccessorTest.java │ │ ├── Java8Test.java │ │ ├── LambdaExpressionTest.java │ │ ├── MapCreationTest.java │ │ ├── MemberAccessTest.java │ │ ├── MethodTest.java │ │ ├── MethodWithConversionTest.java │ │ ├── NestedMethodTest.java │ │ ├── NullHandlerTest.java │ │ ├── NullRootTest.java │ │ ├── NullSafeCollectionTest.java │ │ ├── NullSafeCompilationTest.java │ │ ├── NullSafeIntegrationTest.java │ │ ├── NullSafeOperatorTest.java │ │ ├── NullStringCatenationTest.java │ │ ├── NumberFormatExceptionTest.java │ │ ├── NumericConversionTest.java │ │ ├── ObjectIndexedPropertyTest.java │ │ ├── ObjectIndexedTest.java │ │ ├── OgnlContextCreateTest.java │ │ ├── OgnlExceptionTest.java │ │ ├── OgnlOpsTest.java │ │ ├── OperationTest.java │ │ ├── OperatorTest.java │ │ ├── PackageKeywordTest.java │ │ ├── PrimitiveArrayTest.java │ │ ├── PrimitiveNullHandlingTest.java │ │ ├── PrivateAccessorTest.java │ │ ├── PrivateMemberTest.java │ │ ├── ProjectionSelectionTest.java │ │ ├── PropertyAccessorTest.java │ │ ├── PropertyArithmeticAndLogicalOperatorsTest.java │ │ ├── PropertySetterTest.java │ │ ├── PropertyTest.java │ │ ├── ProtectedInnerClassTest.java │ │ ├── ProtectedMemberTest.java │ │ ├── PublicMemberTest.java │ │ ├── QuotingTest.java │ │ ├── RaceConditionTest.java │ │ ├── SetterTest.java │ │ ├── SetterWithConversionTest.java │ │ ├── ShortCircuitingExpressionTest.java │ │ ├── SimpleNavigationChainTreeTest.java │ │ ├── SimplePropertyTreeTest.java │ │ ├── StaticsAndConstructorsTest.java │ │ ├── VarArgsMethodTest.java │ │ ├── accessors/ │ │ │ ├── ListPropertyAccessorTest.java │ │ │ └── PropertyAccessTest.java │ │ ├── enhance/ │ │ │ └── ExpressionCompilerTest.java │ │ ├── objects/ │ │ │ ├── BaseBean.java │ │ │ ├── BaseGeneric.java │ │ │ ├── BaseIndexed.java │ │ │ ├── BaseObjectIndexed.java │ │ │ ├── BaseSyntheticObject.java │ │ │ ├── Bean1.java │ │ │ ├── Bean2.java │ │ │ ├── Bean3.java │ │ │ ├── BeanProvider.java │ │ │ ├── BeanProviderAccessor.java │ │ │ ├── BeanProviderImpl.java │ │ │ ├── Component.java │ │ │ ├── ComponentImpl.java │ │ │ ├── ComponentSubclass.java │ │ │ ├── Copy.java │ │ │ ├── CorrectedObject.java │ │ │ ├── Cracker.java │ │ │ ├── Entry.java │ │ │ ├── EvenOdd.java │ │ │ ├── FirstBean.java │ │ │ ├── FormComponentImpl.java │ │ │ ├── FormImpl.java │ │ │ ├── GameGeneric.java │ │ │ ├── GameGenericObject.java │ │ │ ├── GenericCracker.java │ │ │ ├── GenericObject.java │ │ │ ├── GenericRoot.java │ │ │ ├── GenericService.java │ │ │ ├── GenericServiceImpl.java │ │ │ ├── GetterMethods.java │ │ │ ├── IComponent.java │ │ │ ├── IContentProvider.java │ │ │ ├── IForm.java │ │ │ ├── IFormComponent.java │ │ │ ├── ITreeContentProvider.java │ │ │ ├── Indexed.java │ │ │ ├── IndexedMapObject.java │ │ │ ├── IndexedSetObject.java │ │ │ ├── Inherited.java │ │ │ ├── ListSource.java │ │ │ ├── ListSourceImpl.java │ │ │ ├── MenuItem.java │ │ │ ├── Messages.java │ │ │ ├── MethodTestMethods.java │ │ │ ├── Model.java │ │ │ ├── MyMap.java │ │ │ ├── MyMapImpl.java │ │ │ ├── ObjectIndexed.java │ │ │ ├── OtherEnum.java │ │ │ ├── OtherObjectIndexed.java │ │ │ ├── PersonGenericObject.java │ │ │ ├── PropertyHolder.java │ │ │ ├── Root.java │ │ │ ├── SearchCriteria.java │ │ │ ├── SearchTab.java │ │ │ ├── SecondBean.java │ │ │ ├── SetterReturns.java │ │ │ ├── Simple.java │ │ │ ├── SimpleEnum.java │ │ │ ├── SimpleNumeric.java │ │ │ ├── StaticInterface.java │ │ │ ├── SubclassSyntheticObject.java │ │ │ ├── TestClass.java │ │ │ ├── TestImpl.java │ │ │ ├── TestInherited1.java │ │ │ ├── TestInherited2.java │ │ │ ├── TestModel.java │ │ │ ├── TreeContentProvider.java │ │ │ └── Two.java │ │ ├── race/ │ │ │ ├── Base.java │ │ │ ├── Person.java │ │ │ └── RaceTest.java │ │ └── util/ │ │ ├── ContextClassLoader.java │ │ ├── EnhancedClassLoader.java │ │ └── NameFactory.java │ └── sun/ │ └── test/ │ ├── PublicTestInterface.java │ └── SimulatedInternalClass.java ├── pom.xml └── renovate.json
Showing preview only (248K chars total). Download the full file or copy to clipboard to get everything.
SYMBOL INDEX (3143 symbols across 305 files)
FILE: .mvn/wrapper/MavenWrapperDownloader.java
class MavenWrapperDownloader (line 25) | public class MavenWrapperDownloader {
method main (line 51) | public static void main(String args[]) {
method downloadFileFromURL (line 100) | private static void downloadFileFromURL(String urlString, File destina...
FILE: benchmarks/src/main/java/ognl/DefaultMemberAccess.java
class DefaultMemberAccess (line 32) | public class DefaultMemberAccess implements MemberAccess {
method DefaultMemberAccess (line 38) | public DefaultMemberAccess(boolean allowAllAccess) {
method DefaultMemberAccess (line 42) | public DefaultMemberAccess(boolean allowPrivateAccess, boolean allowPr...
method getAllowPrivateAccess (line 49) | public boolean getAllowPrivateAccess() {
method setAllowPrivateAccess (line 53) | public void setAllowPrivateAccess(boolean value) {
method getAllowProtectedAccess (line 57) | public boolean getAllowProtectedAccess() {
method setAllowProtectedAccess (line 61) | public void setAllowProtectedAccess(boolean value) {
method getAllowPackageProtectedAccess (line 65) | public boolean getAllowPackageProtectedAccess() {
method setAllowPackageProtectedAccess (line 69) | public void setAllowPackageProtectedAccess(boolean value) {
method setup (line 73) | public Object setup(OgnlContext context, Object target, Member member,...
method restore (line 77) | public void restore(OgnlContext context, Object target, Member member,...
method isAccessible (line 91) | public boolean isAccessible(OgnlContext context, Object target, Member...
FILE: benchmarks/src/main/java/ognl/Run.java
class Run (line 18) | public class Run {
method main (line 24) | public static void main(String[] args) throws Exception {
method compareResults (line 67) | private static int compareResults(JsonNode baseline, JsonNode current) {
method publishSummary (line 98) | private static int publishSummary(JsonNode baseline, JsonNode current)...
method isRegression (line 151) | private static boolean isRegression(String mode, double percentChange) {
FILE: benchmarks/src/main/java/ognl/benchmarks/OgnlPerformanceBenchmarks.java
class OgnlPerformanceBenchmarks (line 24) | @State(Scope.Benchmark)
method setup (line 49) | @Setup
method constantExpressionInterpreted (line 76) | @Benchmark
method constantExpressionCompiled (line 82) | @Benchmark
method singlePropertyExpressionInterpreted (line 88) | @Benchmark
method singlePropertyExpressionCompiled (line 94) | @Benchmark
method propertyNavigationExpressionInterpreted (line 100) | @Benchmark
method propertyNavigationExpressionCompiled (line 106) | @Benchmark
method propertyNavigationAndComparisonExpressionInterpreted (line 112) | @Benchmark
method propertyNavigationAndComparisonExpressionCompiled (line 118) | @Benchmark
method propertyNavigationWithMapExpressionInterpreted (line 124) | @Benchmark
method propertyNavigationWithMapExpressionCompiled (line 130) | @Benchmark
class BenchmarkRootBean (line 137) | public static class BenchmarkRootBean {
method getBean2 (line 140) | public BenchmarkNestedBean getBean2() {
class BenchmarkNestedBean (line 145) | public static class BenchmarkNestedBean {
method getBean3 (line 148) | public BenchmarkLeafBean getBean3() {
class BenchmarkLeafBean (line 153) | public static class BenchmarkLeafBean {
method BenchmarkLeafBean (line 159) | public BenchmarkLeafBean() {
method getValue (line 163) | public int getValue() {
method setNullValue (line 167) | public void setNullValue(String value) {
method getIndexedValue (line 171) | public int getIndexedValue(int index) {
method getMap (line 175) | public Map<String, String> getMap() {
FILE: benchmarks/src/main/java/ognl/benchmarks/OgnlRuntimePerformanceBenchmarks.java
class OgnlRuntimePerformanceBenchmarks (line 23) | @State(Scope.Benchmark)
class Worker (line 35) | private static class Worker implements Callable<Class<?>[]> {
method Worker (line 40) | public Worker(final Class<?> clazz, final Method method, final int i...
method call (line 46) | public Class<?>[] call() {
method runTest (line 55) | private void runTest(final Class<?> clazz, final Method method, final ...
method testPerformanceRealGenericSingleThread (line 73) | @Benchmark
method testPerformanceFakeGenericSingleThread (line 79) | @Benchmark
method testPerformanceNonGenericSingleThread (line 85) | @Benchmark
method testPerformanceRealGenericMultipleThreads (line 91) | @Benchmark
method testPerformanceFakeGenericMultipleThreads (line 97) | @Benchmark
method testPerformanceNotGenericMultipleThreads (line 103) | @Benchmark
method testPerformanceMultipleClassesMultipleMethodsSingleThread (line 109) | @Benchmark
method testPerformanceMultipleClassesMultipleMethodsMultipleThreads (line 162) | @Benchmark
class GenericClass (line 216) | static class GenericClass<T> {
method bar (line 217) | @SuppressWarnings("unused")
class ExampleStringClass (line 222) | static class ExampleStringClass extends GenericClass<String> {
method foo (line 223) | @SuppressWarnings("unused")
class ExampleStringSubclass (line 228) | static class ExampleStringSubclass extends ExampleStringClass {
class ExampleTwoMethodClass (line 231) | static class ExampleTwoMethodClass {
method foo (line 232) | @SuppressWarnings("unused")
method bar (line 236) | @SuppressWarnings("unused")
class ExampleTwoMethodClass2 (line 241) | static class ExampleTwoMethodClass2 {
method foo (line 242) | @SuppressWarnings("unused")
method bar (line 246) | @SuppressWarnings("unused")
class ExampleTwoMethodClass3 (line 251) | static class ExampleTwoMethodClass3 {
method foo (line 252) | @SuppressWarnings("unused")
method bar (line 256) | @SuppressWarnings("unused")
class ExampleTwoMethodClass4 (line 261) | static class ExampleTwoMethodClass4 {
method foo (line 262) | @SuppressWarnings("unused")
method bar (line 266) | @SuppressWarnings("unused")
class ExampleTwoMethodClass5 (line 271) | static class ExampleTwoMethodClass5 {
method foo (line 272) | @SuppressWarnings("unused")
method bar (line 276) | @SuppressWarnings("unused")
class ExampleTwoMethodClass6 (line 281) | static class ExampleTwoMethodClass6 {
method foo (line 282) | @SuppressWarnings("unused")
method bar (line 286) | @SuppressWarnings("unused")
class ExampleTwoMethodClass7 (line 291) | static class ExampleTwoMethodClass7 {
method foo (line 292) | @SuppressWarnings("unused")
method bar (line 296) | @SuppressWarnings("unused")
class ExampleTwoMethodClass8 (line 301) | static class ExampleTwoMethodClass8 {
method foo (line 302) | @SuppressWarnings("unused")
method bar (line 306) | @SuppressWarnings("unused")
class ExampleTwoMethodClass9 (line 311) | static class ExampleTwoMethodClass9 {
method foo (line 312) | @SuppressWarnings("unused")
method bar (line 316) | @SuppressWarnings("unused")
class ExampleTwoMethodClass10 (line 321) | static class ExampleTwoMethodClass10 {
method foo (line 322) | @SuppressWarnings("unused")
method bar (line 326) | @SuppressWarnings("unused")
FILE: ognl/src/main/java/ognl/ASTAdd.java
class ASTAdd (line 27) | public class ASTAdd<C extends OgnlContext<C>> extends NumericExpression<...
method ASTAdd (line 32) | public ASTAdd(int id) {
method ASTAdd (line 36) | public ASTAdd(OgnlParser p, int id) {
method jjtClose (line 40) | public void jjtClose() {
method getValueBody (line 44) | protected Object getValueBody(C context, Object source) throws OgnlExc...
method getExpressionOperator (line 53) | public String getExpressionOperator(int index) {
method isWider (line 57) | boolean isWider(NodeType type, NodeType lastType) {
method toGetSourceString (line 104) | public String toGetSourceString(C context, Object target) {
FILE: ognl/src/main/java/ognl/ASTAnd.java
class ASTAnd (line 26) | public class ASTAnd<C extends OgnlContext<C>> extends BooleanExpression<...
method ASTAnd (line 31) | public ASTAnd(int id) {
method ASTAnd (line 35) | public ASTAnd(OgnlParser p, int id) {
method jjtClose (line 39) | public void jjtClose() {
method getValueBody (line 43) | protected Object getValueBody(C context, Object source)
method setValueBody (line 57) | protected void setValueBody(C context, Object target, Object value)
method getExpressionOperator (line 71) | public String getExpressionOperator(int index) {
method getGetterClass (line 75) | public Class<?> getGetterClass() {
method toGetSourceString (line 79) | public String toGetSourceString(C context, Object target) {
method toSetSourceString (line 122) | public String toSetSourceString(C context, Object target) {
FILE: ognl/src/main/java/ognl/ASTAssign.java
class ASTAssign (line 26) | public class ASTAssign<C extends OgnlContext<C>> extends SimpleNode<C> {
method ASTAssign (line 31) | public ASTAssign(int id) {
method ASTAssign (line 35) | public ASTAssign(OgnlParser p, int id) {
method getValueBody (line 39) | protected Object getValueBody(C context, Object source) throws OgnlExc...
method toString (line 45) | public String toString() {
method toGetSourceString (line 49) | public String toGetSourceString(C context, Object target) {
method toSetSourceString (line 94) | public String toSetSourceString(C context, Object target) {
method isOperation (line 124) | @Override
FILE: ognl/src/main/java/ognl/ASTBitAnd.java
class ASTBitAnd (line 23) | public class ASTBitAnd<C extends OgnlContext<C>> extends NumericExpressi...
method ASTBitAnd (line 28) | public ASTBitAnd(int id) {
method ASTBitAnd (line 32) | public ASTBitAnd(OgnlParser p, int id) {
method jjtClose (line 36) | public void jjtClose() {
method getValueBody (line 40) | protected Object getValueBody(C context, Object source) throws OgnlExc...
method getExpressionOperator (line 47) | public String getExpressionOperator(int index) {
method coerceToNumeric (line 51) | public String coerceToNumeric(String source, C context, Node<C> child) {
FILE: ognl/src/main/java/ognl/ASTBitNegate.java
class ASTBitNegate (line 23) | public class ASTBitNegate<C extends OgnlContext<C>> extends NumericExpre...
method ASTBitNegate (line 28) | public ASTBitNegate(int id) {
method ASTBitNegate (line 32) | public ASTBitNegate(OgnlParser p, int id) {
method getValueBody (line 36) | protected Object getValueBody(C context, Object source) throws OgnlExc...
method toString (line 40) | public String toString() {
method toGetSourceString (line 44) | public String toGetSourceString(C context, Object target) {
FILE: ognl/src/main/java/ognl/ASTBitOr.java
class ASTBitOr (line 23) | public class ASTBitOr<C extends OgnlContext<C>> extends NumericExpressio...
method ASTBitOr (line 28) | public ASTBitOr(int id) {
method ASTBitOr (line 32) | public ASTBitOr(OgnlParser p, int id) {
method jjtClose (line 36) | public void jjtClose() {
method getValueBody (line 40) | protected Object getValueBody(C context, Object source) throws OgnlExc...
method getExpressionOperator (line 47) | public String getExpressionOperator(int index) {
FILE: ognl/src/main/java/ognl/ASTChain.java
class ASTChain (line 28) | public class ASTChain<C extends OgnlContext<C>> extends SimpleNode<C> im...
method ASTChain (line 41) | public ASTChain(int id) {
method ASTChain (line 45) | public ASTChain(OgnlParser p, int id) {
method getLastExpression (line 49) | public String getLastExpression() {
method getCoreExpression (line 53) | public String getCoreExpression() {
method jjtClose (line 57) | @Override
method setNullSafe (line 67) | public void setNullSafe(boolean nullSafe) {
method isNullSafe (line 76) | public boolean isNullSafe() {
method getValueBody (line 80) | protected Object getValueBody(C context, Object source) throws OgnlExc...
method setValueBody (line 161) | @Override
method isSimpleNavigationChain (line 227) | @Override
method getGetterClass (line 245) | public Class<?> getGetterClass() {
method getSetterClass (line 249) | public Class<?> getSetterClass() {
method toString (line 253) | @Override
method shouldAppendNavigationOperator (line 268) | private boolean shouldAppendNavigationOperator(Node<C> child) {
method toGetSourceString (line 272) | @Override
method toSetSourceString (line 352) | @Override
method isChain (line 419) | @Override
FILE: ognl/src/main/java/ognl/ASTConst.java
class ASTConst (line 27) | public class ASTConst<C extends OgnlContext<C>> extends SimpleNode<C> im...
method ASTConst (line 35) | public ASTConst(int id) {
method ASTConst (line 39) | public ASTConst(OgnlParser p, int id) {
method setValue (line 48) | public void setValue(Object value) {
method getValue (line 52) | public Object getValue() {
method getValueBody (line 56) | protected Object getValueBody(C context, Object source)
method isNodeConstant (line 61) | public boolean isNodeConstant(C context) throws OgnlException {
method getGetterClass (line 65) | public Class<?> getGetterClass() {
method getSetterClass (line 72) | public Class<?> getSetterClass() {
method toString (line 76) | public String toString() {
method toGetSourceString (line 111) | public String toGetSourceString(C context, Object target) {
method toSetSourceString (line 172) | public String toSetSourceString(C context, Object target) {
FILE: ognl/src/main/java/ognl/ASTCtor.java
class ASTCtor (line 28) | public class ASTCtor<C extends OgnlContext<C>> extends SimpleNode<C> {
method ASTCtor (line 36) | public ASTCtor(int id) {
method ASTCtor (line 40) | public ASTCtor(OgnlParser p, int id) {
method setClassName (line 47) | void setClassName(String className) {
method getCreatedClass (line 51) | Class<?> getCreatedClass(C context) throws ClassNotFoundException {
method setArray (line 55) | void setArray(boolean value) {
method isArray (line 59) | public boolean isArray() {
method getValueBody (line 63) | protected Object getValueBody(C context, Object source)
method toString (line 113) | public String toString() {
method toGetSourceString (line 137) | public String toGetSourceString(C context, Object target) {
method toSetSourceString (line 292) | public String toSetSourceString(C context, Object target) {
FILE: ognl/src/main/java/ognl/ASTDivide.java
class ASTDivide (line 23) | public class ASTDivide<C extends OgnlContext<C>> extends NumericExpressi...
method ASTDivide (line 28) | public ASTDivide(int id) {
method ASTDivide (line 32) | public ASTDivide(OgnlParser p, int id) {
method getValueBody (line 36) | protected Object getValueBody(C context, Object source) throws OgnlExc...
method getExpressionOperator (line 42) | public String getExpressionOperator(int index) {
FILE: ognl/src/main/java/ognl/ASTEq.java
class ASTEq (line 23) | public class ASTEq<C extends OgnlContext<C>> extends ComparisonExpressio...
method ASTEq (line 28) | public ASTEq(int id) {
method ASTEq (line 32) | public ASTEq(OgnlParser p, int id) {
method getValueBody (line 36) | protected Object getValueBody(C context, Object source) throws OgnlExc...
method getExpressionOperator (line 42) | public String getExpressionOperator(int index) {
method getComparisonFunction (line 46) | public String getComparisonFunction() {
FILE: ognl/src/main/java/ognl/ASTEval.java
class ASTEval (line 25) | public class ASTEval<C extends OgnlContext<C>> extends SimpleNode<C> {
method ASTEval (line 30) | public ASTEval(int id) {
method ASTEval (line 34) | public ASTEval(OgnlParser p, int id) {
method getValueBody (line 38) | protected Object getValueBody(C context, Object source)
method setValueBody (line 54) | protected void setValueBody(C context, Object target, Object value)
method isEvalChain (line 69) | @Override
method toString (line 74) | public String toString() {
method toGetSourceString (line 78) | public String toGetSourceString(C context, Object target) {
method toSetSourceString (line 82) | public String toSetSourceString(C context, Object target) {
FILE: ognl/src/main/java/ognl/ASTGreater.java
class ASTGreater (line 23) | public class ASTGreater<C extends OgnlContext<C>> extends ComparisonExpr...
method ASTGreater (line 28) | public ASTGreater(int id) {
method ASTGreater (line 32) | public ASTGreater(OgnlParser p, int id) {
method getValueBody (line 36) | protected Object getValueBody(C context, Object source) throws OgnlExc...
method getExpressionOperator (line 43) | public String getExpressionOperator(int index) {
method getComparisonFunction (line 47) | public String getComparisonFunction() {
FILE: ognl/src/main/java/ognl/ASTGreaterEq.java
class ASTGreaterEq (line 23) | public class ASTGreaterEq<C extends OgnlContext<C>> extends ComparisonEx...
method ASTGreaterEq (line 28) | public ASTGreaterEq(int id) {
method ASTGreaterEq (line 32) | public ASTGreaterEq(OgnlParser p, int id) {
method getValueBody (line 36) | protected Object getValueBody(C context, Object source) throws OgnlExc...
method getExpressionOperator (line 42) | public String getExpressionOperator(int index) {
method getComparisonFunction (line 46) | public String getComparisonFunction() {
FILE: ognl/src/main/java/ognl/ASTIn.java
class ASTIn (line 25) | public class ASTIn<C extends OgnlContext<C>> extends SimpleNode<C> imple...
method ASTIn (line 30) | public ASTIn(int id) {
method ASTIn (line 34) | public ASTIn(OgnlParser p, int id) {
method getValueBody (line 38) | protected Object getValueBody(C context, Object source)
method toString (line 46) | public String toString() {
method getGetterClass (line 50) | public Class<?> getGetterClass() {
method getSetterClass (line 54) | public Class<?> getSetterClass() {
method toGetSourceString (line 58) | public String toGetSourceString(C context, Object target) {
method toSetSourceString (line 77) | public String toSetSourceString(C context, Object target) {
FILE: ognl/src/main/java/ognl/ASTInstanceof.java
class ASTInstanceof (line 23) | public class ASTInstanceof<C extends OgnlContext<C>> extends SimpleNode<...
method ASTInstanceof (line 30) | public ASTInstanceof(int id) {
method ASTInstanceof (line 34) | public ASTInstanceof(OgnlParser p, int id) {
method setTargetType (line 38) | void setTargetType(String targetType) {
method getValueBody (line 42) | protected Object getValueBody(C context, Object source) throws OgnlExc...
method toString (line 47) | public String toString() {
method getGetterClass (line 51) | public Class<?> getGetterClass() {
method getSetterClass (line 55) | public Class<?> getSetterClass() {
method toGetSourceString (line 59) | public String toGetSourceString(C context, Object target) {
method toSetSourceString (line 79) | public String toSetSourceString(C context, Object target) {
FILE: ognl/src/main/java/ognl/ASTKeyValue.java
class ASTKeyValue (line 23) | public class ASTKeyValue<C extends OgnlContext<C>> extends SimpleNode<C> {
method ASTKeyValue (line 28) | public ASTKeyValue(int id) {
method ASTKeyValue (line 32) | public ASTKeyValue(OgnlParser p, int id) {
method getKey (line 36) | protected Node<C> getKey() {
method getValue (line 40) | protected Node<C> getValue() {
method getValueBody (line 47) | protected Object getValueBody(C context, Object source) throws OgnlExc...
method toString (line 51) | public String toString() {
FILE: ognl/src/main/java/ognl/ASTLess.java
class ASTLess (line 23) | public class ASTLess<C extends OgnlContext<C>> extends ComparisonExpress...
method ASTLess (line 28) | public ASTLess(int id) {
method ASTLess (line 32) | public ASTLess(OgnlParser p, int id) {
method getValueBody (line 36) | protected Object getValueBody(C context, Object source) throws OgnlExc...
method getExpressionOperator (line 43) | public String getExpressionOperator(int index) {
method getComparisonFunction (line 47) | public String getComparisonFunction() {
FILE: ognl/src/main/java/ognl/ASTLessEq.java
class ASTLessEq (line 23) | public class ASTLessEq<C extends OgnlContext<C>> extends ComparisonExpre...
method ASTLessEq (line 28) | public ASTLessEq(int id) {
method ASTLessEq (line 32) | public ASTLessEq(OgnlParser p, int id) {
method getValueBody (line 36) | protected Object getValueBody(C context, Object source) throws OgnlExc...
method getExpressionOperator (line 42) | public String getExpressionOperator(int index) {
method getComparisonFunction (line 46) | public String getComparisonFunction() {
FILE: ognl/src/main/java/ognl/ASTList.java
class ASTList (line 29) | public class ASTList<C extends OgnlContext<C>> extends SimpleNode<C> imp...
method ASTList (line 34) | public ASTList(int id) {
method ASTList (line 38) | public ASTList(OgnlParser p, int id) {
method getValueBody (line 42) | protected Object getValueBody(C context, Object source)
method getGetterClass (line 51) | public Class<?> getGetterClass() {
method getSetterClass (line 55) | public Class<?> getSetterClass() {
method toString (line 59) | public String toString() {
method toGetSourceString (line 71) | public String toGetSourceString(C context, Object target) {
method toSetSourceString (line 172) | public String toSetSourceString(C context, Object target) {
FILE: ognl/src/main/java/ognl/ASTMap.java
class ASTMap (line 27) | public class ASTMap<C extends OgnlContext<C>> extends SimpleNode<C> {
method ASTMap (line 34) | public ASTMap(int id) {
method ASTMap (line 38) | public ASTMap(OgnlParser p, int id) {
method setClassName (line 42) | protected void setClassName(String value) {
method getValueBody (line 46) | protected Object getValueBody(C context, Object source) throws OgnlExc...
method toString (line 69) | public String toString() {
method toGetSourceString (line 88) | public String toGetSourceString(C context, Object target) {
method toSetSourceString (line 92) | public String toSetSourceString(C context, Object target) {
FILE: ognl/src/main/java/ognl/ASTMethod.java
class ASTMethod (line 29) | public class ASTMethod<C extends OgnlContext<C>> extends SimpleNode<C> i...
method ASTMethod (line 39) | public ASTMethod(int id) {
method ASTMethod (line 43) | public ASTMethod(OgnlParser p, int id) {
method setMethodName (line 52) | public void setMethodName(String methodName) {
method getMethodName (line 61) | public String getMethodName() {
method getValueBody (line 65) | protected Object getValueBody(C context, Object source) throws OgnlExc...
method getLastExpression (line 85) | public String getLastExpression() {
method getCoreExpression (line 89) | public String getCoreExpression() {
method getGetterClass (line 93) | public Class<?> getGetterClass() {
method getSetterClass (line 97) | public Class<?> getSetterClass() {
method toString (line 101) | public String toString() {
method toGetSourceString (line 118) | public String toGetSourceString(C context, Object target) {
method toSetSourceString (line 277) | public String toSetSourceString(C context, Object target) {
method getClassMatchingAllChildren (line 416) | private Class<?> getClassMatchingAllChildren(C context, Node<C>[] _chi...
method getChildrenClasses (line 453) | private Class<?>[] getChildrenClasses(C context, Node<C>[] _children) {
method isSimpleMethod (line 479) | @Override
FILE: ognl/src/main/java/ognl/ASTMultiply.java
class ASTMultiply (line 23) | public class ASTMultiply<C extends OgnlContext<C>> extends NumericExpres...
method ASTMultiply (line 28) | public ASTMultiply(int id) {
method ASTMultiply (line 32) | public ASTMultiply(OgnlParser p, int id) {
method jjtClose (line 36) | public void jjtClose() {
method getValueBody (line 40) | protected Object getValueBody(C context, Object source) throws OgnlExc...
method getExpressionOperator (line 47) | public String getExpressionOperator(int index) {
FILE: ognl/src/main/java/ognl/ASTNegate.java
class ASTNegate (line 23) | public class ASTNegate<C extends OgnlContext<C>> extends NumericExpressi...
method ASTNegate (line 28) | public ASTNegate(int id) {
method ASTNegate (line 32) | public ASTNegate(OgnlParser p, int id) {
method getValueBody (line 36) | protected Object getValueBody(C context, Object source) throws OgnlExc...
method toString (line 40) | public String toString() {
method toGetSourceString (line 44) | public String toGetSourceString(C context, Object target) {
method isOperation (line 54) | @Override
FILE: ognl/src/main/java/ognl/ASTNot.java
class ASTNot (line 23) | public class ASTNot<C extends OgnlContext<C>> extends BooleanExpression<...
method ASTNot (line 28) | public ASTNot(int id) {
method ASTNot (line 32) | public ASTNot(OgnlParser p, int id) {
method getValueBody (line 36) | protected Object getValueBody(C context, Object source) throws OgnlExc...
method getExpressionOperator (line 40) | public String getExpressionOperator(int index) {
method toGetSourceString (line 44) | public String toGetSourceString(C context, Object target) {
FILE: ognl/src/main/java/ognl/ASTNotEq.java
class ASTNotEq (line 23) | public class ASTNotEq<C extends OgnlContext<C>> extends ComparisonExpres...
method ASTNotEq (line 28) | public ASTNotEq(int id) {
method ASTNotEq (line 32) | public ASTNotEq(OgnlParser p, int id) {
method getValueBody (line 36) | protected Object getValueBody(C context, Object source) throws OgnlExc...
method getExpressionOperator (line 43) | public String getExpressionOperator(int index) {
method getComparisonFunction (line 47) | public String getComparisonFunction() {
FILE: ognl/src/main/java/ognl/ASTNotIn.java
class ASTNotIn (line 25) | public class ASTNotIn<C extends OgnlContext<C>> extends SimpleNode<C> im...
method ASTNotIn (line 30) | public ASTNotIn(int id) {
method ASTNotIn (line 34) | public ASTNotIn(OgnlParser p, int id) {
method getValueBody (line 38) | protected Object getValueBody(C context, Object source) throws OgnlExc...
method toString (line 44) | public String toString() {
method getGetterClass (line 48) | public Class<?> getGetterClass() {
method getSetterClass (line 52) | public Class<?> getSetterClass() {
method toGetSourceString (line 56) | public String toGetSourceString(C context, Object target) {
FILE: ognl/src/main/java/ognl/ASTOr.java
class ASTOr (line 26) | public class ASTOr<C extends OgnlContext<C>> extends BooleanExpression<C> {
method ASTOr (line 31) | public ASTOr(int id) {
method ASTOr (line 35) | public ASTOr(OgnlParser p, int id) {
method jjtClose (line 39) | public void jjtClose() {
method getValueBody (line 43) | protected Object getValueBody(C context, Object source) throws OgnlExc...
method setValueBody (line 54) | protected void setValueBody(C context, Object target, Object value) th...
method getExpressionOperator (line 64) | public String getExpressionOperator(int index) {
method getGetterClass (line 68) | public Class<?> getGetterClass() {
method toGetSourceString (line 72) | public String toGetSourceString(C context, Object target) {
method toSetSourceString (line 105) | public String toSetSourceString(C context, Object target) {
FILE: ognl/src/main/java/ognl/ASTProject.java
class ASTProject (line 28) | public class ASTProject<C extends OgnlContext<C>> extends SimpleNode<C> {
method ASTProject (line 33) | public ASTProject(int id) {
method ASTProject (line 37) | public ASTProject(OgnlParser p, int id) {
method getValueBody (line 41) | protected Object getValueBody(C context, Object source)
method toString (line 55) | public String toString() {
method toGetSourceString (line 59) | public String toGetSourceString(C context, Object target) {
method toSetSourceString (line 63) | public String toSetSourceString(C context, Object target) {
FILE: ognl/src/main/java/ognl/ASTProperty.java
class ASTProperty (line 30) | public class ASTProperty<C extends OgnlContext<C>> extends SimpleNode<C>...
method ASTProperty (line 39) | public ASTProperty(int id) {
method setIndexedAccess (line 43) | public void setIndexedAccess(boolean value) {
method isIndexedAccess (line 52) | public boolean isIndexedAccess() {
method getIndexedPropertyType (line 66) | public int getIndexedPropertyType(C context, Object source)
method getProperty (line 89) | public Object getProperty(C context, Object source) throws OgnlExcepti...
method getValueBody (line 93) | protected Object getValueBody(C context, Object source)
method setValueBody (line 107) | protected void setValueBody(C context, Object target, Object value)
method isNodeSimpleProperty (line 112) | public boolean isNodeSimpleProperty(C context)
method getGetterClass (line 117) | public Class<?> getGetterClass() {
method getSetterClass (line 121) | public Class<?> getSetterClass() {
method toString (line 125) | public String toString() {
method toGetSourceString (line 136) | public String toGetSourceString(C context, Object target) {
method getIndexedWriteMethod (line 316) | Method getIndexedWriteMethod(PropertyDescriptor pd) {
method toSetSourceString (line 326) | public String toSetSourceString(C context, Object target) {
FILE: ognl/src/main/java/ognl/ASTRemainder.java
class ASTRemainder (line 23) | public class ASTRemainder<C extends OgnlContext<C>> extends NumericExpre...
method ASTRemainder (line 28) | public ASTRemainder(int id) {
method ASTRemainder (line 32) | public ASTRemainder(OgnlParser p, int id) {
method getValueBody (line 36) | protected Object getValueBody(C context, Object source) throws OgnlExc...
method getExpressionOperator (line 42) | public String getExpressionOperator(int index) {
FILE: ognl/src/main/java/ognl/ASTRootVarRef.java
class ASTRootVarRef (line 25) | public class ASTRootVarRef<C extends OgnlContext<C>> extends ASTVarRef<C> {
method ASTRootVarRef (line 30) | public ASTRootVarRef(int id) {
method ASTRootVarRef (line 34) | public ASTRootVarRef(OgnlParser p, int id) {
method getValueBody (line 38) | protected Object getValueBody(C context, Object source) throws OgnlExc...
method setValueBody (line 42) | protected void setValueBody(C context, Object target, Object value) th...
method toString (line 46) | public String toString() {
method toGetSourceString (line 50) | public String toGetSourceString(C context, Object target) {
method toSetSourceString (line 65) | public String toSetSourceString(C context, Object target) {
FILE: ognl/src/main/java/ognl/ASTSelect.java
class ASTSelect (line 28) | public class ASTSelect<C extends OgnlContext<C>> extends SimpleNode<C> {
method ASTSelect (line 33) | public ASTSelect(int id) {
method ASTSelect (line 37) | public ASTSelect(OgnlParser p, int id) {
method getValueBody (line 41) | protected Object getValueBody(C context, Object source) throws OgnlExc...
method toString (line 57) | public String toString() {
method toGetSourceString (line 61) | public String toGetSourceString(C context, Object target) {
method toSetSourceString (line 65) | public String toSetSourceString(C context, Object target) {
FILE: ognl/src/main/java/ognl/ASTSelectFirst.java
class ASTSelectFirst (line 28) | public class ASTSelectFirst<C extends OgnlContext<C>> extends SimpleNode...
method ASTSelectFirst (line 33) | public ASTSelectFirst(int id) {
method ASTSelectFirst (line 37) | public ASTSelectFirst(OgnlParser p, int id) {
method getValueBody (line 41) | protected Object getValueBody(C context, Object source) throws OgnlExc...
method toString (line 56) | public String toString() {
method toGetSourceString (line 60) | public String toGetSourceString(C context, Object target) {
method toSetSourceString (line 64) | public String toSetSourceString(C context, Object target) {
FILE: ognl/src/main/java/ognl/ASTSelectLast.java
class ASTSelectLast (line 28) | public class ASTSelectLast<C extends OgnlContext<C>> extends SimpleNode<...
method ASTSelectLast (line 33) | public ASTSelectLast(int id) {
method ASTSelectLast (line 37) | public ASTSelectLast(OgnlParser p, int id) {
method getValueBody (line 41) | protected Object getValueBody(C context, Object source) throws OgnlExc...
method toString (line 57) | public String toString() {
method toGetSourceString (line 61) | public String toGetSourceString(C context, Object target) {
method toSetSourceString (line 65) | public String toSetSourceString(C context, Object target) {
FILE: ognl/src/main/java/ognl/ASTSequence.java
class ASTSequence (line 26) | public class ASTSequence<C extends OgnlContext<C>> extends SimpleNode<C>...
method ASTSequence (line 35) | public ASTSequence(int id) {
method ASTSequence (line 39) | public ASTSequence(OgnlParser p, int id) {
method jjtClose (line 43) | public void jjtClose() {
method getValueBody (line 47) | protected Object getValueBody(C context, Object source) throws OgnlExc...
method setValueBody (line 55) | protected void setValueBody(C context, Object target, Object value) th...
method getGetterClass (line 63) | public Class<?> getGetterClass() {
method getSetterClass (line 67) | public Class<?> getSetterClass() {
method getLastExpression (line 71) | public String getLastExpression() {
method getCoreExpression (line 75) | public String getCoreExpression() {
method toString (line 79) | public String toString() {
method toSetSourceString (line 91) | public String toSetSourceString(C context, Object target) {
method toGetSourceString (line 95) | public String toGetSourceString(C context, Object target) {
method isSequence (line 140) | public boolean isSequence(C context) {
FILE: ognl/src/main/java/ognl/ASTShiftLeft.java
class ASTShiftLeft (line 23) | public class ASTShiftLeft<C extends OgnlContext<C>> extends NumericExpre...
method ASTShiftLeft (line 28) | public ASTShiftLeft(int id) {
method ASTShiftLeft (line 32) | public ASTShiftLeft(OgnlParser p, int id) {
method getValueBody (line 36) | protected Object getValueBody(C context, Object source) throws OgnlExc...
method getExpressionOperator (line 42) | public String getExpressionOperator(int index) {
FILE: ognl/src/main/java/ognl/ASTShiftRight.java
class ASTShiftRight (line 23) | public class ASTShiftRight<C extends OgnlContext<C>> extends NumericExpr...
method ASTShiftRight (line 28) | public ASTShiftRight(int id) {
method ASTShiftRight (line 32) | public ASTShiftRight(OgnlParser p, int id) {
method getValueBody (line 36) | protected Object getValueBody(C context, Object source) throws OgnlExc...
method getExpressionOperator (line 42) | public String getExpressionOperator(int index) {
FILE: ognl/src/main/java/ognl/ASTStaticField.java
class ASTStaticField (line 25) | public class ASTStaticField<C extends OgnlContext<C>> extends SimpleNode...
method ASTStaticField (line 34) | public ASTStaticField(int id) {
method ASTStaticField (line 38) | public ASTStaticField(OgnlParser p, int id) {
method init (line 45) | void init(String className, String fieldName) {
method getValueBody (line 50) | protected Object getValueBody(C context, Object source) throws OgnlExc...
method isNodeConstant (line 54) | public boolean isNodeConstant(C context) throws OgnlException {
method getFieldClass (line 91) | private Class<?> getFieldClass(C context) throws OgnlException {
method getGetterClass (line 116) | public Class<?> getGetterClass() {
method getSetterClass (line 120) | public Class<?> getSetterClass() {
method toString (line 124) | public String toString() {
method toGetSourceString (line 128) | public String toGetSourceString(C context, Object target) {
method toSetSourceString (line 140) | public String toSetSourceString(C context, Object target) {
FILE: ognl/src/main/java/ognl/ASTStaticMethod.java
class ASTStaticMethod (line 28) | public class ASTStaticMethod<C extends OgnlContext<C>> extends SimpleNod...
method ASTStaticMethod (line 37) | public ASTStaticMethod(int id) {
method ASTStaticMethod (line 41) | public ASTStaticMethod(OgnlParser p, int id) {
method init (line 48) | void init(String className, String methodName) {
method getValueBody (line 53) | protected Object getValueBody(C context, Object source) throws OgnlExc...
method getGetterClass (line 64) | public Class<?> getGetterClass() {
method getSetterClass (line 68) | public Class<?> getSetterClass() {
method toString (line 72) | public String toString() {
method toGetSourceString (line 88) | public String toGetSourceString(C context, Object target) {
method toSetSourceString (line 202) | public String toSetSourceString(C context, Object target) {
FILE: ognl/src/main/java/ognl/ASTSubtract.java
class ASTSubtract (line 23) | public class ASTSubtract<C extends OgnlContext<C>> extends NumericExpres...
method ASTSubtract (line 28) | public ASTSubtract(int id) {
method ASTSubtract (line 32) | public ASTSubtract(OgnlParser p, int id) {
method getValueBody (line 36) | protected Object getValueBody(C context, Object source) throws OgnlExc...
method getExpressionOperator (line 42) | public String getExpressionOperator(int index) {
FILE: ognl/src/main/java/ognl/ASTTest.java
class ASTTest (line 25) | public class ASTTest<C extends OgnlContext<C>> extends ExpressionNode<C> {
method ASTTest (line 30) | public ASTTest(int id) {
method ASTTest (line 34) | public ASTTest(OgnlParser p, int id) {
method getValueBody (line 38) | protected Object getValueBody(C context, Object source) throws OgnlExc...
method setValueBody (line 44) | protected void setValueBody(C context, Object target, Object value) th...
method getExpressionOperator (line 50) | public String getExpressionOperator(int index) {
method toGetSourceString (line 54) | public String toGetSourceString(C context, Object target) {
FILE: ognl/src/main/java/ognl/ASTThisVarRef.java
class ASTThisVarRef (line 25) | public class ASTThisVarRef<C extends OgnlContext<C>> extends ASTVarRef<C> {
method ASTThisVarRef (line 30) | public ASTThisVarRef(int id) {
method ASTThisVarRef (line 34) | public ASTThisVarRef(OgnlParser p, int id) {
method getValueBody (line 38) | protected Object getValueBody(C context, Object source) throws OgnlExc...
method setValueBody (line 42) | protected void setValueBody(C context, Object target, Object value) th...
method toString (line 46) | public String toString() {
method toGetSourceString (line 50) | public String toGetSourceString(C context, Object target) {
method toSetSourceString (line 54) | public String toSetSourceString(C context, Object target) {
FILE: ognl/src/main/java/ognl/ASTUnsignedShiftRight.java
class ASTUnsignedShiftRight (line 23) | public class ASTUnsignedShiftRight<C extends OgnlContext<C>> extends Num...
method ASTUnsignedShiftRight (line 28) | public ASTUnsignedShiftRight(int id) {
method ASTUnsignedShiftRight (line 32) | public ASTUnsignedShiftRight(OgnlParser p, int id) {
method getValueBody (line 36) | protected Object getValueBody(C context, Object source) throws OgnlExc...
method getExpressionOperator (line 42) | public String getExpressionOperator(int index) {
method toGetSourceString (line 46) | public String toGetSourceString(C context, Object target) {
FILE: ognl/src/main/java/ognl/ASTVarRef.java
class ASTVarRef (line 26) | public class ASTVarRef<C extends OgnlContext<C>> extends SimpleNode<C> i...
method ASTVarRef (line 37) | public ASTVarRef(int id) {
method ASTVarRef (line 41) | public ASTVarRef(OgnlParser p, int id) {
method setName (line 45) | void setName(String name) {
method getValueBody (line 49) | protected Object getValueBody(C context, Object source) throws OgnlExc...
method setValueBody (line 53) | protected void setValueBody(C context, Object target, Object value) th...
method getGetterClass (line 57) | public Class<?> getGetterClass() {
method getSetterClass (line 61) | public Class<?> getSetterClass() {
method getCoreExpression (line 65) | public String getCoreExpression() {
method getLastExpression (line 69) | public String getLastExpression() {
method toString (line 73) | public String toString() {
method toGetSourceString (line 77) | public String toGetSourceString(C context, Object target) {
method toSetSourceString (line 110) | public String toSetSourceString(C context, Object target) {
FILE: ognl/src/main/java/ognl/ASTXor.java
class ASTXor (line 23) | public class ASTXor<C extends OgnlContext<C>> extends NumericExpression<...
method ASTXor (line 28) | public ASTXor(int id) {
method ASTXor (line 32) | public ASTXor(OgnlParser p, int id) {
method jjtClose (line 36) | public void jjtClose() {
method getValueBody (line 40) | protected Object getValueBody(C context, Object source) throws OgnlExc...
method getExpressionOperator (line 47) | public String getExpressionOperator(int index) {
FILE: ognl/src/main/java/ognl/AbstractMemberAccess.java
class AbstractMemberAccess (line 26) | abstract public class AbstractMemberAccess<C extends OgnlContext<C>> imp...
method setup (line 28) | public Object setup(C context, Object target, Member member, String pr...
method restore (line 32) | public void restore(C context, Object target, Member member, String pr...
FILE: ognl/src/main/java/ognl/AccessibleObjectHandler.java
type AccessibleObjectHandler (line 28) | public interface AccessibleObjectHandler {
method setAccessible (line 35) | default void setAccessible(AccessibleObject accessibleObject, boolean ...
FILE: ognl/src/main/java/ognl/ArrayElementsAccessor.java
class ArrayElementsAccessor (line 27) | public class ArrayElementsAccessor implements ElementsAccessor {
method getElements (line 28) | public Enumeration<?> getElements(final Object target) {
FILE: ognl/src/main/java/ognl/ArrayPropertyAccessor.java
class ArrayPropertyAccessor (line 27) | public class ArrayPropertyAccessor<C extends OgnlContext<C>> extends Obj...
method getProperty (line 29) | public Object getProperty(C context, Object target, Object name) throw...
method setProperty (line 73) | public void setProperty(C context, Object target, Object name, Object ...
method getSourceAccessor (line 113) | public String getSourceAccessor(C context, Object target, Object index) {
method getSourceSetter (line 136) | public String getSourceSetter(C context, Object target, Object index) {
FILE: ognl/src/main/java/ognl/BooleanExpression.java
class BooleanExpression (line 28) | public abstract class BooleanExpression<C extends OgnlContext<C>> extend...
method BooleanExpression (line 35) | public BooleanExpression(int id) {
method BooleanExpression (line 39) | public BooleanExpression(OgnlParser p, int id) {
method getGetterClass (line 43) | public Class<?> getGetterClass() {
method getSetterClass (line 47) | public Class<?> getSetterClass() {
method toGetSourceString (line 51) | public String toGetSourceString(C context, Object target) {
FILE: ognl/src/main/java/ognl/ClassCacheInspector.java
type ClassCacheInspector (line 25) | public interface ClassCacheInspector {
method shouldCache (line 33) | boolean shouldCache(Class<?> type);
FILE: ognl/src/main/java/ognl/ClassResolver.java
type ClassResolver (line 25) | public interface ClassResolver<C extends OgnlContext<C>> {
method classForName (line 27) | <T> Class<T> classForName(String className, C context) throws ClassNot...
FILE: ognl/src/main/java/ognl/CollectionElementsAccessor.java
class CollectionElementsAccessor (line 27) | public class CollectionElementsAccessor implements ElementsAccessor {
method getElements (line 29) | public Enumeration<?> getElements(Object target) {
FILE: ognl/src/main/java/ognl/ComparisonExpression.java
class ComparisonExpression (line 28) | public abstract class ComparisonExpression<C extends OgnlContext<C>> ext...
method ComparisonExpression (line 33) | public ComparisonExpression(int id) {
method ComparisonExpression (line 37) | public ComparisonExpression(OgnlParser p, int id) {
method getComparisonFunction (line 41) | public abstract String getComparisonFunction();
method toGetSourceString (line 43) | public String toGetSourceString(C context, Object target) {
FILE: ognl/src/main/java/ognl/DefaultClassResolver.java
class DefaultClassResolver (line 28) | public class DefaultClassResolver<C extends OgnlContext<C>> implements C...
method DefaultClassResolver (line 32) | public DefaultClassResolver() {
method classForName (line 36) | public <T> Class<T> classForName(String className, C context) throws C...
method toClassForName (line 60) | protected Class<?> toClassForName(String className) throws ClassNotFou...
FILE: ognl/src/main/java/ognl/DefaultTypeConverter.java
class DefaultTypeConverter (line 26) | public class DefaultTypeConverter<C extends OgnlContext<C>> implements T...
method DefaultTypeConverter (line 28) | public DefaultTypeConverter() {
method convertValue (line 32) | public Object convertValue(C context, Object value, Class<?> toType) {
method convertValue (line 36) | public Object convertValue(C context, Object target, Member member, St...
FILE: ognl/src/main/java/ognl/DynamicSubscript.java
class DynamicSubscript (line 27) | public class DynamicSubscript {
method DynamicSubscript (line 41) | private DynamicSubscript(int flag) {
method getFlag (line 45) | public int getFlag() {
method toString (line 49) | public String toString() {
FILE: ognl/src/main/java/ognl/ElementsAccessor.java
type ElementsAccessor (line 33) | public interface ElementsAccessor {
method getElements (line 41) | Enumeration<?> getElements(Object target) throws OgnlException;
FILE: ognl/src/main/java/ognl/EnumerationElementsAccessor.java
class EnumerationElementsAccessor (line 27) | public class EnumerationElementsAccessor implements ElementsAccessor {
method getElements (line 29) | public Enumeration<?> getElements(Object target) {
FILE: ognl/src/main/java/ognl/EnumerationIterator.java
class EnumerationIterator (line 27) | public class EnumerationIterator<T> implements Iterator<T> {
method EnumerationIterator (line 31) | public EnumerationIterator(Enumeration<T> enumeration) {
method hasNext (line 35) | public boolean hasNext() {
method next (line 39) | public T next() {
method remove (line 43) | public void remove() {
FILE: ognl/src/main/java/ognl/EnumerationPropertyAccessor.java
class EnumerationPropertyAccessor (line 28) | public class EnumerationPropertyAccessor<C extends OgnlContext<C>> exten...
method getProperty (line 30) | public Object getProperty(C context, Object target, Object name) throw...
method setProperty (line 50) | public void setProperty(C context, Object target, Object name, Object ...
FILE: ognl/src/main/java/ognl/Evaluation.java
class Evaluation (line 27) | public class Evaluation<C extends OgnlContext<C>> {
method Evaluation (line 46) | public Evaluation(SimpleNode<C> node, Object source) {
method Evaluation (line 61) | public Evaluation(SimpleNode<C> node, Object source, boolean setOperat...
method getNode (line 71) | public SimpleNode<C> getNode() {
method setNode (line 83) | public void setNode(SimpleNode<C> value) {
method getSource (line 92) | public Object getSource() {
method setSource (line 104) | public void setSource(Object value) {
method isSetOperation (line 113) | public boolean isSetOperation() {
method setSetOperation (line 123) | public void setSetOperation(boolean value) {
method getResult (line 132) | public Object getResult() {
method setResult (line 142) | public void setResult(Object value) {
method getException (line 152) | public Throwable getException() {
method setException (line 163) | public void setException(Throwable value) {
method getParent (line 173) | public Evaluation<C> getParent() {
method getNext (line 183) | public Evaluation<C> getNext() {
method getPrevious (line 193) | public Evaluation<C> getPrevious() {
method getFirstChild (line 203) | public Evaluation<C> getFirstChild() {
method getLastChild (line 213) | public Evaluation<C> getLastChild() {
method getFirstDescendant (line 223) | public Evaluation<C> getFirstDescendant() {
method getLastDescendant (line 236) | public Evaluation<C> getLastDescendant() {
method addChild (line 252) | public void addChild(Evaluation<C> child) {
method init (line 276) | public void init(SimpleNode<C> node, Object source, boolean setOperati...
method reset (line 292) | public void reset() {
method toString (line 309) | public String toString(boolean compact, boolean showChildren, String d...
method toString (line 343) | public String toString(boolean compact, String depth) {
method toString (line 352) | public String toString() {
FILE: ognl/src/main/java/ognl/EvaluationPool.java
class EvaluationPool (line 21) | public final class EvaluationPool<C extends OgnlContext<C>> {
method create (line 32) | public Evaluation<C> create(SimpleNode<C> node, Object source) {
method create (line 45) | public Evaluation<C> create(SimpleNode<C> node, Object source, boolean...
FILE: ognl/src/main/java/ognl/ExpressionNode.java
class ExpressionNode (line 25) | public abstract class ExpressionNode<C extends OgnlContext<C>> extends S...
method ExpressionNode (line 30) | public ExpressionNode(int i) {
method ExpressionNode (line 34) | public ExpressionNode(OgnlParser p, int i) {
method isNodeConstant (line 41) | public boolean isNodeConstant(C context) throws OgnlException {
method isConstant (line 45) | public boolean isConstant(C context) throws OgnlException {
method getExpressionOperator (line 61) | public String getExpressionOperator(int index) {
method toString (line 65) | public String toString() {
method toGetSourceString (line 82) | public String toGetSourceString(C context, Object target) {
method toSetSourceString (line 123) | public String toSetSourceString(C context, Object target) {
method isOperation (line 142) | @Override
FILE: ognl/src/main/java/ognl/ExpressionSyntaxException.java
class ExpressionSyntaxException (line 24) | public class ExpressionSyntaxException extends OgnlException {
method ExpressionSyntaxException (line 28) | public ExpressionSyntaxException(String expression, Throwable reason) {
FILE: ognl/src/main/java/ognl/InappropriateExpressionException.java
class InappropriateExpressionException (line 26) | public class InappropriateExpressionException extends OgnlException {
method InappropriateExpressionException (line 30) | public InappropriateExpressionException(Node tree) {
FILE: ognl/src/main/java/ognl/IteratorElementsAccessor.java
class IteratorElementsAccessor (line 28) | public class IteratorElementsAccessor implements ElementsAccessor {
method getElements (line 30) | public Enumeration<?> getElements(Object target) {
FILE: ognl/src/main/java/ognl/IteratorEnumeration.java
class IteratorEnumeration (line 27) | public class IteratorEnumeration implements Enumeration<Object> {
method IteratorEnumeration (line 31) | public IteratorEnumeration(Iterator<?> it) {
method hasMoreElements (line 36) | public boolean hasMoreElements() {
method nextElement (line 40) | public Object nextElement() {
FILE: ognl/src/main/java/ognl/IteratorPropertyAccessor.java
class IteratorPropertyAccessor (line 27) | public class IteratorPropertyAccessor<C extends OgnlContext<C>> extends ...
method getProperty (line 29) | public Object getProperty(C context, Object target, Object name) throw...
method setProperty (line 49) | public void setProperty(C context, Object target, Object name, Object ...
FILE: ognl/src/main/java/ognl/JJTOgnlParserState.java
class JJTOgnlParserState (line 4) | public class JJTOgnlParserState {
method JJTOgnlParserState (line 12) | public JJTOgnlParserState() {
method nodeCreated (line 22) | public boolean nodeCreated() {
method reset (line 28) | public void reset() {
method rootNode (line 37) | public Node rootNode() {
method pushNode (line 42) | public void pushNode(Node n) {
method popNode (line 49) | public Node popNode() {
method peekNode (line 57) | public Node peekNode() {
method nodeArity (line 63) | public int nodeArity() {
method clearNodeScope (line 68) | public void clearNodeScope(Node n) {
method openNodeScope (line 76) | public void openNodeScope(Node n) {
method closeNodeScope (line 87) | public void closeNodeScope(Node n, int num) {
method closeNodeScope (line 105) | public void closeNodeScope(Node n, boolean condition) {
FILE: ognl/src/main/java/ognl/JavaSource.java
type JavaSource (line 29) | public interface JavaSource<C extends OgnlContext<C>> {
method toGetSourceString (line 40) | String toGetSourceString(C context, Object target);
method toSetSourceString (line 51) | String toSetSourceString(C context, Object target);
FILE: ognl/src/main/java/ognl/ListPropertyAccessor.java
class ListPropertyAccessor (line 31) | public class ListPropertyAccessor<C extends OgnlContext<C>> extends Obje...
method getProperty (line 33) | public Object getProperty(C context, Object target, Object name) throw...
method setProperty (line 76) | public void setProperty(C context, Object target, Object name, Object ...
method getPropertyClass (line 114) | public Class<?> getPropertyClass(C context, Object target, Object inde...
method getSourceAccessor (line 139) | public String getSourceAccessor(C context, Object target, Object index) {
method getSourceSetter (line 198) | public String getSourceSetter(C context, Object target, Object index) {
FILE: ognl/src/main/java/ognl/MapElementsAccessor.java
class MapElementsAccessor (line 27) | public class MapElementsAccessor implements ElementsAccessor {
method getElements (line 29) | public Enumeration<?> getElements(Object target) {
FILE: ognl/src/main/java/ognl/MapPropertyAccessor.java
class MapPropertyAccessor (line 29) | public class MapPropertyAccessor<C extends OgnlContext<C>> implements Pr...
method getProperty (line 31) | public Object getProperty(C context, Object target, Object name) throw...
method setProperty (line 72) | public void setProperty(C context, Object target, Object name, Object ...
method getSourceAccessor (line 77) | public String getSourceAccessor(C context, Object target, Object index) {
method getSourceSetter (line 118) | public String getSourceSetter(C context, Object target, Object index) {
FILE: ognl/src/main/java/ognl/MemberAccess.java
type MemberAccess (line 28) | public interface MemberAccess<C extends OgnlContext<C>> {
method setup (line 38) | Object setup(C context, Object target, Member member, String propertyN...
method restore (line 49) | void restore(C context, Object target, Member member, String propertyN...
method isAccessible (line 61) | boolean isAccessible(C context, Object target, Member member, String p...
FILE: ognl/src/main/java/ognl/MethodAccessor.java
type MethodAccessor (line 26) | public interface MethodAccessor<C extends OgnlContext<C>> {
method callStaticMethod (line 37) | Object callStaticMethod(C context, Class<?> targetClass, String method...
method callMethod (line 49) | Object callMethod(C context, Object target, String methodName, Object[...
FILE: ognl/src/main/java/ognl/MethodFailedException.java
class MethodFailedException (line 24) | public class MethodFailedException extends OgnlException {
method MethodFailedException (line 28) | public MethodFailedException(Object source, String name) {
method MethodFailedException (line 32) | public MethodFailedException(Object source, String name, Throwable rea...
FILE: ognl/src/main/java/ognl/NoSuchPropertyException.java
class NoSuchPropertyException (line 25) | public class NoSuchPropertyException extends OgnlException {
method NoSuchPropertyException (line 32) | public NoSuchPropertyException(Object target, Object name) {
method NoSuchPropertyException (line 36) | public NoSuchPropertyException(Object target, Object name, Throwable r...
method getReason (line 42) | static String getReason(Object target, Object name) {
method getTarget (line 57) | public Object getTarget() {
method getName (line 61) | public Object getName() {
FILE: ognl/src/main/java/ognl/Node.java
type Node (line 31) | public interface Node<C extends OgnlContext<C>> extends JavaSource<C> {
method jjtOpen (line 37) | void jjtOpen();
method jjtClose (line 43) | void jjtClose();
method jjtSetParent (line 51) | void jjtSetParent(Node<C> n);
method jjtGetParent (line 53) | Node<C> jjtGetParent();
method jjtAddChild (line 62) | void jjtAddChild(Node<C> n, int i);
method jjtGetChild (line 71) | Node<C> jjtGetChild(int i);
method jjtGetNumChildren (line 78) | int jjtGetNumChildren();
method getValue (line 91) | Object getValue(C context, Object source) throws OgnlException;
method setValue (line 102) | void setValue(C context, Object target, Object value) throws OgnlExcep...
method getAccessor (line 109) | ExpressionAccessor<C> getAccessor();
method setAccessor (line 116) | void setAccessor(ExpressionAccessor<C> accessor);
FILE: ognl/src/main/java/ognl/NodeType.java
type NodeType (line 27) | public interface NodeType {
method getGetterClass (line 34) | Class<?> getGetterClass();
method getSetterClass (line 41) | Class<?> getSetterClass();
FILE: ognl/src/main/java/ognl/NullHandler.java
type NullHandler (line 26) | public interface NullHandler<C extends OgnlContext<C>> {
method nullMethodResult (line 36) | Object nullMethodResult(C context, Object target, String methodName, O...
method nullPropertyValue (line 47) | Object nullPropertyValue(C context, Object target, Object property);
FILE: ognl/src/main/java/ognl/NumberElementsAccessor.java
class NumberElementsAccessor (line 28) | public class NumberElementsAccessor implements ElementsAccessor, Numeric...
method getElements (line 30) | public Enumeration<?> getElements(final Object target) {
FILE: ognl/src/main/java/ognl/NumericCasts.java
class NumericCasts (line 29) | class NumericCasts {
method NumericCasts (line 33) | NumericCasts() {
method get (line 42) | String get(Class<? extends Number> cls) {
FILE: ognl/src/main/java/ognl/NumericDefaults.java
class NumericDefaults (line 26) | class NumericDefaults {
method NumericDefaults (line 30) | NumericDefaults() {
method get (line 44) | Object get(Class<?> cls) {
FILE: ognl/src/main/java/ognl/NumericExpression.java
class NumericExpression (line 28) | public abstract class NumericExpression<C extends OgnlContext<C>> extend...
method NumericExpression (line 35) | public NumericExpression(int id) {
method NumericExpression (line 39) | public NumericExpression(OgnlParser p, int id) {
method getGetterClass (line 43) | public Class<?> getGetterClass() {
method getSetterClass (line 50) | public Class<?> getSetterClass() {
method toGetSourceString (line 54) | public String toGetSourceString(C context, Object target) {
method coerceToNumeric (line 80) | public String coerceToNumeric(String source, C context, Node<C> child) {
FILE: ognl/src/main/java/ognl/NumericLiterals.java
class NumericLiterals (line 29) | class NumericLiterals {
method NumericLiterals (line 33) | NumericLiterals() {
method get (line 47) | String get(Class<?> clazz) {
FILE: ognl/src/main/java/ognl/NumericTypes.java
type NumericTypes (line 25) | public interface NumericTypes {
FILE: ognl/src/main/java/ognl/NumericValues.java
class NumericValues (line 30) | class NumericValues {
method NumericValues (line 34) | NumericValues() {
method get (line 46) | String get(Class<?> cls) {
FILE: ognl/src/main/java/ognl/ObjectElementsAccessor.java
class ObjectElementsAccessor (line 27) | public class ObjectElementsAccessor implements ElementsAccessor {
method getElements (line 29) | public Enumeration<?> getElements(Object target) {
FILE: ognl/src/main/java/ognl/ObjectIndexedPropertyDescriptor.java
class ObjectIndexedPropertyDescriptor (line 83) | public class ObjectIndexedPropertyDescriptor extends PropertyDescriptor {
method ObjectIndexedPropertyDescriptor (line 89) | public ObjectIndexedPropertyDescriptor(String propertyName, Class<?> p...
method getIndexedReadMethod (line 96) | public Method getIndexedReadMethod() {
method getIndexedWriteMethod (line 100) | public Method getIndexedWriteMethod() {
method getPropertyType (line 104) | public synchronized Class<?> getPropertyType() {
FILE: ognl/src/main/java/ognl/ObjectMethodAccessor.java
class ObjectMethodAccessor (line 28) | public class ObjectMethodAccessor<C extends OgnlContext<C>> implements M...
method callStaticMethod (line 30) | public Object callStaticMethod(C context, Class<?> targetClass, String...
method callMethod (line 36) | public Object callMethod(C context, Object target, String methodName, ...
FILE: ognl/src/main/java/ognl/ObjectNullHandler.java
class ObjectNullHandler (line 25) | public class ObjectNullHandler<C extends OgnlContext<C>> implements Null...
method nullMethodResult (line 26) | public Object nullMethodResult(C context, Object target, String method...
method nullPropertyValue (line 30) | public Object nullPropertyValue(C context, Object target, Object prope...
FILE: ognl/src/main/java/ognl/ObjectPropertyAccessor.java
class ObjectPropertyAccessor (line 32) | public class ObjectPropertyAccessor<C extends OgnlContext<C>> implements...
method getPossibleProperty (line 43) | public Object getPossibleProperty(C context, Object target, String nam...
method setPossibleProperty (line 69) | public Object setPossibleProperty(C context, Object target, String nam...
method hasGetProperty (line 92) | public boolean hasGetProperty(C context, Object target, Object oname) ...
method hasSetProperty (line 100) | public boolean hasSetProperty(C context, Object target, Object oname) ...
method getProperty (line 108) | public Object getProperty(C context, Object target, Object oname) thro...
method setProperty (line 119) | public void setProperty(C context, Object target, Object oname, Object...
method getPropertyClass (line 127) | public Class<?> getPropertyClass(C context, Object target, Object inde...
method getSourceAccessor (line 149) | public String getSourceAccessor(C context, Object target, Object index) {
method getSourceSetter (line 189) | public String getSourceSetter(C context, Object target, Object index) {
FILE: ognl/src/main/java/ognl/Ognl.java
class Ognl (line 65) | public abstract class Ognl {
method applyExpressionMaxLength (line 79) | public static synchronized void applyExpressionMaxLength(Integer expre...
method freezeExpressionMaxLength (line 97) | public static synchronized void freezeExpressionMaxLength() {
method thawExpressionMaxLength (line 108) | public static synchronized void thawExpressionMaxLength() {
method parseExpression (line 121) | public static Object parseExpression(String expression) throws OgnlExc...
method compileExpression (line 149) | public static <C extends OgnlContext<C>> Node<C> compileExpression(C c...
method createDefaultContext (line 164) | public static <C extends OgnlContext<C>> C createDefaultContext(Object...
method createDefaultContext (line 182) | public static <C extends OgnlContext<C>> C createDefaultContext(Object...
method createDefaultContext (line 196) | public static <C extends OgnlContext<C>> C createDefaultContext(Object...
method createDefaultContext (line 216) | public static <C extends OgnlContext<C>> C createDefaultContext(Object...
method createDefaultContext (line 238) | public static <C extends OgnlContext<C>> C createDefaultContext(Object...
method createDefaultContext (line 251) | public static <C extends OgnlContext<C>> C createDefaultContext(Object...
method addDefaultContext (line 265) | @Deprecated(forRemoval = true)
method addDefaultContext (line 288) | @Deprecated(forRemoval = true)
method addDefaultContext (line 312) | @Deprecated(forRemoval = true)
method addDefaultContext (line 324) | public static <C extends OgnlContext<C>> C addDefaultContext(Object ro...
method addDefaultContext (line 341) | public static <C extends OgnlContext<C>> C addDefaultContext(Object ro...
method getBuilderProvider (line 353) | public static <C extends OgnlContext<C>> OgnlContext.Builder<C> getBui...
method withBuilderProvider (line 384) | public static <C extends OgnlContext<C>> void withBuilderProvider(Ognl...
method getTypeConverter (line 394) | public static <C extends OgnlContext<C>> TypeConverter<C> getTypeConve...
method setRoot (line 408) | public static <C extends OgnlContext<C>> void setRoot(C context, Objec...
method getRoot (line 418) | public static <C extends OgnlContext<C>> Object getRoot(C context) {
method getLastEvaluation (line 428) | public static <C extends OgnlContext<C>> Evaluation<C> getLastEvaluati...
method getValue (line 445) | public static <C extends OgnlContext<C>> Object getValue(Object tree, ...
method getValue (line 463) | public static <C extends OgnlContext<C>> Object getValue(Object tree, ...
method getValue (line 502) | public static <C extends OgnlContext<C>> Object getValue(ExpressionAcc...
method getValue (line 516) | public static <C extends OgnlContext<C>> Object getValue(ExpressionAcc...
method getValue (line 535) | public static <C extends OgnlContext<C>> Object getValue(String expres...
method getValue (line 555) | public static <C extends OgnlContext<C>> Object getValue(String expres...
method getValue (line 570) | public static Object getValue(Object tree, Object root)
method getValue (line 587) | @SuppressWarnings("unchecked")
method getValue (line 607) | public static Object getValue(String expression, Object root) throws O...
method getValue (line 627) | public static Object getValue(String expression, Object root, Class<?>...
method setValue (line 644) | @SuppressWarnings("unchecked")
method setValue (line 665) | public static <C extends OgnlContext<C>> void setValue(ExpressionAcces...
method setValue (line 682) | public static <C extends OgnlContext<C>> void setValue(String expressi...
method setValue (line 698) | @SuppressWarnings("unchecked")
method setValue (line 719) | public static void setValue(String expression, Object root, Object value)
method isConstant (line 733) | public static <C extends OgnlContext<C>> boolean isConstant(Object tre...
method isConstant (line 745) | public static <C extends OgnlContext<C>> boolean isConstant(String exp...
method isConstant (line 757) | @SuppressWarnings("unchecked")
method isConstant (line 770) | @SuppressWarnings("unchecked")
method isSimpleProperty (line 775) | public static <C extends OgnlContext<C>> boolean isSimpleProperty(Obje...
method isSimpleProperty (line 779) | public static <C extends OgnlContext<C>> boolean isSimpleProperty(Stri...
method isSimpleProperty (line 783) | public static <C extends OgnlContext<C>> boolean isSimpleProperty(Obje...
method isSimpleProperty (line 787) | public static <C extends OgnlContext<C>> boolean isSimpleProperty(Stri...
method isSimpleNavigationChain (line 791) | public static <C extends OgnlContext<C>> boolean isSimpleNavigationCha...
method isSimpleNavigationChain (line 795) | public static <C extends OgnlContext<C>> boolean isSimpleNavigationCha...
method isSimpleNavigationChain (line 799) | public static <C extends OgnlContext<C>> boolean isSimpleNavigationCha...
method isSimpleNavigationChain (line 803) | public static <C extends OgnlContext<C>> boolean isSimpleNavigationCha...
method Ognl (line 810) | private Ognl() {
FILE: ognl/src/main/java/ognl/OgnlCache.java
class OgnlCache (line 51) | public class OgnlCache {
method getMethodParameterTypes (line 149) | public Class<?>[] getMethodParameterTypes(Method method) throws CacheE...
method getParameterTypes (line 153) | public Class<?>[] getParameterTypes(Constructor<?> constructor) throws...
method getConstructor (line 157) | public List<Constructor<?>> getConstructor(Class<?> clazz) throws Cach...
method getField (line 161) | public Map<String, Field> getField(Class<?> clazz) throws CacheExcepti...
method getMethod (line 165) | public Map<String, List<Method>> getMethod(DeclaredMethodCacheEntry de...
method getPropertyDescriptor (line 169) | public Map<String, PropertyDescriptor> getPropertyDescriptor(Class<?> ...
method getMethodAccessor (line 173) | public <C extends OgnlContext<C>> MethodAccessor<C> getMethodAccessor(...
method setMethodAccessor (line 181) | public void setMethodAccessor(Class<?> clazz, MethodAccessor accessor) {
method setPropertyAccessor (line 185) | public void setPropertyAccessor(Class<?> clazz, PropertyAccessor acces...
method getPropertyAccessor (line 189) | public <C extends OgnlContext<C>> PropertyAccessor<C> getPropertyAcces...
method setClassCacheInspector (line 203) | public void setClassCacheInspector(ClassCacheInspector inspector) {
method getGenericMethodParameterTypes (line 209) | public Class<?>[] getGenericMethodParameterTypes(GenericMethodParamete...
method getMethodPerm (line 213) | @Deprecated(since = "3.4.6", forRemoval = true)
method getMethodAccess (line 218) | public MethodAccessEntryValue getMethodAccess(Method method) throws Ca...
method clear (line 222) | public void clear() {
method getElementsAccessor (line 233) | public ElementsAccessor getElementsAccessor(Class<?> clazz) throws Ogn...
method setElementsAccessor (line 241) | public void setElementsAccessor(Class<?> clazz, ElementsAccessor acces...
method getNullHandler (line 245) | public <C extends OgnlContext<C>> NullHandler<C> getNullHandler(Class<...
method setNullHandler (line 253) | public void setNullHandler(Class<?> clazz, NullHandler handler) {
FILE: ognl/src/main/java/ognl/OgnlContext.java
class OgnlContext (line 37) | public class OgnlContext<C extends OgnlContext<C>> implements Map<String...
method OgnlContext (line 107) | @Deprecated(forRemoval = true)
method OgnlContext (line 112) | public OgnlContext(MemberAccess<C> memberAccess, ClassResolver<C> clas...
method OgnlContext (line 116) | public OgnlContext(MemberAccess<C> memberAccess, ClassResolver<C> clas...
method OgnlContext (line 120) | public OgnlContext(MemberAccess<C> memberAccess) {
method OgnlContext (line 133) | public OgnlContext(MemberAccess<C> memberAccess, ClassResolver<C> clas...
method setValues (line 155) | public void setValues(Map<String, Object> values) {
method withValues (line 166) | @SuppressWarnings("unchecked")
method getValues (line 177) | public Map<String, Object> getValues() {
method getClassResolver (line 181) | public ClassResolver<C> getClassResolver() {
method getTypeConverter (line 185) | public TypeConverter<C> getTypeConverter() {
method getMemberAccess (line 189) | public MemberAccess<C> getMemberAccess() {
method setRoot (line 196) | @Deprecated(forRemoval = true)
method getRoot (line 201) | public Object getRoot() {
method getTraceEvaluations (line 208) | @Deprecated
method isTraceEvaluations (line 213) | public boolean isTraceEvaluations() {
method setTraceEvaluations (line 217) | public void setTraceEvaluations(boolean value) {
method getLastEvaluation (line 221) | public Evaluation<C> getLastEvaluation() {
method setLastEvaluation (line 225) | public void setLastEvaluation(Evaluation<C> value) {
method getKeepLastEvaluation (line 232) | @Deprecated
method isKeepLastEvaluation (line 243) | public boolean isKeepLastEvaluation() {
method setKeepLastEvaluation (line 253) | public void setKeepLastEvaluation(boolean value) {
method isIgnoreReadMethods (line 263) | public boolean isIgnoreReadMethods() {
method setIgnoreReadMethods (line 273) | public void setIgnoreReadMethods(boolean value) {
method setCurrentObject (line 277) | public void setCurrentObject(Object value) {
method getCurrentObject (line 281) | public Object getCurrentObject() {
method setCurrentAccessor (line 285) | public void setCurrentAccessor(Class<?> type) {
method getCurrentAccessor (line 289) | public Class<?> getCurrentAccessor() {
method getPreviousAccessor (line 296) | public Class<?> getPreviousAccessor() {
method getFirstAccessor (line 306) | public Class<?> getFirstAccessor() {
method getCurrentType (line 318) | public Class<?> getCurrentType() {
method setCurrentType (line 325) | public void setCurrentType(Class<?> type) {
method getPreviousType (line 335) | public Class<?> getPreviousType() {
method setPreviousType (line 345) | public void setPreviousType(Class<?> type) {
method getFirstType (line 352) | public Class<?> getFirstType() {
method setCurrentNode (line 359) | public void setCurrentNode(Node<C> value) {
method getCurrentNode (line 363) | public Node<C> getCurrentNode() {
method getCurrentEvaluation (line 373) | public Evaluation<C> getCurrentEvaluation() {
method setCurrentEvaluation (line 377) | public void setCurrentEvaluation(Evaluation<C> value) {
method getRootEvaluation (line 387) | public Evaluation<C> getRootEvaluation() {
method setRootEvaluation (line 391) | public void setRootEvaluation(Evaluation<C> value) {
method getEvaluation (line 403) | public Evaluation<C> getEvaluation(int relativeIndex) {
method pushEvaluation (line 421) | public void pushEvaluation(Evaluation<C> value) {
method popEvaluation (line 436) | public Evaluation<C> popEvaluation() {
method incrementLocalReferenceCounter (line 449) | public int incrementLocalReferenceCounter() {
method addLocalReference (line 453) | public void addLocalReference(String key, LocalReference reference) {
method getLocalReferences (line 461) | public Map<String, LocalReference> getLocalReferences() {
method size (line 466) | @Override
method isEmpty (line 471) | @Override
method containsKey (line 476) | @Override
method containsValue (line 481) | @Override
method get (line 486) | @Override
method put (line 523) | @Override
method remove (line 563) | @Override
method putAll (line 603) | @Override
method clear (line 610) | @Override
method keySet (line 629) | @Override
method values (line 634) | public Collection<Object> values() {
method entrySet (line 638) | @Override
method equals (line 643) | @Override
method hashCode (line 653) | @Override
method withRoot (line 658) | public C withRoot(Object value) {
class Builder (line 671) | public static class Builder<C extends OgnlContext<C>> {
method Builder (line 680) | public Builder(Function<Builder<C>, C> provider) {
method withMemberAccess (line 684) | public Builder<C> withMemberAccess(MemberAccess<C> memberAccess) {
method withClassResolver (line 692) | public Builder<C> withClassResolver(ClassResolver<C> classResolver) {
method withTypeConverter (line 697) | public Builder<C> withTypeConverter(TypeConverter<C> converter) {
method withRoot (line 702) | public Builder<C> withRoot(Object value) {
method withInitialContext (line 707) | public Builder<C> withInitialContext(Map<String, Object> initialCont...
method getMemberAccess (line 712) | public MemberAccess<C> getMemberAccess() {
method getClassResolver (line 716) | public ClassResolver<C> getClassResolver() {
method getTypeConverter (line 720) | public TypeConverter<C> getTypeConverter() {
method getInitialContext (line 724) | public Map<String, Object> getInitialContext() {
method getRoot (line 728) | public Object getRoot() {
method build (line 732) | public C build() {
FILE: ognl/src/main/java/ognl/OgnlException.java
class OgnlException (line 24) | public class OgnlException extends Exception {
method OgnlException (line 36) | public OgnlException() {
method OgnlException (line 45) | public OgnlException(String msg) {
method OgnlException (line 55) | public OgnlException(String msg, Throwable reason) {
method OgnlException (line 69) | protected OgnlException(String message, Throwable reason, boolean enab...
method getReason (line 78) | public Throwable getReason() {
method getEvaluation (line 88) | public Evaluation getEvaluation() {
method setEvaluation (line 97) | public void setEvaluation(Evaluation value) {
method toString (line 106) | public String toString() {
FILE: ognl/src/main/java/ognl/OgnlOps.java
class OgnlOps (line 33) | public abstract class OgnlOps implements NumericTypes {
method compareWithConversion (line 51) | public static int compareWithConversion(Object v1, Object v2) {
method isEqual (line 108) | public static boolean isEqual(Object object1, Object object2) {
method booleanValue (line 138) | public static boolean booleanValue(boolean value) {
method booleanValue (line 142) | public static boolean booleanValue(int value) {
method booleanValue (line 146) | public static boolean booleanValue(float value) {
method booleanValue (line 150) | public static boolean booleanValue(long value) {
method booleanValue (line 154) | public static boolean booleanValue(double value) {
method booleanValue (line 166) | public static boolean booleanValue(Object value) {
method longValue (line 196) | public static long longValue(Object value)
method doubleValue (line 213) | public static double doubleValue(Object value)
method bigIntValue (line 232) | public static BigInteger bigIntValue(Object value)
method bigDecValue (line 251) | public static BigDecimal bigDecValue(Object value)
method stringValue (line 270) | public static String stringValue(Object value, boolean trim) {
method stringValue (line 291) | public static String stringValue(Object value) {
method getNumericType (line 302) | public static int getNumericType(Object value) {
method toArray (line 319) | public static Object toArray(char value, Class<?> toType) {
method toArray (line 323) | public static Object toArray(byte value, Class<?> toType) {
method toArray (line 327) | public static Object toArray(int value, Class<?> toType) {
method toArray (line 331) | public static Object toArray(long value, Class<?> toType) {
method toArray (line 335) | public static Object toArray(float value, Class<?> toType) {
method toArray (line 339) | public static Object toArray(double value, Class<?> toType) {
method toArray (line 343) | public static Object toArray(boolean value, Class<?> toType) {
method convertValue (line 347) | public static Object convertValue(char value, Class<?> toType) {
method convertValue (line 351) | public static Object convertValue(byte value, Class<?> toType) {
method convertValue (line 355) | public static Object convertValue(int value, Class<?> toType) {
method convertValue (line 359) | public static Object convertValue(long value, Class<?> toType) {
method convertValue (line 363) | public static Object convertValue(float value, Class<?> toType) {
method convertValue (line 367) | public static Object convertValue(double value, Class<?> toType) {
method convertValue (line 371) | public static Object convertValue(boolean value, Class<?> toType) {
method convertValue (line 375) | public static Object convertValue(char value, Class<?> toType, boolean...
method convertValue (line 379) | public static Object convertValue(byte value, Class<?> toType, boolean...
method convertValue (line 383) | public static Object convertValue(int value, Class<?> toType, boolean ...
method convertValue (line 387) | public static Object convertValue(long value, Class<?> toType, boolean...
method convertValue (line 391) | public static Object convertValue(float value, Class<?> toType, boolea...
method convertValue (line 395) | public static Object convertValue(double value, Class<?> toType, boole...
method convertValue (line 399) | public static Object convertValue(boolean value, Class<?> toType, bool...
method toArray (line 403) | public static Object toArray(char value, Class<?> toType, boolean prev...
method toArray (line 407) | public static Object toArray(byte value, Class<?> toType, boolean prev...
method toArray (line 411) | public static Object toArray(int value, Class<?> toType, boolean preve...
method toArray (line 415) | public static Object toArray(long value, Class<?> toType, boolean prev...
method toArray (line 419) | public static Object toArray(float value, Class<?> toType, boolean pre...
method toArray (line 423) | public static Object toArray(double value, Class<?> toType, boolean pr...
method toArray (line 427) | public static Object toArray(boolean value, Class<?> toType, boolean p...
method convertValue (line 440) | public static Object convertValue(Object value, Class<?> toType) {
method toArray (line 444) | public static Object toArray(Object value, Class<?> toType) {
method toArray (line 448) | public static Object toArray(Object value, Class<?> toType, boolean pr...
method convertValue (line 479) | public static Object convertValue(Object value, Class<?> toType, boole...
method getIntValue (line 558) | public static int getIntValue(Object value) {
method getNumericType (line 584) | public static int getNumericType(Object v1, Object v2) {
method getNumericType (line 597) | public static int getNumericType(int t1, int t2, boolean canBeNonNumer...
method getNumericType (line 626) | public static int getNumericType(Object v1, Object v2, boolean canBeNo...
method newInteger (line 639) | public static Number newInteger(int type, long value) {
method newReal (line 677) | public static Number newReal(int type, double value) {
method binaryOr (line 682) | public static Object binaryOr(Object v1, Object v2) {
method binaryXor (line 688) | public static Object binaryXor(Object v1, Object v2) {
method binaryAnd (line 694) | public static Object binaryAnd(Object v1, Object v2) {
method equal (line 700) | public static boolean equal(Object v1, Object v2) {
method less (line 705) | public static boolean less(Object v1, Object v2) {
method greater (line 709) | public static boolean greater(Object v1, Object v2) {
method in (line 713) | public static boolean in(Object v1, Object v2)
method shiftLeft (line 730) | public static Object shiftLeft(Object v1, Object v2) {
method shiftRight (line 736) | public static Object shiftRight(Object v1, Object v2) {
method unsignedShiftRight (line 742) | public static Object unsignedShiftRight(Object v1, Object v2) {
method add (line 749) | public static Object add(Object v1, Object v2) {
method subtract (line 773) | public static Object subtract(Object v1, Object v2) {
method multiply (line 783) | public static Object multiply(Object v1, Object v2) {
method divide (line 793) | public static Object divide(Object v1, Object v2) {
method remainder (line 803) | public static Object remainder(Object v1, Object v2) {
method negate (line 811) | public static Object negate(Object value) {
method bitNegate (line 821) | public static Object bitNegate(Object value) {
method getEscapeString (line 829) | public static String getEscapeString(String value) {
method getEscapedChar (line 838) | public static String getEscapedChar(char ch) {
method returnValue (line 894) | public static Object returnValue(Object ignore, Object returnValue) {
method castToRuntime (line 905) | public static RuntimeException castToRuntime(Throwable t) {
FILE: ognl/src/main/java/ognl/OgnlParserTreeConstants.java
type OgnlParserTreeConstants (line 4) | public interface OgnlParserTreeConstants {
FILE: ognl/src/main/java/ognl/OgnlRuntime.java
class OgnlRuntime (line 65) | public class OgnlRuntime {
method isUnsafeClass (line 165) | private static boolean isUnsafeClass(final Class<?> clazz) {
method clearCache (line 395) | public static void clearCache() {
method clearAdditionalCache (line 414) | public static void clearAdditionalCache() {
method getMajorJavaVersion (line 425) | public static int getMajorJavaVersion() {
method getNumericValueGetter (line 429) | public static String getNumericValueGetter(Class<?> type) {
method getPrimitiveWrapperClass (line 433) | public static Class<?> getPrimitiveWrapperClass(Class<?> primitiveClas...
method getNumericCast (line 437) | public static String getNumericCast(Class<? extends Number> type) {
method getNumericLiteral (line 441) | public static String getNumericLiteral(Class<?> type) {
method setCompiler (line 445) | public static void setCompiler(OgnlExpressionCompiler compiler) {
method getCompiler (line 449) | public static OgnlExpressionCompiler getCompiler() {
method compileExpression (line 453) | public static <C extends OgnlContext<C>> void compileExpression(C cont...
method getTargetClass (line 466) | public static Class<?> getTargetClass(Object o) {
method getBaseName (line 477) | public static String getBaseName(Object o) {
method getClassBaseName (line 487) | public static String getClassBaseName(Class<?> c) {
method getClassName (line 493) | public static String getClassName(Object o, boolean fullyQualified) {
method getClassName (line 501) | public static String getClassName(Class<?> c, boolean fullyQualified) {
method getPackageName (line 511) | public static String getPackageName(Object o) {
method getClassPackageName (line 521) | public static String getClassPackageName(Class<?> c) {
method getPointerString (line 534) | public static String getPointerString(int num) {
method getPointerString (line 559) | public static String getPointerString(Object o) {
method getUniqueDescriptor (line 572) | public static String getUniqueDescriptor(Object object, boolean fullyQ...
method getUniqueDescriptor (line 599) | public static String getUniqueDescriptor(Object object) {
method getParameterTypes (line 609) | public static Class<?>[] getParameterTypes(Method method) throws Cache...
method findParameterTypes (line 622) | public static Class<?>[] findParameterTypes(Class<?> type, Method meth...
method getParameterTypes (line 637) | public static Class<?>[] getParameterTypes(Constructor<?> constructor)...
method invokeMethod (line 641) | public static Object invokeMethod(Object target, Method method, Object...
method getArgClass (line 723) | public static Class<?> getArgClass(Object arg) {
method getArgClasses (line 747) | public static Class<?>[] getArgClasses(Object[] args) {
method isTypeCompatible (line 767) | public static boolean isTypeCompatible(Object object, Class<?> c) {
method isTypeCompatible (line 778) | public static boolean isTypeCompatible(Class<?> parameterClass, Class<...
class ArgsCompatbilityReport (line 868) | public static class ArgsCompatbilityReport {
method ArgsCompatbilityReport (line 872) | public ArgsCompatbilityReport(int score, boolean[] conversionNeeded) {
method areArgsCompatible (line 880) | public static boolean areArgsCompatible(Object[] args, Class<?>[] clas...
method areArgsCompatible (line 890) | public static ArgsCompatbilityReport areArgsCompatible(Class<?>[] args...
method isMoreSpecific (line 951) | public static boolean isMoreSpecific(Class<?>[] classes1, Class<?>[] c...
method getModifierString (line 968) | public static String getModifierString(int modifiers) {
method classForName (line 992) | public static <C extends OgnlContext<C>> Class classForName(C context,...
method isInstance (line 1010) | public static <C extends OgnlContext<C>> boolean isInstance(C context,...
method getPrimitiveDefaultValue (line 1020) | public static Object getPrimitiveDefaultValue(Class<?> forClass) {
method getNumericDefaultValue (line 1024) | public static Object getNumericDefaultValue(Class<?> forClass) {
method getConvertedType (line 1028) | public static <C extends OgnlContext<C>> Object getConvertedType(C con...
method getConvertedTypes (line 1033) | public static <C extends OgnlContext<C>> boolean getConvertedTypes(C c...
method getConvertedConstructorAndArgs (line 1059) | public static <C extends OgnlContext<C>> Constructor<?> getConvertedCo...
method getAppropriateMethod (line 1093) | public static <C extends OgnlContext<C>> Method getAppropriateMethod(C...
method getConvertedMethodAndArgs (line 1129) | public static <C extends OgnlContext<C>> Method getConvertedMethodAndA...
class MatchingMethod (line 1147) | private static class MatchingMethod {
method MatchingMethod (line 1154) | private MatchingMethod(Method method, int score, ArgsCompatbilityRep...
method isLikelyAccessible (line 1171) | static boolean isLikelyAccessible(Class<?> clazz) {
method findBestMethod (line 1211) | private static MatchingMethod findBestMethod(List<Method> methods, Cla...
method callAppropriateMethod (line 1340) | public static <C extends OgnlContext<C>> Object callAppropriateMethod(...
method callStaticMethod (line 1428) | public static <C extends OgnlContext<C>> Object callStaticMethod(C con...
method callMethod (line 1451) | public static <C extends OgnlContext<C>> Object callMethod(C context, ...
method callConstructor (line 1460) | public static <C extends OgnlContext<C>> Object callConstructor(C cont...
method getMethodValue (line 1514) | public static <C extends OgnlContext<C>> Object getMethodValue(C conte...
method setMethodValue (line 1550) | public static <C extends OgnlContext<C>> boolean setMethodValue(C cont...
method getConstructors (line 1572) | public static List<Constructor<?>> getConstructors(Class<?> targetClas...
method getMethods (line 1576) | public static Map<String, List<Method>> getMethods(Class<?> targetClas...
method isDefaultMethod (line 1593) | private static boolean isDefaultMethod(Method method) {
method isNonDefaultPublicInterfaceMethod (line 1609) | private static boolean isNonDefaultPublicInterfaceMethod(Method method) {
method getMethods (line 1615) | public static List<Method> getMethods(Class<?> targetClass, String nam...
method getFields (line 1619) | public static Map<String, Field> getFields(Class<?> targetClass) {
method getField (line 1623) | public static Field getField(Class<?> inClass, String name) {
method getFieldValue (line 1649) | public static <C extends OgnlContext<C>> Object getFieldValue(C contex...
method setFieldValue (line 1689) | public static <C extends OgnlContext<C>> boolean setFieldValue(C conte...
method isFieldAccessible (line 1718) | public static <C extends OgnlContext<C>> boolean isFieldAccessible(C c...
method isFieldAccessible (line 1722) | public static <C extends OgnlContext<C>> boolean isFieldAccessible(C c...
method hasField (line 1726) | public static <C extends OgnlContext<C>> boolean hasField(C context, O...
method getStaticField (line 1746) | public static <C extends OgnlContext<C>> Object getStaticField(C conte...
method getDeclaredMethods (line 1794) | public static List<Method> getDeclaredMethods(Class<?> targetClass, St...
method isMethodCallable (line 1830) | public static boolean isMethodCallable(Method m) {
method isMethodCallable_BridgeOrNonSynthetic (line 1854) | static boolean isMethodCallable_BridgeOrNonSynthetic(Method m) {
method getGetMethod (line 1865) | public static Method getGetMethod(Class<?> targetClass, String propert...
method _getGetMethod (line 1895) | private static Method _getGetMethod(Class<?> targetClass, String prope...
method isMethodAccessible (line 1931) | public static <C extends OgnlContext<C>> boolean isMethodAccessible(C ...
method hasGetMethod (line 1935) | public static <C extends OgnlContext<C>> boolean hasGetMethod(C contex...
method getSetMethod (line 1947) | public static <C extends OgnlContext<C>> Method getSetMethod(C context...
method _getSetMethod (line 1982) | private static Method _getSetMethod(OgnlContext context, Class<?> targ...
method hasSetMethod (line 2017) | public static boolean hasSetMethod(OgnlContext context, Object target,...
method hasGetProperty (line 2021) | public static boolean hasGetProperty(OgnlContext context, Object targe...
method hasSetProperty (line 2028) | public static boolean hasSetProperty(OgnlContext context, Object targe...
method getPropertyDescriptors (line 2041) | public static Map<String, PropertyDescriptor> getPropertyDescriptors(C...
method getPropertyDescriptor (line 2054) | public static PropertyDescriptor getPropertyDescriptor(Class<?> target...
method getPropertyDescriptorsArray (line 2061) | public static PropertyDescriptor[] getPropertyDescriptorsArray(Class<?...
method getPropertyDescriptorFromArray (line 2074) | public static PropertyDescriptor getPropertyDescriptorFromArray(Class<...
method setMethodAccessor (line 2089) | public static void setMethodAccessor(Class<?> clazz, MethodAccessor ac...
method getMethodAccessor (line 2093) | public static <C extends OgnlContext<C>> MethodAccessor<C> getMethodAc...
method setPropertyAccessor (line 2098) | public static <C extends OgnlContext<C>> void setPropertyAccessor(Clas...
method getPropertyAccessor (line 2102) | public static <C extends OgnlContext<C>> PropertyAccessor<C> getProper...
method getElementsAccessor (line 2107) | public static ElementsAccessor getElementsAccessor(Class<?> clazz)
method setElementsAccessor (line 2112) | public static void setElementsAccessor(Class<?> clazz, ElementsAccesso...
method getNullHandler (line 2116) | public static <C extends OgnlContext<C>> NullHandler<C> getNullHandler...
method setNullHandler (line 2121) | public static void setNullHandler(Class<?> clazz, NullHandler handler) {
method getProperty (line 2125) | public static <C extends OgnlContext<C>> Object getProperty(C context,...
method setProperty (line 2139) | public static <C extends OgnlContext<C>> void setProperty(C context, O...
method getIndexedPropertyType (line 2165) | public static int getIndexedPropertyType(Class<?> sourceClass, String ...
method getIndexedProperty (line 2185) | public static <C extends OgnlContext<C>> Object getIndexedProperty(C c...
method setIndexedProperty (line 2212) | public static <C extends OgnlContext<C>> void setIndexedProperty(C con...
method getEvaluationPool (line 2239) | public static <C extends OgnlContext<C>> EvaluationPool<C> getEvaluati...
method setClassCacheInspector (line 2249) | public static void setClassCacheInspector(ClassCacheInspector inspecto...
method getMethod (line 2253) | public static <C extends OgnlContext<C>> Method getMethod(C context, C...
method getReadMethod (line 2338) | public static Method getReadMethod(Class<?> target, String name) {
method getReadMethod (line 2342) | public static Method getReadMethod(Class<?> target, String name, Class...
method getWriteMethod (line 2424) | public static Method getWriteMethod(Class<?> target, String name) {
method getWriteMethod (line 2428) | public static Method getWriteMethod(Class<?> target, String name, Clas...
method getProperty (line 2510) | public static PropertyDescriptor getProperty(Class<?> target, String n...
method isBoolean (line 2528) | public static boolean isBoolean(String expression) {
method shouldConvertNumericTypes (line 2554) | public static <C extends OgnlContext<C>> boolean shouldConvertNumericT...
method getChildSource (line 2576) | public static <C extends OgnlContext<C>> String getChildSource(C conte...
class ClassPropertyMethodCache (line 2640) | private static final class ClassPropertyMethodCache {
method ClassPropertyMethodCache (line 2658) | ClassPropertyMethodCache() {
method get (line 2662) | Method get(Class<?> clazz, String propertyName) {
method put (line 2670) | void put(Class<?> clazz, String propertyName, Method method) {
method clear (line 2688) | void clear() {
method detectMajorJavaVersion (line 2703) | static int detectMajorJavaVersion() {
method parseMajorJavaVersion (line 2726) | static int parseMajorJavaVersion(String versionString) {
method getUseStricterInvocationValue (line 2773) | public static boolean getUseStricterInvocationValue() {
method getUseFirstMatchGetSetLookupValue (line 2786) | public static boolean getUseFirstMatchGetSetLookupValue() {
method isAccessible (line 2800) | private static <C extends OgnlContext<C>> boolean isAccessible(C conte...
FILE: ognl/src/main/java/ognl/PrimitiveDefaults.java
class PrimitiveDefaults (line 26) | class PrimitiveDefaults {
method PrimitiveDefaults (line 30) | PrimitiveDefaults() {
method get (line 46) | Object get(Class<?> cls) {
FILE: ognl/src/main/java/ognl/PrimitiveTypes.java
class PrimitiveTypes (line 24) | class PrimitiveTypes {
method PrimitiveTypes (line 28) | PrimitiveTypes() {
method get (line 39) | Class<?> get(String className) {
FILE: ognl/src/main/java/ognl/PrimitiveWrapperClasses.java
class PrimitiveWrapperClasses (line 27) | class PrimitiveWrapperClasses {
method PrimitiveWrapperClasses (line 31) | PrimitiveWrapperClasses() {
method get (line 50) | Class<?> get(Class<?> cls) {
FILE: ognl/src/main/java/ognl/PropertyAccessor.java
type PropertyAccessor (line 38) | public interface PropertyAccessor<C extends OgnlContext<C>> {
method getProperty (line 49) | Object getProperty(C context, Object target, Object name) throws OgnlE...
method setProperty (line 60) | void setProperty(C context, Object target, Object name, Object value) ...
method getSourceAccessor (line 71) | String getSourceAccessor(C context, Object target, Object index);
method getSourceSetter (line 82) | String getSourceSetter(C context, Object target, Object index);
FILE: ognl/src/main/java/ognl/SetPropertyAccessor.java
class SetPropertyAccessor (line 27) | public class SetPropertyAccessor<C extends OgnlContext<C>> extends Objec...
method getProperty (line 29) | public Object getProperty(C context, Object target, Object name) throw...
FILE: ognl/src/main/java/ognl/SimpleNode.java
class SimpleNode (line 27) | public abstract class SimpleNode<C extends OgnlContext<C>> implements No...
method SimpleNode (line 43) | public SimpleNode(int i) {
method SimpleNode (line 47) | public SimpleNode(OgnlParser p, int i) {
method jjtOpen (line 52) | public void jjtOpen() {
method jjtClose (line 55) | public void jjtClose() {
method jjtSetParent (line 58) | public void jjtSetParent(Node<C> n) {
method jjtGetParent (line 62) | public Node<C> jjtGetParent() {
method jjtAddChild (line 66) | public void jjtAddChild(Node<C> n, int i) {
method jjtGetChild (line 77) | public Node<C> jjtGetChild(int i) {
method jjtGetNumChildren (line 81) | public int jjtGetNumChildren() {
method toString (line 91) | public String toString() {
method toString (line 97) | public String toString(String prefix) {
method toGetSourceString (line 101) | public String toGetSourceString(C context, Object target) {
method toSetSourceString (line 105) | public String toSetSourceString(C context, Object target) {
method dump (line 113) | public void dump(PrintWriter writer, String prefix) {
method getIndexInParent (line 126) | public int getIndexInParent() {
method getNextSibling (line 143) | public Node<C> getNextSibling() {
method evaluateGetValueBody (line 157) | protected Object evaluateGetValueBody(C context, Object source)
method evaluateSetValueBody (line 176) | protected void evaluateSetValueBody(C context, Object target, Object v...
method getValue (line 183) | public final Object getValue(C context, Object source)
method getValueBody (line 222) | protected abstract Object getValueBody(C context, Object source)
method setValue (line 225) | public final void setValue(C context, Object target, Object value)
method setValueBody (line 263) | protected void setValueBody(C context, Object target, Object value)
method isNodeConstant (line 275) | public boolean isNodeConstant(C context)
method isConstant (line 280) | public boolean isConstant(C context)
method isNodeSimpleProperty (line 285) | public boolean isNodeSimpleProperty(C context)
method isSimpleProperty (line 290) | public boolean isSimpleProperty(C context)
method isSimpleNavigationChain (line 295) | public boolean isSimpleNavigationChain(C context)
method isEvalChain (line 300) | public boolean isEvalChain(C context) throws OgnlException {
method isSequence (line 314) | public boolean isSequence(C context) throws OgnlException {
method isOperation (line 328) | public boolean isOperation(C context) throws OgnlException {
method isChain (line 342) | public boolean isChain(C context) throws OgnlException {
method isSimpleMethod (line 356) | public boolean isSimpleMethod(C context) throws OgnlException {
method lastChild (line 360) | protected boolean lastChild(C context) {
method flattenTree (line 368) | protected void flattenTree() {
method getAccessor (line 400) | public ExpressionAccessor getAccessor() {
method setAccessor (line 404) | public void setAccessor(ExpressionAccessor accessor) {
FILE: ognl/src/main/java/ognl/TypeConverter.java
type TypeConverter (line 26) | public interface TypeConverter<C extends OgnlContext<C>> {
method convertValue (line 41) | Object convertValue(C context, Object target, Member member, String pr...
FILE: ognl/src/main/java/ognl/enhance/ContextClassLoader.java
class ContextClassLoader (line 23) | public class ContextClassLoader<C extends OgnlContext<C>> extends ClassL...
method ContextClassLoader (line 27) | public ContextClassLoader(ClassLoader parentClassLoader, C context) {
method findClass (line 32) | protected Class<?> findClass(String name) throws ClassNotFoundException {
FILE: ognl/src/main/java/ognl/enhance/EnhancedClassLoader.java
class EnhancedClassLoader (line 21) | public class EnhancedClassLoader extends ClassLoader {
method EnhancedClassLoader (line 23) | public EnhancedClassLoader(ClassLoader parentClassLoader) {
method defineClass (line 27) | public Class<?> defineClass(String enhancedClassName, byte[] byteCode) {
FILE: ognl/src/main/java/ognl/enhance/ExpressionAccessor.java
type ExpressionAccessor (line 29) | public interface ExpressionAccessor<C extends OgnlContext<C>> {
method get (line 38) | Object get(C context, Object target);
method set (line 47) | void set(C context, Object target, Object value);
method setExpression (line 55) | void setExpression(Node<C> expression);
FILE: ognl/src/main/java/ognl/enhance/ExpressionCompiler.java
class ExpressionCompiler (line 61) | public class ExpressionCompiler<C extends OgnlContext<C>> implements Ogn...
method ExpressionCompiler (line 84) | public ExpressionCompiler() {
method addCastString (line 96) | public static <C extends OgnlContext<C>> void addCastString(C context,...
method getCastString (line 119) | public static String getCastString(Class<?> type) {
method getRootExpression (line 137) | public static <C extends OgnlContext<C>> String getRootExpression(Node...
method shouldCast (line 179) | public static <C extends OgnlContext<C>> boolean shouldCast(Node<C> ex...
method castExpression (line 192) | public String castExpression(C context, Node<C> expression, String bod...
method getClassName (line 220) | public String getClassName(Class<?> clazz) {
method getClassName (line 230) | private String getClassName(Class<?> clazz, Class<?>[] interfaces) {
method getSuperOrInterfaceClass (line 249) | public Class<?> getSuperOrInterfaceClass(Method method, Class<?> clazz) {
method containsMethod (line 288) | public boolean containsMethod(Method method, Class<?> clazz) {
method getInterfaceClass (line 335) | public Class<?> getInterfaceClass(Class<?> clazz) {
method getInterfaceClass (line 346) | private Class<?> getInterfaceClass(Class<?> clazz, Class<?>[] interfac...
method getRootExpressionClass (line 370) | public Class<?> getRootExpressionClass(Node<C> rootNode, C context) {
method compileExpression (line 384) | public void compileExpression(C context, Node<C> expression, Object ro...
method instantiateClass (line 466) | protected Class<?> instantiateClass(final ClassPool pool, final CtClas...
method generateGetter (line 472) | protected String generateGetter(C context, CtClass newClass, ClassPool...
method createLocalReference (line 541) | public String createLocalReference(C context, String expression, Class...
method createLocalReferences (line 552) | private void createLocalReferences(C context, ClassPool pool, CtClass ...
method generateSetter (line 582) | protected String generateSetter(C context, CtClass newClass, ClassPool...
method generateOgnlGetter (line 635) | protected String generateOgnlGetter(CtClass clazz, CtMethod valueGette...
method generateOgnlSetter (line 655) | protected String generateOgnlSetter(CtClass clazz, CtMethod valueSette...
method getClassLoader (line 672) | protected EnhancedClassLoader getClassLoader(C context) {
method getCtClass (line 694) | protected CtClass getCtClass(Class<?> searchClass) throws NotFoundExce...
method getClassPool (line 707) | protected ClassPool getClassPool(C context, EnhancedClassLoader loader) {
FILE: ognl/src/main/java/ognl/enhance/LocalReference.java
type LocalReference (line 25) | public interface LocalReference {
method getName (line 32) | String getName();
method getExpression (line 39) | String getExpression();
method getType (line 46) | Class<?> getType();
FILE: ognl/src/main/java/ognl/enhance/OgnlExpressionCompiler.java
type OgnlExpressionCompiler (line 30) | public interface OgnlExpressionCompiler<C extends OgnlContext<C>> {
method compileExpression (line 51) | void compileExpression(C context, Node<C> expression, Object root)
method getClassName (line 61) | String getClassName(Class<?> clazz);
method getInterfaceClass (line 72) | Class<?> getInterfaceClass(Class<?> clazz);
method getSuperOrInterfaceClass (line 81) | Class<?> getSuperOrInterfaceClass(Method method, Class<?> clazz);
method getRootExpressionClass (line 92) | Class<?> getRootExpressionClass(Node<C> rootNode, C context);
method castExpression (line 109) | String castExpression(C context, Node<C> expression, String body);
method createLocalReference (line 128) | String createLocalReference(C context, String expression, Class<?> type);
FILE: ognl/src/main/java/ognl/enhance/OgnlLocalReference.java
class OgnlLocalReference (line 26) | public class OgnlLocalReference implements LocalReference {
method OgnlLocalReference (line 32) | public OgnlLocalReference(String name, String expression, Class<?> cla...
method getName (line 38) | public String getName() {
method getExpression (line 42) | public String getExpression() {
method getType (line 46) | public Class<?> getType() {
method equals (line 50) | public boolean equals(Object o) {
method hashCode (line 65) | public int hashCode() {
method toString (line 73) | public String toString() {
FILE: ognl/src/main/java/ognl/enhance/OrderedReturn.java
type OrderedReturn (line 28) | public interface OrderedReturn {
method getCoreExpression (line 35) | String getCoreExpression();
method getLastExpression (line 42) | String getLastExpression();
FILE: ognl/src/main/java/ognl/enhance/UnsupportedCompilationException.java
class UnsupportedCompilationException (line 31) | public class UnsupportedCompilationException extends RuntimeException {
method UnsupportedCompilationException (line 35) | public UnsupportedCompilationException(String message) {
method UnsupportedCompilationException (line 39) | public UnsupportedCompilationException(String message, Throwable cause) {
FILE: ognl/src/main/java/ognl/internal/Cache.java
type Cache (line 21) | public interface Cache<K, V> {
method clear (line 23) | void clear();
method getSize (line 25) | int getSize();
method get (line 27) | V get(K key) throws CacheException;
method put (line 29) | V put(K key, V value);
FILE: ognl/src/main/java/ognl/internal/CacheException.java
class CacheException (line 21) | public class CacheException extends RuntimeException {
method CacheException (line 25) | public CacheException(Throwable e) {
FILE: ognl/src/main/java/ognl/internal/CacheFactory.java
type CacheFactory (line 24) | public interface CacheFactory {
method createCache (line 26) | <K, V> Cache<K, V> createCache(CacheEntryFactory<K, V> entryFactory);
method createClassCache (line 28) | <V> ClassCache<V> createClassCache();
method createClassCache (line 30) | <V> ClassCache<V> createClassCache(ClassCacheEntryFactory<V> entryFact...
FILE: ognl/src/main/java/ognl/internal/ClassCache.java
type ClassCache (line 26) | public interface ClassCache<V> extends Cache<Class<?>, V> {
method setClassInspector (line 28) | void setClassInspector(ClassCacheInspector inspector);
FILE: ognl/src/main/java/ognl/internal/ClassCacheHandler.java
class ClassCacheHandler (line 21) | public class ClassCacheHandler {
method ClassCacheHandler (line 23) | private ClassCacheHandler() {
method getHandler (line 26) | public static <T> T getHandler(Class<?> forClass, ClassCache<T> handle...
FILE: ognl/src/main/java/ognl/internal/HashMapCache.java
class HashMapCache (line 26) | public class HashMapCache<K, V> implements Cache<K, V> {
method HashMapCache (line 32) | public HashMapCache(CacheEntryFactory<K, V> cacheEntryFactory) {
method clear (line 36) | public void clear() {
method getSize (line 42) | public int getSize() {
method get (line 48) | public V get(K key) throws CacheException {
method shouldCreate (line 62) | protected boolean shouldCreate(CacheEntryFactory<K, V> cacheEntryFacto...
method put (line 66) | public V put(K key, V value) {
method contains (line 74) | public boolean contains(K key) {
FILE: ognl/src/main/java/ognl/internal/HashMapCacheFactory.java
class HashMapCacheFactory (line 25) | public class HashMapCacheFactory implements CacheFactory {
method createCache (line 27) | public <K, V> Cache<K, V> createCache(CacheEntryFactory<K, V> entryFac...
method createClassCache (line 31) | public <V> ClassCache<V> createClassCache() {
method createClassCache (line 35) | public <V> ClassCache<V> createClassCache(ClassCacheEntryFactory<V> en...
FILE: ognl/src/main/java/ognl/internal/HashMapClassCache.java
class HashMapClassCache (line 24) | public class HashMapClassCache<T> extends HashMapCache<Class<?>, T> impl...
method HashMapClassCache (line 28) | public HashMapClassCache(CacheEntryFactory<Class<?>, T> entryFactory) {
method setClassInspector (line 32) | public void setClassInspector(ClassCacheInspector inspector) {
method put (line 36) | public T put(Class<?> key, T value) {
FILE: ognl/src/main/java/ognl/internal/entry/CacheEntry.java
type CacheEntry (line 21) | public interface CacheEntry {
FILE: ognl/src/main/java/ognl/internal/entry/CacheEntryFactory.java
type CacheEntryFactory (line 23) | public interface CacheEntryFactory<K, V> {
method create (line 25) | V create(K key) throws CacheException;
FILE: ognl/src/main/java/ognl/internal/entry/ClassCacheEntryFactory.java
type ClassCacheEntryFactory (line 21) | public interface ClassCacheEntryFactory<T> extends CacheEntryFactory<Cla...
FILE: ognl/src/main/java/ognl/internal/entry/DeclaredMethodCacheEntry.java
class DeclaredMethodCacheEntry (line 21) | public class DeclaredMethodCacheEntry extends MethodCacheEntry {
type MethodType (line 25) | public enum MethodType {
method DeclaredMethodCacheEntry (line 29) | public DeclaredMethodCacheEntry(Class<?> targetClass) {
method DeclaredMethodCacheEntry (line 33) | public DeclaredMethodCacheEntry(Class<?> targetClass, MethodType type) {
method equals (line 38) | @Override
method hashCode (line 56) | @Override
FILE: ognl/src/main/java/ognl/internal/entry/DeclaredMethodCacheEntryFactory.java
class DeclaredMethodCacheEntryFactory (line 24) | public class DeclaredMethodCacheEntryFactory extends MethodCacheEntryFac...
method shouldCache (line 26) | @Override
FILE: ognl/src/main/java/ognl/internal/entry/FieldCacheEntryFactory.java
class FieldCacheEntryFactory (line 27) | public class FieldCacheEntryFactory implements ClassCacheEntryFactory<Ma...
method create (line 29) | public Map<String, Field> create(Class<?> key) throws CacheException {
FILE: ognl/src/main/java/ognl/internal/entry/GenericMethodParameterTypeCacheEntry.java
class GenericMethodParameterTypeCacheEntry (line 23) | public class GenericMethodParameterTypeCacheEntry implements CacheEntry {
method GenericMethodParameterTypeCacheEntry (line 28) | public GenericMethodParameterTypeCacheEntry(Method method, Class<?> ty...
method equals (line 33) | @Override
method hashCode (line 47) | @Override
FILE: ognl/src/main/java/ognl/internal/entry/GenericMethodParameterTypeFactory.java
class GenericMethodParameterTypeFactory (line 29) | public class GenericMethodParameterTypeFactory implements CacheEntryFact...
method create (line 31) | public Class<?>[] create(GenericMethodParameterTypeCacheEntry entry) t...
method resolveType (line 71) | private Class<?> resolveType(ParameterizedType param, TypeVariable<?> ...
FILE: ognl/src/main/java/ognl/internal/entry/MethodAccessCacheEntryFactory.java
class MethodAccessCacheEntryFactory (line 26) | public class MethodAccessCacheEntryFactory implements CacheEntryFactory<...
method create (line 34) | public MethodAccessEntryValue create(Method method) throws CacheExcept...
FILE: ognl/src/main/java/ognl/internal/entry/MethodAccessEntryValue.java
class MethodAccessEntryValue (line 21) | public class MethodAccessEntryValue {
method MethodAccessEntryValue (line 26) | public MethodAccessEntryValue(boolean accessible) {
method MethodAccessEntryValue (line 30) | public MethodAccessEntryValue(boolean accessible, boolean notPublic) {
method isAccessible (line 35) | public boolean isAccessible() {
method isNotPublic (line 39) | public boolean isNotPublic() {
FILE: ognl/src/main/java/ognl/internal/entry/MethodCacheEntry.java
class MethodCacheEntry (line 21) | public class MethodCacheEntry implements CacheEntry {
method MethodCacheEntry (line 25) | public MethodCacheEntry(Class<?> targetClass) {
method equals (line 29) | @Override
method hashCode (line 43) | @Override
FILE: ognl/src/main/java/ognl/internal/entry/MethodCacheEntryFactory.java
class MethodCacheEntryFactory (line 30) | public abstract class MethodCacheEntryFactory<T extends MethodCacheEntry...
method create (line 32) | public Map<String, List<Method>> create(T key) throws CacheException {
method shouldCache (line 40) | protected abstract boolean shouldCache(T key, Method method);
method collectMethods (line 42) | private void collectMethods(T key, Class<?> c, Map<String, List<Method...
FILE: ognl/src/main/java/ognl/internal/entry/PropertyDescriptorCacheEntryFactory.java
class PropertyDescriptorCacheEntryFactory (line 35) | public class PropertyDescriptorCacheEntryFactory implements ClassCacheEn...
method create (line 37) | public Map<String, PropertyDescriptor> create(Class<?> targetClass) th...
method findClosestMatchingMethod (line 66) | static Method findClosestMatchingMethod(
method findObjectIndexedPropertyDescriptors (line 87) | private static void findObjectIndexedPropertyDescriptors(
method indexMethodCheck (line 152) | private static boolean indexMethodCheck(List<Method> methods) {
FILE: ognl/src/test/java/ClassInDefaultPackage.java
class ClassInDefaultPackage (line 1) | @SuppressWarnings("unused")
FILE: ognl/src/test/java/com/sun/test/AnotherInternalClass.java
class AnotherInternalClass (line 25) | public class AnotherInternalClass {
method getValue (line 26) | public String getValue() {
FILE: ognl/src/test/java/ognl/DefaultMemberAccess.java
class DefaultMemberAccess (line 33) | public class DefaultMemberAccess<C extends OgnlContext<C>> implements Me...
method DefaultMemberAccess (line 40) | public DefaultMemberAccess(boolean allowAllAccess) {
method DefaultMemberAccess (line 44) | public DefaultMemberAccess(boolean allowPrivateAccess, boolean allowPr...
method getAllowPrivateAccess (line 51) | public boolean getAllowPrivateAccess() {
method setAllowPrivateAccess (line 55) | public void setAllowPrivateAccess(boolean value) {
method getAllowProtectedAccess (line 59) | public boolean getAllowProtectedAccess() {
method setAllowProtectedAccess (line 63) | public void setAllowProtectedAccess(boolean value) {
method getAllowPackageProtectedAccess (line 67) | public boolean getAllowPackageProtectedAccess() {
method setAllowPackageProtectedAccess (line 71) | public void setAllowPackageProtectedAccess(boolean value) {
method setup (line 75) | public Object setup(C context, Object target, Member member, String pr...
method restore (line 89) | public void restore(C context, Object target, Member member, String pr...
method isAccessible (line 112) | public boolean isAccessible(C context, Object target, Member member, S...
FILE: ognl/src/test/java/ognl/ExcludedObjectMemberAccess.java
class ExcludedObjectMemberAccess (line 26) | public class ExcludedObjectMemberAccess extends DefaultMemberAccess {
method ExcludedObjectMemberAccess (line 29) | public ExcludedObjectMemberAccess(boolean allowAllAccess) {
method ExcludedObjectMemberAccess (line 33) | public ExcludedObjectMemberAccess(boolean allowPrivateAccess, boolean ...
method isAccessible (line 37) | public boolean isAccessible(OgnlContext context, Object target, Member...
method exclude (line 45) | public void exclude(Object obj) {
method removeExclusion (line 49) | public void removeExclusion(Object obj) {
FILE: ognl/src/test/java/ognl/ObjectPropertyAccessorTest.java
class ObjectPropertyAccessorTest (line 34) | class ObjectPropertyAccessorTest {
method setUp (line 38) | @BeforeEach
class SimplePublicClass (line 47) | public static class SimplePublicClass {
method setGender (line 53) | @SuppressWarnings("unused")
method setEmail (line 58) | @SuppressWarnings("unused")
method setName (line 63) | @SuppressWarnings("unused")
method setname (line 68) | @SuppressWarnings("unused")
method setAge (line 73) | @SuppressWarnings("unused")
method setage (line 78) | @SuppressWarnings("unused")
class KafkaFetcher (line 84) | public static class KafkaFetcher {
method hasCompletedFutures (line 87) | @SuppressWarnings("unused")
method testGetPossibleProperty (line 93) | @Test
method testSetPossibleProperty (line 103) | @Test
FILE: ognl/src/test/java/ognl/OgnlContextTest.java
class OgnlContextTest (line 36) | class OgnlContextTest {
method createOgnlContext (line 38) | private static OgnlContext createOgnlContext() {
method traceEvaluation_shouldBeEnabled (line 42) | @Test
method keepLastEvaluation_shouldBeEnabled (line 51) | @Test
method allValues_shouldBeStored (line 59) | @Test
method classResolver_shouldNotBeNull (line 71) | @Test
method typeConverted_shouldNotBeNull (line 79) | @Test
method memberAccess_shouldNotBeNull (line 87) | @Test
method root_shouldInitAccessorAndType (line 95) | @Test
method currentEvaluation_shouldNotBeNull (line 118) | @Test
method ignoreReadMethod (line 133) | @Test
method reservedKeywords (line 147) | @Test
method memberAccessIsRequired (line 198) | @Test
method defaultClassResolverAndTypeConverter (line 208) | @Test
FILE: ognl/src/test/java/ognl/OgnlRuntimeAccessibilityTest.java
class OgnlRuntimeAccessibilityTest (line 35) | class OgnlRuntimeAccessibilityTest {
method interfaceIsAlwaysAccessible (line 37) | @Test
method standardJdkClassesAreAccessible (line 46) | @Test
method javaUtilClassesAreAccessible (line 55) | @Test
method sunPackageClassesAreInaccessible (line 63) | @Test
method comSunPackageClassesAreInaccessible (line 87) | @Test
method customClassesAreAccessible (line 99) | @Test
method innerClassesAreAccessible (line 106) | @Test
method simulatedSunPackageClassIsInaccessible (line 112) | @Test
method simulatedComSunPackageClassIsInaccessible (line 119) | @Test
method interfaceInSunPackageIsAccessible (line 126) | @Test
class TestHelperClass (line 134) | public static class TestHelperClass {
class InnerClass (line 135) | public static class InnerClass {
FILE: ognl/src/test/java/ognl/OgnlRuntimeMethodsTest.java
class OgnlRuntimeMethodsTest (line 62) | class OgnlRuntimeMethodsTest {
method setUp (line 66) | @BeforeEach
method test_Get_Super_Or_Interface_Class (line 71) | @Test
method test_Get_Private_Class (line 81) | @Test
method test_Complicated_Inheritance (line 91) | @Test
method test_Get_Read_Method (line 101) | @Test
method test_Get_Read_Field (line 109) | @Test
class TestGetters (line 119) | @SuppressWarnings("unused")
method isEditorDisabled (line 121) | public boolean isEditorDisabled() {
method isDisabled (line 125) | public boolean isDisabled() {
method isNotAvailable (line 129) | public boolean isNotAvailable() {
method isAvailable (line 133) | public boolean isAvailable() {
method test_Get_Read_Method_Multiple (line 138) | @Test
method test_Get_Read_Method_Multiple_Boolean_Getters (line 146) | @Test
method test_Find_Method_Mixed_Boolean_Getters (line 159) | @Test
method test_Get_Appropriate_Method (line 167) | @Test
method test_Call_Static_Method_Invalid_Class (line 176) | @Test
method test_Setter_Returns (line 184) | @Test
method test_Call_Method_VarArgs (line 195) | @Test
method test_Class_Cache_Inspector (line 207) | @Test
class TestCacheInspector (line 238) | static class TestCacheInspector implements ClassCacheInspector {
method shouldCache (line 239) | public boolean shouldCache(Class<?> type) {
method test_Set_Generic_Parameter_Types (line 244) | @Test
method test_Get_Generic_Parameter_Types (line 254) | @Test
method test_Find_Parameter_Types (line 262) | @Test
method test_Find_Parameter_Types_Superclass (line 272) | @Test
method test_Get_Declared_Methods_With_Synthetic_Methods (line 282) | @Test
method test_Get_Property_Descriptors_With_Synthetic_Methods (line 292) | @Test
class GenericParent (line 300) | public static class GenericParent<T> {
method save (line 301) | @SuppressWarnings("unused")
class StringChild (line 306) | public static class StringChild extends GenericParent<String> {
class LongChild (line 309) | public static class LongChild extends GenericParent<Long> {
method testOGNLParameterDiscovery (line 315) | @Test
method testBangOperator (line 328) | @Test
method testGetStaticField (line 334) | @Test
method testGetStaticFieldEnum (line 340) | @Test
method testGetStaticFieldEnumStatic (line 346) | @Test
method testAbstractConcreteMethodScoringNoSysErr (line 358) | @Test
class AbstractTestClass (line 373) | abstract static class AbstractTestClass<T> {
method testMethod (line 374) | @SuppressWarnings("unused")
class ConcreteTestClass (line 381) | static class ConcreteTestClass extends AbstractTestClass<String> {
method testMethod (line 382) | public String testMethod(String element, int i) {
class ProtectedParent (line 390) | protected static class ProtectedParent {
method setName (line 391) | @SuppressWarnings("unused")
method getName (line 395) | public String getName() {
class PublicChild (line 403) | public static class PublicChild extends ProtectedParent {
method testSyntheticBridgeReadMethod (line 411) | @Test
method testSyntheticBridgeWriteMethod (line 421) | @Test
class SimplePublicClass (line 429) | public static class SimplePublicClass {
method getName (line 432) | public String getName() {
class SimpleNestingClass (line 440) | public static class SimpleNestingClass {
class NestedClass (line 441) | static class NestedClass {
method getNestedName (line 446) | public String getNestedName() {
method testConfirmStandardMethodCallability (line 454) | @Test
method testConfirmBridgeMethodCallability (line 471) | @Test
method testConfirmNoSyntheticMethod (line 499) | @Test
class SimpleFieldClass (line 514) | public static class SimpleFieldClass {
method testSetFieldValueWhenCheckAccess (line 522) | @Test
method testSetFieldValueWhenNotCheckAccess (line 547) | @Test
FILE: ognl/src/test/java/ognl/OgnlRuntimeTest.java
class OgnlRuntimeTest (line 33) | public class OgnlRuntimeTest {
method testMajorJavaVersionParse (line 38) | @Test
method testMajorJavaVersionCheck (line 79) | @Test
method testUseStricterInvocationStateFlag (line 91) | @Test
method testStricterInvocationMode (line 119) | @Test
method testStricterInvocationBlocksUnsafe (line 163) | @Test
method testAccessibleObjectHandlerDefault (line 190) | @Test
method testUseFirstMatchGetSetStateFlag (line 202) | @Test
method testForArray (line 229) | @Test // Success
method testForVarArgs (line 238) | @Test // Fail
class Bean (line 247) | static class Bean {
method setChars (line 252) | @SuppressWarnings("unused")
method getChars (line 257) | @SuppressWarnings("unused")
method setStrings (line 262) | @SuppressWarnings("unused")
method getStrings (line 267) | @SuppressWarnings("unused")
method setMix (line 272) | @SuppressWarnings("unused")
method getIndex (line 278) | public Integer getIndex() {
method shouldInvokeSyntheticBridgeMethod (line 283) | @Test
method shouldInvokeSuperclassMethod (line 289) | @Test
method shouldInvokeInterfaceMethod (line 295) | @Test
type I1 (line 300) | public interface I1 {
method getId (line 301) | @SuppressWarnings("unused")
type I2 (line 305) | public interface I2 {
method getId (line 306) | @SuppressWarnings("unused")
method shouldMultipleInterfaceWithTheSameMethodBeFine (line 310) | @Test
type I3 (line 321) | public interface I3<T> {
method get (line 322) | T get();
type I4 (line 325) | public interface I4 {
method get (line 326) | Long get();
method shouldTwoMethodsWithDifferentReturnTypeBeFine (line 329) | @Test
method shouldSameMethodOfDifferentParentsBeCallable (line 341) | @Test
FILE: ognl/src/test/java/ognl/test/ASTChainTest.java
class ASTChainTest (line 29) | class ASTChainTest {
method getIndexedValue (line 31) | @Test
FILE: ognl/src/test/java/ognl/test/ASTMethodTest.java
class ASTMethodTest (line 43) | class ASTMethodTest {
method setUp (line 47) | @BeforeEach
method contextTypes (line 52) | @Test
method isSimpleMethod (line 97) | @Test
FILE: ognl/src/test/java/ognl/test/ASTPropertyTest.java
class ASTPropertyTest (line 45) | class ASTPropertyTest {
method setUp (line 49) | @BeforeEach
method test_Get_Indexed_Property_Type (line 54) | @Test
method test_Get_Value_Body (line 84) | @Test
method test_Get_Source (line 114) | @Test
method test_Set_Source (line 143) | @Test
method test_Indexed_Object_Type (line 168) | @Test
method test_Complicated_List (line 225) | @Test
method test_Set_Chain_Indexed_Property (line 245) | @Test
method test_Set_Generic_Property (line 258) | @Test
method test_Get_Generic_Property (line 275) | @Test
method test_Set_Get_Multiple_Generic_Types_Property (line 292) | @Test
FILE: ognl/src/test/java/ognl/test/ASTSequenceTest.java
class ASTSequenceTest (line 30) | class ASTSequenceTest {
method isSequence (line 32) | @Test
FILE: ognl/src/test/java/ognl/test/ArithmeticAndLogicalOperatorsOnEnumsTest.java
class ArithmeticAndLogicalOperatorsOnEnumsTest (line 33) | class ArithmeticAndLogicalOperatorsOnEnumsTest {
type EnumNoBody (line 40) | public enum EnumNoBody {ENUM1, ENUM2;}
type EnumEmptyBody (line 42) | public enum EnumEmptyBody {ENUM1 {}, ENUM2 {};}
type EnumBasicBody (line 44) | public enum EnumBasicBody {
method value (line 46) | public final Integer value() {
method value (line 51) | public final Integer value() {
method setUp (line 57) | @BeforeEach
method enumNoBodyEquality (line 66) | @Test
method enumNoBodyInequality (line 71) | @Test
method enumNoBodyEqualityEnum2 (line 76) | @Test
method enumNoBodyInequalityEnum2 (line 81) | @Test
method enumNoBodyDifferentEnums (line 86) | @Test
method enumNoBodyDifferentEnumsEquality (line 91) | @Test
method enumEmptyBodyEquality (line 96) | @Test
method enumEmptyBodyInequality (line 101) | @Test
method enumEmptyBodyEqualityEnum2 (line 106) | @Test
method enumEmptyBodyInequalityEnum2 (line 111) | @Test
method enumEmptyBodyDifferentEnums (line 116) | @Test
method enumEmptyBodyDifferentEnumsEquality (line 121) | @Test
method enumBasicBodyEquality (line 126) | @Test
method enumBasicBodyInequality (line 131) | @Test
method enumBasicBodyEqualityEnum2 (line 136) | @Test
method enumBasicBodyInequalityEnum2 (line 141) | @Test
method enumBasicBodyDifferentEnums (line 146) | @Test
method enumBasicBodyDifferentEnumsEquality (line 151) | @Test
method enumNoBodyAndEnumEmptyBodyEquality (line 156) | @Test
method enumNoBodyAndEnumEmptyBodyInequality (line 163) | @Test
method enumNoBodyAndEnumBasicBodyEquality (line 170) | @Test
method enumNoBodyAndEnumBasicBodyInequality (line 177) | @Test
method enumEmptyBodyAndEnumBasicBodyEquality (line 184) | @Test
method enumEmptyBodyAndEnumBasicBodyInequality (line 191) | @Test
FILE: ognl/src/test/java/ognl/test/ArithmeticAndLogicalOperatorsTest.java
class ArithmeticAndLogicalOperatorsTest (line 33) | class ArithmeticAndLogicalOperatorsTest {
method setUp (line 38) | @BeforeEach
method doubleValuedArithmeticExpressions (line 47) | @Test
method bigDecimalValuedArithmeticExpressions (line 60) | @Test
method integerValuedArithmeticExpressions (line 74) | @Test
method bigIntegerValuedArithmeticExpressions (line 99) | @Test
method logicalExpressions (line 122) | @Test
method logicalExpressionsStringVersions (line 145) | @Test
method equalityOnIdentity (line 167) | @Test
method comparableAndNonComparable (line 173) | @Test
method expressionsWithVariables (line 179) | @Test
FILE: ognl/src/test/java/ognl/test/ArrayCreationTest.java
class ArrayCreationTest (line 34) | class ArrayCreationTest {
method setUp (line 39) | @BeforeEach
method stringArrayCreation (line 45) | @Test
method stringArrayWithIntegers (line 50) | @Test
method testIntegerArrayCreation (line 55) | @Test
method stringArrayWithSize (line 60) | @Test
method invalidObjectArrayCreation (line 65) | @Test
method objectArrayWithSize (line 72) | @Test
method objectArrayWithElements (line 77) | @Test
method simpleArrayCreation (line 82) | @Test
method simpleObjectArrayCreation (line 87) | @Test
method simpleStringArrayCreation (line 92) | @Test
method conditionalEntryArrayCreation (line 97) | @Test
method simpleArrayWithElements (line 102) | @Test
FILE: ognl/src/test/java/ognl/test/ArrayElementsTest.java
class ArrayElementsTest (line 32) | class ArrayElementsTest {
method setUp (line 42) | @BeforeEach
method stringArrayLength (line 54) | @Test
method stringArrayElement (line 59) | @Test
method intArrayElement (line 64) | @Test
method intArrayElementAfterSet (line 69) | @Test
method intArrayElementAfterSetWithString (line 75) | @Test
method rootIntValueAfterSetWithString (line 81) | @Test
method rootArrayAfterSetWithStringArray (line 87) | @Test
method charArrayElement (line 93) | @Test
method charArrayElementFromString (line 98) | @Test
method charArray (line 103) | @Test
method booleanArray (line 108) | @Test
FILE: ognl/src/test/java/ognl/test/ChainTest.java
class ChainTest (line 34) | class ChainTest {
method test_isChain (line 36) | @Test
method shouldShortCircuitAccessingNullChild (line 59) | @Test
method shouldEvaluateThisProperty (line 68) | @Test
class Child (line 76) | public static class Child {
method Child (line 79) | public Child(String name) {
method getName (line 83) | public String getName() {
method toString (line 87) | @Override
class Parent (line 93) | public static class Parent extends Child {
method Parent (line 96) | public Parent(Child child) {
method getChild (line 101) | public Child getChild() {
FILE: ognl/src/test/java/ognl/test/ClassMethodTest.java
class ClassMethodTest (line 31) | class ClassMethodTest {
method setUp (line 36) | @BeforeEach
method testGetClassName (line 42) | @Test
method testGetClassInterfaces (line 48) | @Test
method testGetClassInterfacesLength (line 54) | @Test
method testSystemClassGetInterfaces (line 60) | @Test
method testClassGetName (line 66) | @Test
method testImageObserverClassGetName (line 72) | @Test
FILE: ognl/src/test/java/ognl/test/CollectionDirectPropertyTest.java
class CollectionDirectPropertyTest (line 31) | class CollectionDirectPropertyTest {
method setUp (line 36) | @BeforeEach
method testSize (line 42) | @Test
method testIsEmptyFalse (line 47) | @Test
method testIsEmptyTrue (line 52) | @Test
method testIteratorNext (line 57) | @Test
method testIteratorHasNext (line 62) | @Test
method testIteratorHasNextAfterTwoNexts (line 67) | @Test
method testIteratorNextAfterTwoNexts (line 72) | @Test
method testRootMapTest (line 77) | @Test
method testRootMapSize (line 82) | @Test
method testRootMapKeySet (line 87) | @Test
method testRootMapValues (line 92) | @Test
method testRootMapKeysSize (line 97) | @Test
method testRootMapSizeValue (line 102) | @Test
method testRootMapIsEmpty (line 107) | @Test
method testRootMapIsEmptyKey (line 112) | @Test
FILE: ognl/src/test/java/ognl/test/CompilingPropertyAccessor.java
class CompilingPropertyAccessor (line 44) | @Deprecated(since = "3.5.0", forRemoval = true)
method getPrimitiveWrapperClass (line 81) | public static Class<?> getPrimitiveWrapperClass(Class<?> primitiveClas...
type Getter (line 85) | public interface Getter {
method get (line 86) | Object get(OgnlContext context, Object target, String propertyName);
method generateGetter (line 89) | public static Getter generateGetter(OgnlContext context, String code) ...
method getGetter (line 132) | private Getter getGetter(OgnlContext context, Object target, String pr...
method getPossibleProperty (line 179) | public Object getPossibleProperty(OgnlContext context, Object target, ...
FILE: ognl/src/test/java/ognl/test/ConstantTest.java
class ConstantTest (line 34) | class ConstantTest {
method setUp (line 39) | @BeforeEach
method test12345 (line 45) | @Test
method test0x100 (line 51) | @Test
method test0xfE (line 57) | @Test
method test01000 (line 63) | @Test
method test1234L (line 68) | @Test
method test12_34 (line 74) | @Test
method test_1234 (line 80) | @Test
method test12_34f (line 86) | @Test
method test12_ (line 92) | @Test
method test12e_1d (line 98) | @Test
method test_x (line 104) | @Test
method test_n (line 110) | @Test
method test_u048c (line 116) | @Test
method test_47 (line 122) | @Test
method test_367 (line 128) | @Test
method test_367Exception (line 134) | @Test
method test_xException (line 141) | @Test
method testHelloWorld (line 148) | @Test
method testUnicodeString (line 154) | @Test
method testHelloWorldException (line 160) | @Test
method testHelloXWorldException (line 167) | @Test
method testNull (line 174) | @Test
method testTrue (line 180) | @Test
method testFalse (line 186) | @Test
method testArray (line 192) | @Test
method testHtmlPublic (line 198) | @Test
FILE: ognl/src/test/java/ognl/test/ConstantTreeTest.java
class ConstantTreeTest (line 30) | class ConstantTreeTest {
method setUp (line 39) | @BeforeEach
method testTrue (line 45) | @Test
method test55 (line 50) | @Test
method testJavaAwtColorBlack (line 55) | @Test
method testNonFinalStaticVariable (line 60) | @Test
method testNonFinalStaticVariablePlus10 (line 65) | @Test
method test55Plus24PlusJavaAwtEventAltMask (line 70) | @Test
method testName (line 75) | @Test
method testNameI (line 80) | @Test
method testNameIProperty (line 85) | @Test
method testNameFoo (line 90) | @Test
method testNameFoo2 (line 95) | @Test
method testName25 (line 100) | @Test
FILE: ognl/src/test/java/ognl/test/ContextRootPreservationTest.java
class ContextRootPreservationTest (line 35) | public class ContextRootPreservationTest {
class TestRootObject (line 40) | public static class TestRootObject {
method getContextProperty (line 44) | public String getContextProperty() {
method setContextProperty (line 48) | public void setContextProperty(String contextProperty) {
method getTestList (line 52) | public List<String> getTestList() {
method setTestList (line 56) | public void setTestList(List<String> testList) {
method setUp (line 61) | @BeforeEach
method testContextRootPreservationWithListSelection (line 67) | @Test
method testIssue390ReproduceBug (line 87) | @Test
method testContextRootPreservationWithListProjection (line 110) | @Test
method testContextRootPreservationWithNestedExpression (line 125) | @Test
method testContextRootAccessInLambdaExpression (line 134) | @Test
method testRootContextNotOverwrittenByListItem (line 153) | @Test
method testOriginalRootAccessAfterListProcessing (line 166) | @Test
method testContextVariableAccessDuringListProcessing (line 178) | @Test
FILE: ognl/src/test/java/ognl/test/ContextVariableTest.java
class ContextVariableTest (line 29) | class ContextVariableTest {
method setUp (line 34) | @BeforeEach
method testRoot (line 40) | @Test
method testThis (line 46) | @Test
method testSumOfFiveAndSix (line 52) | @Test
method testSumOfFiveAndSixWithIntermediateAssignment (line 58) | @Test
FILE: ognl/src/test/java/ognl/test/CorrectedObjectNullHandler.java
class CorrectedObjectNullHandler (line 24) | public class CorrectedObjectNullHandler implements NullHandler {
method CorrectedObjectNullHandler (line 28) | public CorrectedObjectNullHandler(String defaultValue) {
method nullMethodResult (line 33) | public Object nullMethodResult(OgnlContext context, Object target, Str...
method nullPropertyValue (line 40) | public Object nullPropertyValue(OgnlContext context, Object target, Ob...
FILE: ognl/src/test/java/ognl/test/DefaultClassResolverTest.java
class DefaultClassResolverTest (line 31) | class DefaultClassResolverTest {
method testClassInDefaultPackageResolution (line 33) | @Test
method testEnsureClassNotFoundException (line 40) | @Test
method testEnsureClassNotFoundExceptionReportsSpecifiedName (line 54) | @Test
FILE: ognl/src/test/java/ognl/test/DualModeEvaluationTest.java
class DualModeEvaluationTest (line 60) | class DualModeEvaluationTest {
method setUp (line 65) | @BeforeEach
method getValueInterpreted (line 71) | private Object getValueInterpreted(String expression) throws OgnlExcep...
method getValueCompiled (line 76) | @SuppressWarnings("unchecked")
method freshCompiledContext (line 82) | private OgnlContext freshCompiledContext() {
method assertBothModes (line 88) | private void assertBothModes(String expression, Object expected) throw...
method assertBothModesMatch (line 95) | private void assertBothModesMatch(String expression) throws Exception {
method setValueInterpreted (line 104) | private void setValueInterpreted(String expression, Object value) thro...
method setValueCompiled (line 109) | private void setValueCompiled(String expression, Object value, OgnlCon...
method assertSetThenGetBothModes (line 114) | private void assertSetThenGetBothModes(String expression, Object setVa...
class Constants (line 134) | @Nested
method integerConstant (line 137) | @Test
method longConstant (line 142) | @Test
method doubleConstant (line 147) | @Test
method floatConstant (line 152) | @Test
method trueConstant (line 157) | @Test
method falseConstant (line 162) | @Test
method nullConstant (line 167) | @Test
method stringConstant (line 172) | @Test
method charConstant (line 177) | @Test
method hexConstant (line 182) | @Test
method octalConstant (line 187) | @Test
class BigDecimalArithmetic (line 193) | @Nested
method negation (line 197) | @Test
method unaryPlus (line 202) | @Test
method doubleNegation (line 207) | @Test
method multiplyWithDouble (line 212) | @Test
method divideWithBigDecimalSuffix (line 217) | @Test
method divideWithBigDecimalNumerator (line 222) | @Test
method addition (line 227) | @Test
method subtraction (line 232) | @Test
class BigIntegerArithmetic (line 238) | @Nested
method negation (line 242) | @Test
method unaryPlus (line 247) | @Test
method doubleNegation (line 252) | @Test
method multiply (line 257) | @Test
method divide (line 262) | @Test
method addition (line 267) | @Test
method subtraction (line 272) | @Test
method modulus (line 277) | @Test
class IntegerArithmetic (line 283) | @Nested
method negation (line 286) | @Test
method unaryPlus (line 291) | @Test
method doubleNegation (line 296) | @Test
method multiply (line 301) | @Test
method divide (line 306) | @Test
method addition (line 311) | @Test
method subtraction (line 316) | @Test
method precedence (line 321) | @Test
method parentheses (line 326) | @Test
method modulus (line 331) | @Test
class DoubleArithmetic (line 337) | @Nested
method negation (line 340) | @Test
method unaryPlus (line 345) | @Test
method doubleNegation (line 350) | @Test
method multiplyWithDouble (line 355) | @Test
method divideWithTrailingDot (line 360) | @Test
method addition (line 365) | @Test
method floatSubtraction (line 370) | @Test
class BitwiseOperations (line 376) | @Nested
method bitwiseNot (line 379) | @Test
method leftShift (line 384) | @Test
method rightShift (line 389) | @Test
method unsignedRightShift (line 394) | @Test
method bitwiseAndWithDouble (line 399) | @Disabled("Compiler loses double type in bitwise AND, returns int in...
method bitwiseXor (line 405) | @Test
method bitwiseOrWithLong (line 410) | @Test
method bitwiseAndGrouped (line 415) | @Disabled("Compiler widens int to long in grouped bitwise expression")
method bigIntegerBitwiseNot (line 421) | @Disabled("Compiler does not support BigInteger bitwise operations")
method bigIntegerLeftShift (line 427) | @Disabled("Compiler does not support BigInteger bitwise operations")
method bigIntegerRightShift (line 433) | @Disabled("Compiler does not support BigInteger bitwise operations")
class LogicalExpressions (line 440) | @Nested
method logicalNot (line 443) | @Test
method logicalNotNull (line 448) | @Test
method lessThan (line 453) | @Test
method greaterThan (line 458) | @Test
method lessOrEqual (line 463) | @Test
method greaterOrEqual (line 468) | @Test
method equality (line 473) | @Test
method inequality (line 478) | @Test
method ternary (line 483) | @Test
method ternaryShortCircuitsOnTrueBranch (line 488) | @Test
method logicalAndShortCircuits (line 493) | @Test
method logicalOrShortCircuits (line 498) | @Test
class PropertyAccess (line 504) | @Nested
method simpleProperty (line 507) | @Test
method nestedProperty (line 512) | @Test
method arrayLength (line 517) | @Test
method arrayIndex (line 522) | @Test
method nullObject (line 527) | @Test
method booleanProperty (line 532) | @Test
method intProperty (line 537) | @Test
method staticField (line 542) | @Test
method mapProperty (line 547) | @Test
method mapDotAccess (line 552) | @Test
method mapBracketAccess (line 557) | @Test
method mapConcatKeyAccess (line 562) | @Test
method negatedBooleanProperty (line 567) | @Test
method negatedBeanProperty (line 572) | @Test
method stringLengthCheck (line 577) | @Test
method disabledProperty (line 582) | @Test
method ternaryWithBooleanProperty (line 587) | @Test
method nullOrBooleanExpression (line 592) | @Test
method disabledOrReadonly (line 597) | @Test
method renderNavigationTernary (line 602) | @Test
method stringConcatenationWithProperty (line 607) | @Test
class MethodCalls (line 614) | @Nested
method noArgMethod (line 617) | @Test
method stringArgMethod (line 622) | @Test
method toStringOnInteger (line 627) | @Disabled("Compiler generates invalid cast for method call on auto-b...
method staticMethod (line 633) | @Test
class NullHandling (line 639) | @Nested
method nullEqualityToNull (line 642) | @Test
method nullInequalityToValue (line 647) | @Test
class InstanceOf (line 653) | @Nested
method integerInstanceOf (line 656) | @Test
method doubleNotInstanceOfInteger (line 661) | @Test
class SetterPaths (line 667) | @Nested
method setMapNewValue (line 670) | @Test
method setMapBracketKey (line 675) | @Test
method setSettableListIndex (line 680) | @Test
method setIntValueProperty (line 685) | @Test
method setOpenTransitionWin (line 690) | @Test
method setStringValue (line 695) | @Test
class SetterWithConversion (line 701) | @Nested
method setIntFromDouble (line 704) | @Test
method setIntFromString (line 709) | @Test
method setStringFromInt (line 714) | @Test
class IndexAccess (line 720) | @Nested
method listWithIndexVariable (line 723) | @Test
method listWithObjectIndex (line 728) | @Test
method arrayWithObjectIndex (line 733) | @Test
method arrayWithMethodIndex (line 738) | @Test
method ternaryWithArrayLength (line 743) | @Test
method stringConcatWithIndex (line 749) | @Test
method mapSplitAccess (line 755) | @Test
method nestedListAccess (line 760) | @Test
class ArrayElements (line 766) | @Nested
method charArrayAccess (line 769) | @Test
method tapestryCharArray (line 774) | @Test
method listLiteral (line 779) | @Test
method booleanListLiteral (line 784) | @Test
class MethodCallsExtended (line 790) | @Nested
method formatMethodWithProperty (line 793) | @Test
method ternaryWithMethodResult (line 798) | @Test
method printDeliveryConcat (line 803) | @Test
method nestedMethodCall (line 809) | @Test
class InterfaceInheritance (line 815) | @Nested
method myMap (line 818) | @Test
method myMapDotTest (line 823) | @Test
method myMapArrayAccess (line 828) | @Test
method myMapListAccess (line 833) | @Test
method myMapFirstElement (line 838) | @Test
method myMapLastElement (line 843) | @Test
method mapCompFormClientId (line 848) | @Test
method myTestTheMapKey (line 853) | @Test
class DynamicSubscripts (line 859) | @Nested
method mapFirstElement (line 862) | @Test
method mapLastElement (line 867) | @Test
method listMidElement (line 872) | @Test
method arrayLastElement (line 877) | @Test
class ComplexExpressions (line 883) | @Nested
method subExpressionWithThis (line 886) | @Test
method subExpressionWithTernary (line 891) | @Test
method firstElementSubExpression (line 896) | @Test
method lastElementSubExpression (line 901) | @Test
method lastElementWithRootRef (line 906) | @Test
method arrayPlusMapSize (line 911) | @Test
method nestedTernary (line 916) | @Test
method selectedLocaleTernary (line 922) | @Test
method listLiteralWithProperties (line 928) | @Test
method getAssetWithTernary (line 933) | @Test
class PrimitiveNullHandling (line 939) | @Nested
method setNullOnIntProperty (line 942) | @Test
method setNullOnBooleanProperty (line 947) | @Test
method setValueOnIntProperty (line 952) | @Test
method setValueOnBooleanProperty (line 957) | @Test
class MethodCallsWithSimple (line 963) | @Nested
method setUp (line 969) | @BeforeEach
method assertSimpleBothModes (line 975) | private void assertSimpleBothModes(String expression, Object expecte...
method assertSimpleBothModesMatch (line 986) | private void assertSimpleBothModesMatch(String expression) throws Ex...
method hashCode_ (line 999) | @Test
method booleanTernary (line 1004) | @Test
method isDisabled (line 1009) | @Test
method isTruck (line 1014) | @Test
method isEditorDisabled (line 1019) | @Test
method messagesFormat (line 1024) | @Test
method varArgsNoArgs (line 1029) | @Test
method varArgsWithArgs (line 1034) | @Test
method enumMethodArg (line 1039) | @Test
class RootArrayAccess (line 1045) | @Nested
method setUp (line 1052) | @BeforeEach
method stringArrayLength (line 1058) | @Test
method stringArrayRootElement (line 1071) | @Test
method intArrayRootElement (line 1084) | @Test
class MethodCallsWithConversion (line 1098) | @Nested
method formatWithArray (line 1101) | @Test
method formatWithIntValue (line 1106) | @Test
method formatWithMapSize (line 1111) | @Test
class PrimitiveNullHandlingWithSimple (line 1117) | @Nested
method setUp (line 1123) | @BeforeEach
method setNullOnFloatValue (line 1131) | @Test
method setNullOnIntValue (line 1154) | @Test
method setNullOnBooleanValue (line 1174) | @Test
class InterfaceInheritanceWithCustomSetup (line 1201) | @Nested
method setUp (line 1207) | @BeforeEach
method assertIBothModes (line 1221) | private void assertIBothModes(String expression, Object expected) th...
method assertIBothModesMatch (line 1232) | private void assertIBothModesMatch(String expression) throws Excepti...
method beansTestBean (line 1245) | @Test
method beansEvenOddNext (line 1250) | @Disabled("Compiler evaluates expression during compilation for type...
method mapCustomListTotal (line 1256) | @Test
method mapCompGetCount (line 1261) | @Test
method contentProviderHasChildren (line 1266) | @Test
method myMapNull (line 1271) | @Test
method myMapAssignNull (line 1276) | @Test
method myMapNullThenTest (line 1281) | @Test
method myMapBracketAccess (line 1286) | @Test
method myMapNullSetValue (line 1291) | @Test
class IndexedProperties (line 1300) | @Nested
method setUp (line 1306) | @BeforeEach
method assertIndexedBothModes (line 1312) | private void assertIndexedBothModes(String expression, Object expect...
method assertIndexedBothModesMatch (line 1323) | private void assertIndexedBothModesMatch(String expression) throws E...
method getValues (line 1336) | @Test
method bracketValues (line 1341) | @Test
method getValuesIndex0 (line 1346) | @Test
method valuesIndex0 (line 1351) | @Test
method valuesFirst (line 1356) | @Test
method valuesMid (line 1361) | @Test
method valuesLast (line 1366) | @Test
method getTitleWithListSize (line 1371) | @Test
method sourceTotal (line 1376) | @Test
method listLongValue (line 1381) | @Test
class IndexAccessExtended (line 1390) | @Nested
method arrayGenericIndex (line 1393) | @Test
method booleanArraySelfObjectIndex (line 1398) | @Test
method booleanArrayGetObjectIndex (line 1403) | @Test
method tabSearchCriteriaDisplayName (line 1408) | @Test
method tabSearchCriteriaSelections (line 1413) | @Test
method mapBarValueSetGet (line 1418) | @Test
method mapValueId (line 1423) | @Test
method indexerLineIndex (line 1428) | @Test
class SetterWithConversionExtended (line 1437) | @Nested
method setStringFromFloat (line 1440) | @Test
method setAnotherStringFromInt (line 1445) | @Test
method setAnotherStringFromDouble (line 1450) | @Test
method setAnotherIntFromString (line 1455) | @Test
method setAnotherIntFromDouble (line 1460) | @Test
method setIntFromLargeDouble (line 1465) | @Test
class SetterPathsExtended (line 1474) | @Nested
method setSettableListSpecialIndex (line 1477) | @Test
method setMapNewValue (line 1482) | @Test
class MethodCallsWithSimpleExtended (line 1491) | @Nested
method setUp (line 1497) | @BeforeEach
method assertSimpleBothModesMatch (line 1503) | private void assertSimpleBothModesMatch(String expression) throws Ex...
method assertSimpleBothModes (line 1516) | private void assertSimpleBothModes(String expression, Object expecte...
method messagesFormatArrayArg (line 1527) | @Test
method messagesFormatTwoArrayArgs (line 1532) | @Test
method messagesFormatTwoArgs (line 1537) | @Test
method getValueIsTrue (line 1542) | @Test
method getDisplayValue (line 1547) | @Test
method testMethodsGetBean (line 1552) | @Test
method testMethodsTestProperty (line 1557) | @Test
method testMethodsArgsTest1 (line 1562) | @Test
method testMethodsArgsTest2 (line 1567) | @Test
method testMethodsArgsTest3 (line 1572) | @Test
method testMethodsShowListObjectList (line 1577) | @Test
method testMethodsShowListStringList (line 1582) | @Test
method testMethodsShowListStringArray (line 1587) | @Test
method testMethodsAvg (line 1592) | @Test
class PropertyTestExpressions (line 1601) | @Nested
method testStringNotNull (line 1604) | @Test
method negatedRenderNavAndReadonly (line 1609) | @Test
method mapSizeFromStaticField (line 1614) | @Test
method mapSizeStringAccess (line 1619) | @Test
method mapConcatSizeAccess (line 1624) | @Test
method mapList (line 1629) | @Test
method mapArrayFirst (line 1634) | @Test
method mapListSecond (line 1639) | @Test
method mapArrayLast (line 1644) | @Test
method mapBracketAccess (line 1649) | @Test
method flyingMonkey (line 1654) | @Test
method openTransitionWin (line 1659) | @Test
method disableButtonConcat (line 1664) | @Test
method propertyBean3Value (line 1670) | @Test
method propertyBean3ValueConcat (line 1675) | @Test
method getPropertyGetBean3 (line 1680) | @Test
method getIndexedPropertyViaMap (line 1685) | @Test
method stringLengthNotNull (line 1690) | @Test
class Generics (line 1699) | @Nested
method setUp (line 1705) | @BeforeEach
method genericServiceGetFullMessageFor (line 1711) | @Test
method genericIdsSetGet (line 1723) | @Test
class IndexedSetObjectTests (line 1747) | @Nested
method setUp (line 1753) | @BeforeEach
method thingXValSetGet (line 1759) | @Test
class ArrayElementSetOperations (line 1784) | @Nested
method intArraySetWithInt (line 1787) | @Test
method intArraySetWithString (line 1810) | @Test
method rootIntValueSetWithString (line 1833) | @Test
FILE: ognl/src/test/java/ognl/test/GenericsTest.java
class GenericsTest (line 31) | class GenericsTest {
method setUp (line 36) | @BeforeEach
method testIds (line 42) | @Test
FILE: ognl/src/test/java/ognl/test/InExpressionTest.java
class InExpressionTest (line 31) | class InExpressionTest {
method test_String_In (line 33) | @Test
FILE: ognl/src/test/java/ognl/test/IndexAccessTest.java
class IndexAccessTest (line 33) | class IndexAccessTest {
method setUp (line 39) | @BeforeEach
method testListIndex (line 46) | @Test
method testListObjectIndex (line 52) | @Test
method testArrayObjectIndex (line 58) | @Test
method testArrayGetObjectIndex (line 64) | @Test
method testArrayGenericIndex (line 70) | @Test
method testBooleanArraySelfObjectIndex (line 76) | @Test
method testBooleanArrayGetObjectIndex (line 82) | @Test
method testBooleanArrayNullIndex (line 88) | @Test
method testListSizeMinusOne (line 95) | @Test
method testToggleToggleSelected (line 102) | @Test
method testToggleDisplay (line 108) | @Test
method testMapMapKeySplit (line 114) | @Test
method testBooleanValuesIndex1Index2 (line 120) | @Test
method testTabSearchCriteriaDisplayName (line 126) | @Test
method testTabSearchCriteriaSelections (line 132) | @Test
method testTabSearchCriteriaSelectionsSetValue (line 138) | @Test
method testMapBarValue (line 145) | @Test
method testIndexedSetThingXVal (line 152) | @Test
FILE: ognl/src/test/java/ognl/test/IndexedPropertyTest.java
class IndexedPropertyTest (line 30) | class IndexedPropertyTest {
method setUp (line 36) | @BeforeEach
method testGetValues (line 43) | @Test
method testValues (line 49) | @Test
method testValuesIndex0 (line 55) | @Test
method testGetValuesIndex0 (line 61) | @Test
method testValuesIndex0Direct (line 67) | @Test
method testValuesCaret (line 73) | @Test
method testValuesPipe (line 79) | @Test
method testValuesDollar (line 85) | @Test
method testSetValuesIndex1 (line 91) | @Test
method testSetValuesIndex2 (line 98) | @Test
method testGetTitle (line 105) | @Test
method testSourceTotal (line 111) | @Test
method testIndexerLine (line 117) | @Test
method testListLongValue (line 123) | @Test
method testMapValueId (line 129) | @Test
method testPropertyHoodak (line 135) | @Test
FILE: ognl/src/test/java/ognl/test/InheritedMethodsTest.java
class InheritedMethodsTest (line 36) | class InheritedMethodsTest {
method test_Base_Inheritance (line 40) | @Test
FILE: ognl/src/test/java/ognl/test/InterfaceInheritanceTest.java
class InterfaceInheritanceTest (line 38) | class InterfaceInheritanceTest {
method setUp (line 43) | @BeforeEach
method testMyMap (line 59) | @Test
method testMyMapTest (line 65) | @Test
method testMyMapList (line 71) | @Test
method testMyMapArray0 (line 77) | @Test
method testMyMapList1 (line 83) | @Test
method testMyMapCaret (line 89) | @Test
method testMyMapDollar (line 95) | @Test
method testMyMapArrayDollar (line 101) | @Test
method testMyMapString (line 107) | @Test
method testMyMapNull (line 113) | @Test
method testMyMapXNull (line 119) | @Test
method testMyMapNullTest (line 125) | @Test
method testMyMapNull25 (line 131) | @Test
method testMyMapNull50 (line 137) | @Test
method testBeansTestBean (line 144) | @Test
method testBeansEvenOddNext (line 150) | @Test
method testMapCompFormClientId (line 156) | @Test
method testMapCompGetCount (line 162) | @Test
method testMapCustomListTotal (line 168) | @Test
method testMyTestTheMapKey (line 174) | @Test
method testContentProviderHasChildren (line 180) | @Test
method testObjectIndexInstanceOf (line 186) | @Test
FILE: ognl/src/test/java/ognl/test/IsTruckTest.java
class IsTruckTest (line 28) | class IsTruckTest {
method testIsTruckMethod (line 30) | @Test
class TruckHolder (line 40) | class TruckHolder {
method getIsTruck (line 42) | public boolean getIsTruck() {
FILE: ognl/src/test/java/ognl/test/Issue286Test.java
class Issue286Test (line 42) | class Issue286Test {
method x509CertificateMethodResolution (line 44) | @Test
method interfaceMethodPreferredOverImplementation (line 63) | @Test
method interfaceMethodOnArrayElement (line 76) | @Test
method interfaceMethodWithParameters (line 89) | @Test
method multipleInterfacesWithSameMethod (line 101) | @Test
method publicClassPreferredOverPackagePrivate (line 114) | @Test
method nestedMethodCallsOnInterface (line 126) | @Test
method overloadedInterfaceMethods (line 138) | @Test
method abstractClassInHierarchy (line 155) | @Test
method genericInterfaceMethod (line 168) | @Test
method methodReturningCollection (line 181) | @Test
method extendedInterfaceMethod (line 194) | @Test
method methodReturningInterface (line 209) | @Test
method methodWithNullParameter (line 222) | @Test
method methodWithPrimitiveParameters (line 235) | @Test
method jdkInterfacePreferredOverConcreteClass (line 249) | @Test
method methodResolutionWithInheritance (line 270) | @Test
method packagePrivateImplementation (line 286) | @Test
method multipleInterfaceInheritance (line 299) | @Test
method methodResolutionAcrossPackages (line 315) | @Test
method javaUtilClassMethodResolution (line 331) | @Test
method stringBuilderMethodResolution (line 350) | @Test
method getMethodsIncludesInterfaceAndClassMethods (line 366) | @Test
method charSequenceInterfaceHandling (line 395) | @Test
method comparableInterfaceMethodResolution (line 410) | @Test
method simulatedInternalClassVsInterface (line 429) | @Test
type TestInterface (line 445) | public interface TestInterface {
method publicMethod (line 446) | String publicMethod();
class InternalImplementation (line 451) | public static class InternalImplementation implements TestInterface {
method publicMethod (line 452) | @Override
type ParameterizedInterface (line 460) | public interface ParameterizedInterface {
method process (line 461) | String process(String input);
class ParameterizedImplementation (line 464) | public static class ParameterizedImplementation implements Parameteriz...
method process (line 465) | @Override
type FirstInterface (line 471) | public interface FirstInterface {
method getValue (line 472) | String getValue();
type SecondInterface (line 475) | public interface SecondInterface {
method getValue (line 476) | String getValue();
class MultiInterfaceImplementation (line 479) | public static class MultiInterfaceImplementation implements FirstInter...
method getValue (line 480) | @Override
type BaseInterface (line 486) | public interface BaseInterface {
method baseMethod (line 487) | String baseMethod();
class PublicImplementation (line 490) | public static class PublicImplementation implements BaseInterface {
method baseMethod (line 491) | @Override
type ContainerInterface (line 497) | public interface ContainerInterface {
method getChild (line 498) | TestInterface getChild();
class ContainerImplementation (line 501) | public static class ContainerImplementation implements ContainerInterf...
method getChild (line 502) | @Override
type OverloadedInterface (line 508) | public interface OverloadedInterface {
method compute (line 509) | Integer compute(int a);
method compute (line 511) | Integer compute(int a, int b);
class OverloadedImplementation (line 514) | public static class OverloadedImplementation implements OverloadedInte...
method compute (line 515) | @Override
method compute (line 520) | @Override
type AbstractInterface (line 526) | public interface AbstractInterface {
method abstractMethod (line 527) | String abstractMethod();
class AbstractBase (line 530) | public abstract static class AbstractBase implements AbstractInterface {
method abstractMethod (line 531) | public abstract String abstractMethod();
class ConcreteImplementation (line 534) | public static class ConcreteImplementation extends AbstractBase {
method abstractMethod (line 535) | @Override
type GenericInterface (line 541) | public interface GenericInterface<T> {
method transform (line 542) | String transform(T input);
class GenericImplementation (line 545) | public static class GenericImplementation implements GenericInterface<...
method transform (line 546) | @Override
type CollectionInterface (line 552) | public interface CollectionInterface {
method getItems (line 553) | List<String> getItems();
class CollectionImplementation (line 556) | public static class CollectionImplementation implements CollectionInte...
method getItems (line 557) | @Override
type ParentInterface (line 563) | public interface ParentInterface {
method baseMethod (line 564) | String baseMethod();
type ExtendedInterface (line 567) | public interface ExtendedInterface extends ParentInterface {
method extendedMethod (line 568) | String extendedMethod();
class ExtendedImplementation (line 571) | public static class ExtendedImplementation implements ExtendedInterface {
method baseMethod (line 572) | @Override
method extendedMethod (line 577) | @Override
type FactoryInterface (line 583) | public interface FactoryInterface {
method create (line 584) | TestInterface create();
class FactoryImplementation (line 587) | public static class FactoryImplementation implements FactoryInterface {
method create (line 588) | @Override
type NullableInterface (line 594) | public interface NullableInterface {
method handleNull (line 595) | String handleNull(String input);
class NullableImplementation (line 598) | public static class NullableImplementation implements NullableInterface {
method handleNull (line 599) | @Override
type PrimitiveInterface (line 605) | public interface PrimitiveInterface {
method add (line 606) | int add(int a, int b);
class PrimitiveImplementation (line 609) | public static class PrimitiveImplementation implements PrimitiveInterf...
method add (line 610) | @Override
class PackagePrivateImpl (line 617) | static class PackagePrivateImpl {
method publicMethod (line 618) | public String publicMethod() {
type InterfaceA (line 624) | public interface InterfaceA {
method methodA (line 625) | String methodA();
type InterfaceB (line 628) | public interface InterfaceB {
method methodB (line 629) | String methodB();
type CombinedInterface (line 632) | public interface CombinedInterface extends InterfaceA, InterfaceB {
class CombinedImplementation (line 635) | public static class CombinedImplementation implements CombinedInterface {
method methodA (line 636) | @Override
method methodB (line 641) | @Override
FILE: ognl/src/test/java/ognl/test/Issue472CustomMethodAccessorTest.java
class Issue472CustomMethodAccessorTest (line 52) | class Issue472CustomMethodAccessorTest {
class TestRootObject (line 57) | public static class TestRootObject {
method getTargetValue (line 66) | public String getTargetValue() {
method getPrefix (line 70) | public String getPrefix() {
method getMinLength (line 74) | public int getMinLength() {
method getMaxLength (line 78) | public int getMaxLength() {
method getTestList (line 82) | public List<String> getTestList() {
method getPrefixedList (line 86) | public List<String> getPrefixedList() {
method getLengthList (line 90) | public List<String> getLengthList() {
method setUp (line 95) | @BeforeEach
method testRootPropertyAccessInListSelection (line 101) | @Test
method testRootPropertyAccessWithNonMatchingValue (line 117) | @Test
method testLambdaAccessingBothRootAndListItem (line 131) | @Test
method testMultipleRootPropertiesInExpression (line 147) | @Test
method testListProjectionWithRootAccess (line 162) | @Test
FILE: ognl/src/test/java/ognl/test/Java8Test.java
class Java8Test (line 33) | class Java8Test<C extends OgnlContext<C>> {
method testDefaultMethodOnClass (line 35) | @Test
method testDefaultMethodOnSubClass (line 44) | @Test
method testGetDeclaredMethods (line 53) | @Test
method testAccessingDefaultMethod (line 61) | @Test
class SubClassWithDefaults (line 71) | class SubClassWithDefaults extends ClassWithDefaults {
method getName (line 73) | public String getName() {
class ClassWithDefaults (line 79) | class ClassWithDefaults implements SubInterfaceWithDefaults {
type InterfaceWithDefaults (line 83) | interface InterfaceWithDefaults {
method defaultMethod (line 84) | default void defaultMethod() {
method getName (line 87) | default String getName() {
type SubInterfaceWithDefaults (line 92) | interface SubInterfaceWithDefaults extends InterfaceWithDefaults {
FILE: ognl/src/test/java/ognl/test/LambdaExpressionTest.java
class LambdaExpressionTest (line 34) | class LambdaExpressionTest {
method setUp (line 38) | @BeforeEach
method getExpression (line 43) | private SimpleNode getExpression(Object root, String expressionStr) th...
method shouldReadArrayLength (line 50) | @Test
method shouldEvaluateLambda1 (line 64) | @Test
method shouldEvaluateLambda2 (line 78) | @Test
method shouldEvaluateLambda3 (line 92) | @Test
method shouldEvaluateLambda4 (line 106) | @Test
method shouldEvaluateLambda5 (line 120) | @Test
FILE: ognl/src/test/java/ognl/test/MapCreationTest.java
class MapCreationTest (line 34) | class MapCreationTest {
method setUp (line 39) | @BeforeEach
method testMapCreation1 (line 45) | @Test
method testMapCreation2 (line 54) | @Test
method testMapCreation3 (line 66) | @Test
method testMapCreation4 (line 77) | @Test
method testMapCreation5 (line 88) | @Test
FILE: ognl/src/test/java/ognl/test/MemberAccessTest.java
class MemberAccessTest (line 37) | class MemberAccessTest {
method shouldBlockAccessReadToSpecificProperties (line 42) | @ParameterizedTest()
method shouldBlockAccessOnWriteToSpecificProperties (line 50) | @Test
method shouldAllowAccessToOtherProperties (line 55) | @Test
method setUp (line 62) | @BeforeEach
FILE: ognl/src/test/java/ognl/test/MethodTest.java
class MethodTest (line 40) | class MethodTest {
method setUp (line 47) | @BeforeEach
method testHashCode (line 55) | @Test
method testGetBooleanValue (line 61) | @Test
method testGetValueIsTrue (line 67) | @Test
method testMessagesFormatShowAllCountOne (line 73) | @Test
method testMessagesFormatShowAllCountArrayOne (line 79) | @Test
method testMessagesFormatShowAllCountArrayOneTwo (line 85) | @Test
method testMessagesFormatShowAllCountOneTwo (line 91) | @Test
method testGetTestValue (line 97) | @Test
method testGetAIsProperty (line 103) | @Test
method testIsDisabled (line 109) | @Test
method testIsTruck (line 115) | @Test
method testIsEditorDisabled (line 120) | @Test
method testListAddValue (line 126) | @Test
method testGetDisplayValue (line 132) | @Test
method testIsThisVarArgsWorkingWithArgs (line 138) | @Test
method testIsThisVarArgsWorkingWithoutArgs (line 144) | @Test
method testGenericServiceGetFullMessageFor (line 150) | @Test
method testTestMethodsGetBean (line 156) | @Test
method testTestMethodsTestProperty (line 162) | @Test
method testTestMethodsArgsTest1 (line 168) | @Test
method testTestMethodsArgsTest2 (line 174) | @Test
method testTestMethodsArgsTest3 (line 180) | @Test
method testTestMethodsShowListObjectList (line 186) | @Test
method testTestMethodsShowListStringList (line 192) | @Test
method testTestMethodsShowListStringArray (line 198) | @Test
method testTestMethodsShowStringList (line 204) | @Test
method testTestMethodsAvg (line 210) | @Test
method testNullVarArgs (line 216) | @Test
class A (line 224) | public static class A {
method isProperty (line 225) | public boolean isProperty() {
method getA (line 230) | public static A getA() {
FILE: ognl/src/test/java/ognl/test/MethodWithConversionTest.java
class MethodWithConversionTest (line 29) | class MethodWithConversionTest {
method setUp (line 34) | @BeforeEach
method testSetValues (line 40) | @Test
method testStringValue (line 48) | @Test
method testStringValueWithChar (line 56) | @Test
method testSetStringValue (line 62) | @Test
method testFloatValue (line 68) | @Test
method testGetValueIsTrue (line 74) | @Test
method testMessagesFormat (line 80) | @Test
FILE: ognl/src/test/java/ognl/test/NestedMethodTest.java
class NestedMethodTest (line 29) | class NestedMethodTest {
method setUp (line 34) | @BeforeEach
method testToDisplayPictureUrl (line 40) | @Test
method testPageCreateRelativeAsset (line 46) | @Test
FILE: ognl/src/test/java/ognl/test/NullHandlerTest.java
class NullHandlerTest (line 30) | class NullHandlerTest {
method shouldBlockAccessReadToSpecificProperties (line 34) | @ParameterizedTest()
method setUp (line 45) | @BeforeEach
FILE: ognl/src/test/java/ognl/test/NullRootTest.java
class NullRootTest (line 30) | class NullRootTest {
method testNullValue (line 32) | @Test
method testEmptyRoot (line 41) | @Test
method testNullRoot (line 49) | @Test
FILE: ognl/src/test/java/ognl/test/NullSafeCollectionTest.java
class NullSafeCollectionTest (line 43) | class NullSafeCollectionTest {
method setUp (line 47) | @BeforeEach
method nullSafeExpressionParsing (line 52) | @ParameterizedTest
method nullSafeProjectionAndSelection (line 65) | @ParameterizedTest
method projectionSelectionTestCases (line 79) | static Stream<Arguments> projectionSelectionTestCases() {
method nullSafePropertyAccess (line 91) | @ParameterizedTest
method propertyAccessTestCases (line 101) | static Stream<Arguments> propertyAccessTestCases() {
method dynamicSubscriptAccess (line 110) | @ParameterizedTest
method dynamicSubscriptTestCases (line 121) | static Stream<Arguments> dynamicSubscriptTestCases() {
method createMap (line 129) | private static Map<String, String> createMap(String key, String value) {
FILE: ognl/src/test/java/ognl/test/NullSafeCompilationTest.java
class NullSafeCompilationTest (line 37) | class NullSafeCompilationTest {
class User (line 41) | static class User {
method User (line 45) | User(String name, Profile profile) {
method getName (line 50) | public String getName() {
method getProfile (line 54) | public Profile getProfile() {
class Profile (line 59) | static class Profile {
method Profile (line 63) | Profile(String bio, Address address) {
method getBio (line 68) | public String getBio() {
method getAddress (line 72) | public Address getAddress() {
class Address (line 77) | static class Address {
method Address (line 80) | Address(String city) {
method getCity (line 84) | public String getCity() {
method setUp (line 89) | @BeforeEach
method nullSafeWithCompiledExpression (line 94) | @Test
method nullSafeToGetSourceString (line 110) | @Test
method expressionToString (line 122) | @ParameterizedTest
method toStringTestCases (line 132) | static Stream<Arguments> toStringTestCases() {
method toStringComplexExpression (line 140) | @Test
FILE: ognl/src/test/java/ognl/test/NullSafeIntegrationTest.java
class NullSafeIntegrationTest (line 42) | class NullSafeIntegrationTest {
class User (line 46) | static class User {
method User (line 50) | User(String name, Profile profile) {
method getName (line 55) | public String getName() {
method getProfile (line 59) | public Profile getProfile() {
class Profile (line 64) | static class Profile {
method Profile (line 69) | Profile(String bio, Address address) {
method getBio (line 74) | public String getBio() {
method getAddress (line 78) | public Address getAddress() {
method isVerified (line 82) | public boolean isVerified() {
class Address (line 87) | static class Address {
method Address (line 91) | Address(String city, String street) {
method getCity (line 96) | public String getCity() {
method getStreet (line 100) | public String getStreet() {
method setUp (line 105) | @BeforeEach
method nullSafeWithConditionalOperators (line 112) | @ParameterizedTest
method conditionalOperatorTestCases (line 120) | static Stream<Arguments> conditionalOperatorTestCases() {
method nullSafeInAssignmentContext (line 127) | @Test
method nullSafeWithArithmetic (line 134) | @Test
method deepNullSafeChains (line 145) | @ParameterizedTest
method nullSafeOnLiterals (line 157) | @Test
method nullSafeOnStaticMethod (line 164) | @Test
method nullSafeWithThis (line 171) | @Test
method nullSafeWithRoot (line 180) | @Test
method nullSafeDoesNotAffectRegularAccess (line 188) | @Test
method nullSafeBackwardCompatibility (line 201) | @Test
method nullSafeIndependentOfShortCircuit (line 210) | @Test
method nullSafeWithIntermediateNull (line 222) | @Test
method nullSafeChainWithMultipleNullChecks (line 232) | @Test
method nullSafeWithNestedPropertyAccess (line 242) | @Test
FILE: ognl/src/test/java/ognl/test/NullSafeOperatorTest.java
class NullSafeOperatorTest (line 42) | class NullSafeOperatorTest {
class User (line 47) | public static class User {
method User (line 52) | public User(String name, Profile profile) {
method getName (line 57) | public String getName() {
method setName (line 61) | public void setName(String name) {
method getProfile (line 65) | public Profile getProfile() {
method setProfile (line 69) | public void setProfile(Profile profile) {
method getTags (line 73) | public List<String> getTags() {
method setTags (line 77) | public void setTags(List<String> tags) {
class Profile (line 82) | public static class Profile {
method Profile (line 86) | public Profile(String bio, Address address) {
method getBio (line 91) | public String getBio() {
method setBio (line 95) | public void setBio(String bio) {
method getAddress (line 99) | public Address getAddress() {
method setAddress (line 103) | public void setAddress(Address address) {
class Address (line 108) | public static class Address {
method Address (line 112) | public Address(String city, String street) {
method getCity (line 117) | public String getCity() {
method setCity (line 121) | public void setCity(String city) {
method getStreet (line 125) | public String getStreet() {
method setStreet (line 129) | public void setStreet(String street) {
method setUp (line 134) | @BeforeEach
method nullRootWithNullSafeOperator (line 139) | @Test
method nullSafeOnNullRoot (line 146) | @Test
method successfulNavigation (line 152) | @ParameterizedTest
method successfulNavigationTestCases (line 160) | static Stream<Arguments> successfulNavigationTestCases() {
method nullSafeOnNullProperty (line 168) | @Test
method chainedNullSafeOperators (line 175) | @ParameterizedTest
method chainedNullSafeTestCases (line 186) | static Stream<Arguments> chainedNullSafeTestCases() {
method nullSafeMethodCallOnNull (line 210) | @Test
method nullSafeMethodCallOnNonNull (line 216) | @Test
method nullSafeMethodChainWithNullIntermediate (line 223) | @Test
method methodWithArgumentsNullSafe (line 230) | @Test
method nullSafeMethodWithArgumentsOnNull (line 237) | @Test
method nullSafeWithVariableReference (line 243) | @Test
method nullSafeWithNonNullVariable (line 250) | @Test
method nullSafeWithNestedVariables (line 258) | @Test
method nullSafeMapAccess (line 266) | @Test
method nullSafeMapAccessWithNonNullValue (line 274) | @Test
method nullSafeIndexedMapAccess (line 283) | @Test
method nullSafeScenarios (line 293) | @ParameterizedTest
method nullSafeTestCases (line 300) | static Stream<Arguments> nullSafeTestCases() {
method parserAcceptsDotQuestion (line 327) | @Test
method complexNullSafeExpression (line 335) | @Test
FILE: ognl/src/test/java/ognl/test/NullStringCatenationTest.java
class NullStringCatenationTest (line 31) | class NullStringCatenationTest {
method setUp (line 41) | @BeforeEach
method testCatenateNullToString (line 47) | @Test
method testCatenateNullObjectToString (line 53) | @Test
method testCatenateNullObjectToNumber (line 59) | @Test
method testConditionalCatenation (line 66) | @Test
method testConditionalCatenationWithInt (line 72) | @Test
method testCatenateWidth (line 78) | @Test
method testCatenateLongAndIndex (line 84) | @Test
method testCatenateWithStaticField (line 90) | @Test
method testConditionalCatenationWithMethodCall (line 96) | @Test
method testCatenateBeanIdAndInt (line 102) | @Test
FILE: ognl/src/test/java/ognl/test/NumberFormatExceptionTest.java
class NumberFormatExceptionTest (line 35) | class NumberFormatExceptionTest {
method setUp (line 40) | @BeforeEach
method testFloatValueValid (line 46) | @Test
method testFloatValueInvalid (line 52) | @Test
method testIntValueValid (line 59) | @Test
method testIntValueInvalidString (line 66) | @Test
method testIntValueEmptyString (line 71) | @Test
method testIntValueWhitespaceString (line 76) | @Test
method testIntValueValidWhitespaceString (line 81) | @Test
method testBigIntValueValid (line 88) | @Test
method testBigIntValueNull (line 95) | @Test
method testBigIntValueEmptyString (line 102) | @Test
method testBigIntValueInvalidString (line 107) | @Test
method testBigDecValueValid (line 112) | @Test
method testBigDecValueNull (line 119) | @Test
method testBigDecValueEmptyString (line 126) | @Test
method testBigDecValueInvalidString (line 131) | @Test
FILE: ognl/src/test/java/ognl/test/NumericConversionTest.java
class NumericConversionTest (line 29) | class NumericConversionTest {
method runTest (line 31) | private void runTest(Object value, Class<?> toClass, Object expectedVa...
method testIntegerConversions (line 45) | @Test
method testDoubleConversions (line 60) | @Test
method testBooleanConversions (line 75) | @Test
method testByteConversions (line 90) | @Test
method testCharacterConversions (line 105) | @Test
method testShortConversions (line 120) | @Test
method testLongConversions (line 135) | @Test
method testFloatConversions (line 150) | @Test
method testBigIntegerConversions (line 165) | @Test
method testBigDecimalConversions (line 180) | @Test
FILE: ognl/src/test/java/ognl/test/ObjectIndexedPropertyTest.java
class ObjectIndexedPropertyTest (line 33) | class ObjectIndexedPropertyTest {
method setUp (line 38) | @BeforeEach
method testGetNonIndexedPropertyThroughAttributesMap (line 44) | @Test
method testGetIndexedProperty (line 50) | @Test
method testSetIndexedProperty (line 56) | @Test
method testGetPropertyBackThroughMapToConfirm (line 63) | @Test
method testGetIndexedPropertyFromIndexedThenThroughOther (line 70) | @Test
method testGetPropertyBackThroughMapToConfirmFromIndexed (line 76) | @Test
method testIllegalDynamicSubscriptAccessToObjectIndexedProperty (line 82) | @Test
method testBeanIndexedValue (line 87) | @Test
FILE: ognl/src/test/java/ognl/test/ObjectIndexedTest.java
class ObjectIndexedTest (line 32) | class ObjectIndexedTest {
method setUp (line 36) | @BeforeEach
method testObjectIndexAccess (line 41) | @Test
method testObjectIndexInSubclass (line 52) | @Test
method testMultipleObjectIndexGetters (line 63) | @Test
method testMultipleObjectIndexSetters (line 72) | @Test
method testMultipleObjectIndexMethodPairs (line 81) | @Test
type TestInterface (line 90) | interface TestInterface {
method getSunk (line 91) | String getSunk(String index);
method setSunk (line 93) | void setSunk(String index, String sunk);
class Test1 (line 96) | static class Test1 implements TestInterface {
method getSunk (line 97) | public String getSunk(String index) {
method setSunk (line 101) | public void setSunk(String index, String sunk) {
class Test2 (line 106) | static class Test2 extends Test1 {
method getSunk (line 107) | public String getSunk(String index) {
method setSunk (line 111) | public void setSunk(String index, String sunk) {
class Test3 (line 116) | static class Test3 extends Test1 {
method getSunk (line 117) | public String getSunk(String index) {
method setSunk (line 121) | public void setSunk(String index, String sunk) {
method getSunk (line 125) | public String getSunk(Object index) {
class Test4 (line 130) | static class Test4 extends Test1 {
method getSunk (line 131) | public String getSunk(String index) {
method setSunk (line 135) | public void setSunk(String index, String sunk) {
method setSunk (line 139) | public void setSunk(Object index, String sunk) {
class Test5 (line 144) | static class Test5 extends Test1 {
method getSunk (line 145) | public String getSunk(String index) {
method setSunk (line 149) | public void setSunk(String index, String sunk) {
method getSunk (line 153) | public String getSunk(Object index) {
method setSunk (line 157) | public void setSunk(Object index, String sunk) {
FILE: ognl/src/test/java/ognl/test/OgnlContextCreateTest.java
class OgnlContextCreateTest (line 33) | class OgnlContextCreateTest<C extends OgnlContext<C>> {
method createContext (line 35) | @Test
method createContextWithRoot (line 42) | @Test
method createContextWithNullRoot (line 51) | @Test
method createContextWithClassResolver (line 60) | @Test
method addContextWithClassResolver (line 69) | @Test
method createContextWithNullRootAndClassResolver (line 79) | @Test
method addContextWithNullRootAndClassResolver (line 88) | @Test
method createContextWithClassResolverAndTypeConverter (line 98) | @Test
method addContextWithClassResolverAndTypeConverter (line 109) | @Test
method addContextWithClassResolverAndNoTypeConverter (line 122) | @Test
method addContextWithNoClassResolverAndNoTypeConverter (line 135) | @Test
method createContextWithNullRootAndClassResolverAndTypeConverter (line 148) | @Test
method addContextWithNullRootAndClassResolverAndTypeConverter (line 159) | @Test
method prepareValues (line 172) | private Map<String, Object> prepareValues() {
class MyClassResolver (line 178) | private static class MyClassResolver<C extends OgnlContext<C>> extends...
method classForName (line 179) | @Override
class MyClass (line 188) | private static class MyClass {
method getValue (line 189) | public static String getValue() {
class MyTypeConverter (line 194) | private static class MyTypeConverter<C extends OgnlContext<C>> extends...
method convertValue (line 195) | @Override
FILE: ognl/src/test/java/ognl/test/OgnlExceptionTest.java
class OgnlExceptionTest (line 30) | class OgnlExceptionTest {
method test_Throwable_Reason (line 32) | @Test
method throwException (line 42) | void throwException() throws OgnlException {
FILE: ognl/src/test/java/ognl/test/OgnlOpsTest.java
class OgnlOpsTest (line 31) | class OgnlOpsTest {
method testEqualStringsEqual (line 33) | @Test
method testEqualStringsNotEqual (line 41) | @Test
method testEqualFloatsEqual (line 49) | @Test
method testEqualFloatsNotEqual (line 57) | @Test
method testEqualLongsEqual (line 65) | @Test
method testEqualLongsNotEqual (line 73) | @Test
method testEqualBigLongsEqual (line 81) | @Test
method testEqualBigLongsNotEqual (line 89) | @Test
method testEqualNullsEqual (line 97) | @Test
method testEqualNullsNotEqual (line 102) | @Test
method testShiftLeft (line 109) | @Test
method testShiftRight (line 115) | @Test
method testUnsignedShiftRight (line 121) | @Test
method testAdd (line 127) | @Test
method testSubtract (line 134) | @Test
method testMultiply (line 141) | @Test
method testDivide (line 148) | @Test
method testRemainder (line 155) | @Test
method testNegate (line 161) | @Test
method testBitNegate (line 168) | @Test
method testGetEscapeString (line 174) | @Test
method testGetEscapedChar (line 180) | @Test
method testReturnValue (line 186) | @Test
method testCastToRuntime (line 191) | @Test
FILE: ognl/src/test/java/ognl/test/OperationTest.java
class OperationTest (line 33) | class OperationTest {
method test_isOperation (line 35) | @Test
FILE: ognl/src/test/java/ognl/test/OperatorTest.java
class OperatorTest (line 29) | class OperatorTest {
method setUp (line 33) | @BeforeEach
method testStringComparisons (line 38) | @Test
method assertExpression (line 57) | private void assertExpression(String expressionString, Object expected...
FILE: ognl/src/test/java/ognl/test/PackageKeywordTest.java
class PackageKeywordTest (line 39) | class PackageKeywordTest {
method setUp (line 44) | @BeforeEach
method javaUtilUUID (line 53) | @Test
method classReferenceWithAtomicInteger (line 63) | @Test
method parseExpressionWithOrInPackage (line 74) | @Test
method parseExpressionWithAndInPackage (line 86) | @Test
method parseExpressionWithNotInPackage (line 98) | @Test
method parseExpressionWithInInPackage (line 110) | @Test
method parseExpressionWithMultipleKeywordsInPackage (line 122) | @Test
FILE: ognl/src/test/java/ognl/test/PrimitiveArrayTest.java
class PrimitiveArrayTest (line 29) | class PrimitiveArrayTest {
method setUp (line 34) | @BeforeEach
method testBooleanArrayCreation (line 40) | @Test
method testCharArrayCreation (line 52) | @Test
method testByteArrayCreation (line 61) | @Test
method testShortArrayCreation (line 67) | @Test
method testIntArrayCreation (line 73) | @Test
method testLongArrayCreation (line 88) | @Test
method testFloatArrayCreation (line 94) | @Test
method testDoubleArrayCreation (line 100) | @Test
FILE: ognl/src/test/java/ognl/test/PrimitiveNullHandlingTest.java
class PrimitiveNullHandlingTest (line 29) | class PrimitiveNullHandlingTest {
method setUp (line 34) | @BeforeEach
method testFloatValue (line 42) | @Test
method testIntValue (line 53) | @Test
method testBooleanValue (line 64) | @Test
FILE: ognl/src/test/java/ognl/test/PrivateAccessorTest.java
class PrivateAccessorTest (line 30) | class PrivateAccessorTest {
method setUp (line 35) | @BeforeEach
method testPrivateAccessorIntValue (line 41) | @Test
method testPrivateAccessorIntValue2 (line 54) | @Test
method testPrivateAccessorIntValue3 (line 64) | @Test
method testPrivateAccessorBooleanValue (line 75) | @Test
FILE: ognl/src/test/java/ognl/test/PrivateMemberTest.java
class PrivateMemberTest (line 32) | class PrivateMemberTest {
method getPrivateProperty (line 41) | private String getPrivateProperty() {
method getPrivateStaticProperty (line 45) | private static String getPrivateStaticProperty() {
method getPrivateFinalProperty (line 49) | private String getPrivateFinalProperty() {
method getPrivateStaticFinalProperty (line 53) | private static String getPrivateStaticFinalProperty() {
method setUp (line 57) | @BeforeEach
method testPrivateAccessor (line 62) | @Test
method testPrivateField (line 68) | @Test
method testPrivateFinalAccessor (line 74) | @Test
method testPrivateFinalField (line 80) | @Test
method testPrivateStaticAccessor (line 86) | @Test
method testPrivateStaticFieldNormalAccess (line 92) | @Test
method testPrivateStaticFieldStaticAccess (line 103) | @Test
method testPrivateStaticFinalAccessor (line 109) | @Test
method testPrivateStaticFinalFieldNormalAccess (line 115) | @Test
method testPrivateStaticFinalFieldStaticAccess (line 126) | @Test
method testPrivateFieldSet (line 132) | @Test
method testPrivateFinalFieldSet (line 149) | @Test
method testPrivateStaticFieldSet (line 167) | @Test
method testPrivateStaticFinalFieldSet (line 185) | @Test
method testPrivateFieldSetFail (line 203) | @Test
method testPrivateFinalFieldSetFail (line 214) | @Test
method testPrivateStaticFieldSetFail (line 225) | @Test
method testPrivateStaticFinalFieldSetFail (line 236) | @Test
method testPrivateAccessorFail (line 247) | @Test
method testPrivateFieldFail (line 259) | @Test
method testPrivateFinalAccessorFail (line 271) | @Test
method testPrivateFinalFieldFail (line 283) | @Test
method testPrivateStaticAccessorFail (line 295) | @Test
method testPrivateStaticFieldNormalAccessFail (line 307) | @Test
method testPrivateStaticFieldStaticAccessFail (line 319) | @Test
method testPrivateStaticFinalAccessorFail (line 331) | @Test
method testPrivateStaticFinalFieldNormalAccessFail (line 343) | @Test
method testPrivateStaticFinalFieldStaticAccessFail (line 355) | @Test
FILE: ognl/src/test/java/ognl/test/ProjectionSelectionTest.java
class ProjectionSelectionTest (line 32) | class ProjectionSelectionTest {
method setUp (line 36) | @BeforeEach
method testProjectionClass (line 41) | @Test
method testSelection (line 48) | @Test
method testFactorial (line 63) | @Test
FILE: ognl/src/test/java/ognl/test/PropertyAccessorTest.java
class PropertyAccessorTest (line 32) | class PropertyAccessorTest<C extends OgnlContext<C>> {
method setUp (line 36) | @BeforeEach
method shouldAccessProperty_usingCustomAccessor (line 42) | @Test
class Child (line 52) | static class Child {
method Child (line 55) | public Child(String name) {
method getName (line 59) | public String getName() {
class Parent (line 64) | public static class Parent {
method Parent (line 67) | public Parent(Child child) {
method getChild (line 71) | public Child getChild() {
class ChildPropertyAccessor (line 76) | public static class ChildPropertyAccessor<C extends OgnlContext<C>> im...
method setProperty (line 77) | public void setProperty(C context, Object target, Object name, Objec...
method getProperty (line 80) | public Object getProperty(C context, Object target, Object name) thr...
method getSourceAccessor (line 87) | public String getSourceAccessor(C context, Object target, Object ind...
method getSourceSetter (line 91) | public String getSourceSetter(C context, Object target, Object index) {
FILE: ognl/src/test/java/ognl/test/PropertyArithmeticAndLogicalOperatorsTest.java
class PropertyArithmeticAndLogicalOperatorsTest (line 33) | class PropertyArithmeticAndLogicalOperatorsTest {
method setUp (line 40) | @BeforeEach
method testBooleanExpressions (line 48) | @Test
method testIntegerExpressions (line 58) | @Test
method testDoubleExpressions (line 76) | @Test
FILE: ognl/src/test/java/ognl/test/PropertySetterTest.java
class PropertySetterTest (line 32) | class PropertySetterTest {
type TestInterface (line 36) | public interface TestInterface {
method getProperty (line 37) | String getProperty();
class TestObject (line 40) | public static class TestObject implements TestInterface {
method TestObject (line 43) | public TestObject(String property) {
method getProperty (line 47) | public String getProperty() {
method setProperty (line 51) | public void setProperty(String property) {
method getIntegerProperty (line 55) | public Integer getIntegerProperty() {
method getKey (line 60) | public String getKey() {
method getObject (line 64) | public TestObject getObject() {
method getInterfaceObject (line 68) | public TestInterface getInterfaceObject() {
method getPropertyKey (line 72) | public String getPropertyKey() {
method testEnhancedOgnl (line 76) | @Test
FILE: ognl/src/test/java/ognl/test/PropertyTest.java
class PropertyTest (line 38) | class PropertyTest {
method setUp (line 52) | @BeforeEach
method testBooleanExpressions (line 60) | @Test
method testMapExpressions (line 67) | @Test
method testStringExpressions (line 78) | @Test
method testArrayExpressions (line 84) | @Test
method testConditionalExpressions (line 103) | @Test
method testIntegerExpressions (line 113) | @Test
method testBooleanExpressions2 (line 120) | @Test
method testMiscExpressions (line 128) | @Test
method formatValue (line 164) | public static String formatValue(int millis, boolean b1, boolean b2) {
FILE: ognl/src/test/java/ognl/test/ProtectedInnerClassTest.java
class ProtectedInnerClassTest (line 29) | class ProtectedInnerClassTest {
method setUp (line 34) | @BeforeEach
method testListSize (line 40) | @Test
method testListElement (line 46) | @Test
FILE: ognl/src/test/java/ognl/test/ProtectedMemberTest.java
class ProtectedMemberTest (line 32) | class ProtectedMemberTest {
method setUp (line 40) | @BeforeEach
method getProtectedProperty (line 46) | protected String getProtectedProperty() {
method getProtectedFinalProperty (line 50) | protected String getProtectedFinalProperty() {
method getProtectedStaticProperty (line 54) | protected static String getProtectedStaticProperty() {
method getProtectedStaticFinalProperty (line 58) | protected static String getProtectedStaticFinalProperty() {
method testProtectedAccessor (line 62) | @Test
method testProtectedField (line 67) | @Test
method testProtectedFinalAccessor (line 72) | @Test
method testProtectedFinalField (line 77) | @Test
method testProtectedStaticAccessor (line 82) | @Test
method testProtectedStaticFieldNormalAccess (line 87) | @Test
method testProtectedStaticFieldStaticAccess (line 97) | @Test
method testProtectedStaticFinalAccessor (line 102) | @Test
method testProtectedStaticFinalFieldNormalAccess (line 107) | @Test
method testProtectedStaticFinalFieldStaticAccess (line 117) | @Test
method testProtectedFieldSet (line 122) | @Test
Condensed preview — 336 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (1,843K chars).
[
{
"path": ".claude/settings.json",
"chars": 497,
"preview": "{\n \"permissions\": {\n \"allow\": [\n \"WebSearch\",\n \"WebFetch(domain:github.com)\",\n \"WebFetch(domain:raw.g"
},
{
"path": ".github/FUNDING.yml",
"chars": 836,
"preview": "# These are supported funding model platforms\n\ngithub: [lukaszlenart] # Replace with up to 4 GitHub Sponsors-enabled use"
},
{
"path": ".github/workflows/maven.yml",
"chars": 2227,
"preview": "# Licensed to the Apache Software Foundation (ASF) under one or more\n# contributor license agreements. See the NOTICE f"
},
{
"path": ".github/workflows/ognl-3-4-x.yml",
"chars": 1553,
"preview": "# Licensed to the Apache Software Foundation (ASF) under one or more\n# contributor license agreements. See the NOTICE f"
},
{
"path": ".github/workflows/performance-baseline.yml",
"chars": 1881,
"preview": "# Licensed to the Apache Software Foundation (ASF) under one or more\n# contributor license agreements. See the NOTICE f"
},
{
"path": ".github/workflows/performance.yml",
"chars": 1947,
"preview": "# Licensed to the Apache Software Foundation (ASF) under one or more\n# contributor license agreements. See the NOTICE f"
},
{
"path": ".github/workflows/sonar.yml",
"chars": 2042,
"preview": "# Licensed to the Apache Software Foundation (ASF) under one or more\n# contributor license agreements. See the NOTICE f"
},
{
"path": ".gitignore",
"chars": 144,
"preview": "*.iml\n*.ipr\n*.iws\ntarget\n.idea\nbuild\n.java-version\n.mvn/wrapper/maven-wrapper.jar\n.DS_Store\n**/.DS_Store\n.claude/setting"
},
{
"path": ".mvn/wrapper/MavenWrapperDownloader.java",
"chars": 4473,
"preview": "/*\nLicensed to the Apache Software Foundation (ASF) under one\nor more contributor license agreements. See the NOTICE fi"
},
{
"path": ".mvn/wrapper/maven-wrapper.properties",
"chars": 117,
"preview": "distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.16/apache-maven-3.9.16-bin.zip"
},
{
"path": "CLAUDE.md",
"chars": 3727,
"preview": "# CLAUDE.md\n\nThis file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.\n\n## "
},
{
"path": "KEYS",
"chars": 5169,
"preview": "This file contains the PGP keys of various Apache developers.\nPlease don't use them for email unless you have to. Their "
},
{
"path": "LICENSE.txt",
"chars": 11357,
"preview": "\n Apache License\n Version 2.0, January 2004\n "
},
{
"path": "README.md",
"chars": 5834,
"preview": "<p align=\"center\">\n <img src=\"docs/ognl-logo.svg\" alt=\"OGNL\" width=\"400\"/>\n</p>\n\n# Object-Graph Navigation Language - O"
},
{
"path": "SECURITY.md",
"chars": 570,
"preview": "# Security Policy\n\n## Supported Versions\n\nUse only the supported versions\n\n| Version | Supported |\n| ------- | "
},
{
"path": "benchmarks/etc/ognl-runtime-benchmark-baseline.json",
"chars": 146596,
"preview": "[\n {\n \"jmhVersion\" : \"1.37\",\n \"benchmark\" : \"ognl.benchmarks.OgnlPerformanceBenchmarks.constantExpressi"
},
{
"path": "benchmarks/pom.xml",
"chars": 7737,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project xmlns=\"http://maven.apache.org/POM/4.0.0\" xmlns:xsi=\"http://www.w3.org/2"
},
{
"path": "benchmarks/src/main/java/ognl/DefaultMemberAccess.java",
"chars": 3878,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "benchmarks/src/main/java/ognl/Run.java",
"chars": 7158,
"preview": "package ognl;\n\nimport com.fasterxml.jackson.databind.JsonNode;\nimport com.fasterxml.jackson.databind.ObjectMapper;\nimpor"
},
{
"path": "benchmarks/src/main/java/ognl/benchmarks/OgnlPerformanceBenchmarks.java",
"chars": 6880,
"preview": "package ognl.benchmarks;\n\nimport ognl.DefaultMemberAccess;\nimport ognl.Ognl;\nimport ognl.OgnlContext;\nimport ognl.OgnlEx"
},
{
"path": "benchmarks/src/main/java/ognl/benchmarks/OgnlRuntimePerformanceBenchmarks.java",
"chars": 16121,
"preview": "package ognl.benchmarks;\n\nimport ognl.OgnlRuntime;\nimport org.openjdk.jmh.annotations.*;\nimport org.openjdk.jmh.infra.Bl"
},
{
"path": "docs/DeveloperGuide.md",
"chars": 20279,
"preview": "---\nauthor:\n- Drew Davidson\n- Łukasz Lenart\ntitle: OGNL Developer Guide\n---\n\n# Introduction\n\nOGNL as a language allows f"
},
{
"path": "docs/ISSUE_103_ANALYSIS.md",
"chars": 7979,
"preview": "# Issue #103: Class Reference Parser Fails with \"or\" in Package Names\n\n## Problem Summary\n\nThe OGNL parser fails to pars"
},
{
"path": "docs/LanguageGuide.md",
"chars": 61366,
"preview": "---\nauthor:\n- Drew Davidson\ntitle: OGNL Language Guide\n---\n\n# Introduction\n\nOGNL stands for **O**bject **G**raph **N**av"
},
{
"path": "docs/NullSafeOperator.md",
"chars": 17149,
"preview": "# Null-Safe Navigation Operator (?.)\n\n## Overview\n\nThe null-safe navigation operator `?.` provides a safe way to navigat"
},
{
"path": "docs/VersionNotes.md",
"chars": 12354,
"preview": "# Version Notes\n\n## Release notes - version 3.4.3, 3.3.5 (2024-04-19)\n* Fixes potential security vulnerability in access"
},
{
"path": "docs/plans/ISSUE_18_COMPILED_MODE_PARITY.md",
"chars": 6254,
"preview": "# Issue #18 — Compiled vs Interpreted Mode Parity\n\n## Context\n\nIssue [#18](https://github.com/orphan-oss/ognl/issues/18)"
},
{
"path": "docs/plans/JDK25_FORWARD_COMPATIBILITY.md",
"chars": 12671,
"preview": "# OGNL JDK 25 Forward-Compatibility Implementation Plan\n\n> **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:"
},
{
"path": "mvnw",
"chars": 9113,
"preview": "#!/bin/sh\n# ----------------------------------------------------------------------------\n# Licensed to the Apache Softwa"
},
{
"path": "mvnw.cmd",
"chars": 5810,
"preview": "@REM ----------------------------------------------------------------------------\n@REM Licensed to the Apache Software F"
},
{
"path": "ognl/pom.xml",
"chars": 8209,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project xmlns=\"http://maven.apache.org/POM/4.0.0\" xmlns:xsi=\"http://www.w3.org/2"
},
{
"path": "ognl/src/main/java/ognl/ASTAdd.java",
"chars": 11021,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/ASTAnd.java",
"chars": 5345,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/ASTAssign.java",
"chars": 4593,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/ASTBitAnd.java",
"chars": 1754,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/ASTBitNegate.java",
"chars": 1739,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/ASTBitOr.java",
"chars": 1593,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/ASTChain.java",
"chars": 16506,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/ASTConst.java",
"chars": 5532,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/ASTCtor.java",
"chars": 10845,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/ASTDivide.java",
"chars": 1472,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/ASTEq.java",
"chars": 1581,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/ASTEval.java",
"chars": 2951,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/ASTGreater.java",
"chars": 1601,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/ASTGreaterEq.java",
"chars": 1602,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/ASTIn.java",
"chars": 2572,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/ASTInstanceof.java",
"chars": 2462,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/ASTKeyValue.java",
"chars": 1605,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/ASTLess.java",
"chars": 1586,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/ASTLessEq.java",
"chars": 1599,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/ASTList.java",
"chars": 6102,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/ASTMap.java",
"chars": 3054,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/ASTMethod.java",
"chars": 19678,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/ASTMultiply.java",
"chars": 1602,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/ASTNegate.java",
"chars": 1986,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/ASTNot.java",
"chars": 1900,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/ASTNotEq.java",
"chars": 1593,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/ASTNotIn.java",
"chars": 2400,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/ASTOr.java",
"chars": 4953,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/ASTProject.java",
"chars": 2216,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/ASTProperty.java",
"chars": 22247,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/ASTRemainder.java",
"chars": 1484,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/ASTRootVarRef.java",
"chars": 2165,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/ASTSelect.java",
"chars": 2285,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/ASTSelectFirst.java",
"chars": 2322,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/ASTSelectLast.java",
"chars": 2328,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/ASTSequence.java",
"chars": 4434,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/ASTShiftLeft.java",
"chars": 1483,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/ASTShiftRight.java",
"chars": 1488,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/ASTStaticField.java",
"chars": 5020,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/ASTStaticMethod.java",
"chars": 8141,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/ASTSubtract.java",
"chars": 1480,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/ASTTest.java",
"chars": 4427,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/ASTThisVarRef.java",
"chars": 1860,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/ASTUnsignedShiftRight.java",
"chars": 2474,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/ASTVarRef.java",
"chars": 3179,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/ASTXor.java",
"chars": 1587,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/AbstractMemberAccess.java",
"chars": 1236,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/AccessibleObjectHandler.java",
"chars": 1411,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/ArrayElementsAccessor.java",
"chars": 1490,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/ArrayPropertyAccessor.java",
"chars": 7211,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/BooleanExpression.java",
"chars": 2457,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/ClassCacheInspector.java",
"chars": 1299,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/ClassResolver.java",
"chars": 1089,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/CollectionElementsAccessor.java",
"chars": 1179,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/ComparisonExpression.java",
"chars": 2988,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/DefaultClassResolver.java",
"chars": 2334,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/DefaultTypeConverter.java",
"chars": 1414,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/DynamicSubscript.java",
"chars": 2161,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/ElementsAccessor.java",
"chars": 1858,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/EnumerationElementsAccessor.java",
"chars": 1194,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/EnumerationIterator.java",
"chars": 1436,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/EnumerationPropertyAccessor.java",
"chars": 2122,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/Evaluation.java",
"chars": 12621,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/EvaluationPool.java",
"chars": 2123,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/ExpressionNode.java",
"chars": 4971,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/ExpressionSyntaxException.java",
"chars": 1185,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/InappropriateExpressionException.java",
"chars": 1294,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/IteratorElementsAccessor.java",
"chars": 1203,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/IteratorEnumeration.java",
"chars": 1267,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/IteratorPropertyAccessor.java",
"chars": 1979,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/JJTOgnlParserState.java",
"chars": 3695,
"preview": "/* Generated By:JavaCC: Do not edit this line. JJTOgnlParserState.java Version 4.1d1 */\npackage ognl;\n\npublic class JJTO"
},
{
"path": "ognl/src/main/java/ognl/JavaSource.java",
"chars": 2187,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/ListPropertyAccessor.java",
"chars": 9690,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/MapElementsAccessor.java",
"chars": 1180,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/MapPropertyAccessor.java",
"chars": 4962,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/MemberAccess.java",
"chars": 2850,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/MethodAccessor.java",
"chars": 2259,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/MethodFailedException.java",
"chars": 1329,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/NoSuchPropertyException.java",
"chars": 1904,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/Node.java",
"chars": 3903,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/NodeType.java",
"chars": 1309,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/NullHandler.java",
"chars": 2039,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/NumberElementsAccessor.java",
"chars": 1689,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/NumericCasts.java",
"chars": 1541,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/NumericDefaults.java",
"chars": 1693,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/NumericExpression.java",
"chars": 3701,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/NumericLiterals.java",
"chars": 1712,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/NumericTypes.java",
"chars": 2292,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/NumericValues.java",
"chars": 1852,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/ObjectElementsAccessor.java",
"chars": 1578,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/ObjectIndexedPropertyDescriptor.java",
"chars": 4351,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/ObjectMethodAccessor.java",
"chars": 2028,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/ObjectNullHandler.java",
"chars": 1278,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/ObjectPropertyAccessor.java",
"chars": 10270,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/Ognl.java",
"chars": 41455,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/OgnlCache.java",
"chars": 11070,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/OgnlContext.java",
"chars": 24877,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/OgnlException.java",
"chars": 3633,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/OgnlOps.java",
"chars": 35415,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/OgnlParserTreeConstants.java",
"chars": 2824,
"preview": "/* Generated By:JavaCC: Do not edit this line. OgnlParserTreeConstants.java Version 4.1d1 */\npackage ognl;\n\npublic inter"
},
{
"path": "ognl/src/main/java/ognl/OgnlRuntime.java",
"chars": 120653,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/PrimitiveDefaults.java",
"chars": 1900,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/PrimitiveTypes.java",
"chars": 1501,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/PrimitiveWrapperClasses.java",
"chars": 2299,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/PropertyAccessor.java",
"chars": 4059,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/SetPropertyAccessor.java",
"chars": 1900,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/SimpleNode.java",
"chars": 12341,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/TypeConverter.java",
"chars": 1940,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/enhance/ContextClassLoader.java",
"chars": 1418,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/enhance/EnhancedClassLoader.java",
"chars": 1175,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/enhance/ExpressionAccessor.java",
"chars": 2267,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/enhance/ExpressionCompiler.java",
"chars": 27171,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/enhance/LocalReference.java",
"chars": 1478,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/enhance/OgnlExpressionCompiler.java",
"chars": 6344,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/enhance/OgnlLocalReference.java",
"chars": 2529,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/enhance/OrderedReturn.java",
"chars": 1595,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/enhance/UnsupportedCompilationException.java",
"chars": 1531,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/internal/Cache.java",
"chars": 974,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/internal/CacheException.java",
"chars": 1044,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/internal/CacheFactory.java",
"chars": 1162,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/internal/ClassCache.java",
"chars": 1076,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/internal/ClassCacheHandler.java",
"chars": 2634,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/internal/HashMapCache.java",
"chars": 2239,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/internal/HashMapCacheFactory.java",
"chars": 1376,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/internal/HashMapClassCache.java",
"chars": 1463,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/internal/entry/CacheEntry.java",
"chars": 870,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/internal/entry/CacheEntryFactory.java",
"chars": 966,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/internal/entry/ClassCacheEntryFactory.java",
"chars": 924,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/internal/entry/DeclaredMethodCacheEntry.java",
"chars": 1790,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/internal/entry/DeclaredMethodCacheEntryFactory.java",
"chars": 1388,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/internal/entry/FieldCacheEntryFactory.java",
"chars": 1393,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/internal/entry/GenericMethodParameterTypeCacheEntry.java",
"chars": 1691,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/internal/entry/GenericMethodParameterTypeFactory.java",
"chars": 3316,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/internal/entry/MethodAccessCacheEntryFactory.java",
"chars": 1852,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/internal/entry/MethodAccessEntryValue.java",
"chars": 1347,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/internal/entry/MethodCacheEntry.java",
"chars": 1434,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/internal/entry/MethodCacheEntryFactory.java",
"chars": 2306,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/internal/entry/PropertyDescriptorCacheEntryFactory.java",
"chars": 7898,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/main/java/ognl/package.html",
"chars": 1676,
"preview": "<html>\n<!--\n/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. "
},
{
"path": "ognl/src/main/javacc/ognl.jj",
"chars": 75723,
"preview": "/*@bgen(jjtree) Generated By:JJTree: Do not edit this line. src/java/ognl/ognl.jj */\n/*@egen*/\n\n/*\n * Licensed to the Ap"
},
{
"path": "ognl/src/main/jjtree/ognl.jjt",
"chars": 17850,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/test/java/ClassInDefaultPackage.java",
"chars": 100,
"preview": "@SuppressWarnings(\"unused\")\nclass ClassInDefaultPackage {\n public static final int CONST = 99;\n}\n"
},
{
"path": "ognl/src/test/java/com/sun/test/AnotherInternalClass.java",
"chars": 1065,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/test/java/ognl/DefaultMemberAccess.java",
"chars": 4957,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/test/java/ognl/ExcludedObjectMemberAccess.java",
"chars": 1787,
"preview": "/*\n * Copyright 2020 OGNL Contributors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may "
},
{
"path": "ognl/src/test/java/ognl/ObjectPropertyAccessorTest.java",
"chars": 5516,
"preview": "/*\n * Copyright 2020 OGNL Contributors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may "
},
{
"path": "ognl/src/test/java/ognl/OgnlContextTest.java",
"chars": 7532,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/test/java/ognl/OgnlRuntimeAccessibilityTest.java",
"chars": 5457,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/test/java/ognl/OgnlRuntimeMethodsTest.java",
"chars": 22815,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/test/java/ognl/OgnlRuntimeTest.java",
"chars": 16912,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/test/java/ognl/test/ASTChainTest.java",
"chars": 1497,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/test/java/ognl/test/ASTMethodTest.java",
"chars": 4480,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/test/java/ognl/test/ASTPropertyTest.java",
"chars": 11079,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/test/java/ognl/test/ASTSequenceTest.java",
"chars": 1645,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/test/java/ognl/test/ArithmeticAndLogicalOperatorsOnEnumsTest.java",
"chars": 8364,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/test/java/ognl/test/ArithmeticAndLogicalOperatorsTest.java",
"chars": 11781,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/test/java/ognl/test/ArrayCreationTest.java",
"chars": 4085,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/test/java/ognl/test/ArrayElementsTest.java",
"chars": 3762,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/test/java/ognl/test/ChainTest.java",
"chars": 3220,
"preview": "/*\n * Copyright 2020 OGNL Contributors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may "
},
{
"path": "ognl/src/test/java/ognl/test/ClassMethodTest.java",
"chars": 2840,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/test/java/ognl/test/CollectionDirectPropertyTest.java",
"chars": 3758,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/test/java/ognl/test/CompilingPropertyAccessor.java",
"chars": 9000,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/test/java/ognl/test/ConstantTest.java",
"chars": 5981,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/test/java/ognl/test/ConstantTreeTest.java",
"chars": 2986,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/test/java/ognl/test/ContextRootPreservationTest.java",
"chars": 7954,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/test/java/ognl/test/ContextVariableTest.java",
"chars": 1958,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/test/java/ognl/test/CorrectedObjectNullHandler.java",
"chars": 1550,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/test/java/ognl/test/DefaultClassResolverTest.java",
"chars": 2672,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
},
{
"path": "ognl/src/test/java/ognl/test/DualModeEvaluationTest.java",
"chars": 60374,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOT"
}
]
// ... and 136 more files (download for full content)
About this extraction
This page contains the full source code of the jkuhnert/ognl GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 336 files (1.7 MB), approximately 401.6k tokens, and a symbol index with 3143 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.