private static final class FieldBasedObjectInterpolator.InterpolateObjectAction
extends java.lang.Object
implements java.security.PrivilegedAction
| Modifier and Type | Field and Description |
|---|---|
private java.util.Set |
blacklistedFieldNames |
private java.lang.String[] |
blacklistedPackagePrefixes |
private java.util.LinkedList<FieldBasedObjectInterpolator.InterpolationTarget> |
interpolationTargets |
private BasicInterpolator |
interpolator |
private RecursionInterceptor |
recursionInterceptor |
private java.util.List<ObjectInterpolationWarning> |
warningCollector |
| Constructor and Description |
|---|
InterpolateObjectAction(java.lang.Object target,
BasicInterpolator interpolator,
RecursionInterceptor recursionInterceptor,
java.util.Set blacklistedFieldNames,
java.util.Set blacklistedPackagePrefixes,
java.util.List<ObjectInterpolationWarning> warningCollector)
Setup an object graph traversal for the given target starting point.
|
| Modifier and Type | Method and Description |
|---|---|
private void |
evaluateArray(java.lang.Object target,
java.lang.String basePath)
Traverse the elements of an array, and interpolate any qualified objects or add them to the traversal queue.
|
private boolean |
interpolateCollection(java.lang.Object obj,
java.lang.String basePath,
java.lang.reflect.Field field) |
private void |
interpolateMap(java.lang.Object obj,
java.lang.String basePath,
java.lang.reflect.Field field) |
private void |
interpolateObject(java.lang.Object obj,
java.lang.String basePath,
java.lang.reflect.Field field) |
private void |
interpolateString(java.lang.Object obj,
java.lang.reflect.Field field) |
private boolean |
isQualifiedForInterpolation(java.lang.Class cls)
Using the package-prefix blacklist, determine whether the given class is qualified for interpolation, or
whether it should be ignored.
|
private boolean |
isQualifiedForInterpolation(java.lang.reflect.Field field,
java.lang.Class fieldType)
Using the field-name blacklist and the primitive-field cache, determine whether the given field in the given
class is qualified for interpolation.
|
java.lang.Object |
run()
As long as the traversal queue is non-empty, traverse the next object in the queue.
|
private void |
traverseObjectWithParents(java.lang.Class cls,
FieldBasedObjectInterpolator.InterpolationTarget target)
Traverse the given object, interpolating any String fields and adding non-primitive field values to the
interpolation queue for later processing.
|
private final java.util.LinkedList<FieldBasedObjectInterpolator.InterpolationTarget> interpolationTargets
private final BasicInterpolator interpolator
private final java.util.Set blacklistedFieldNames
private final java.lang.String[] blacklistedPackagePrefixes
private final java.util.List<ObjectInterpolationWarning> warningCollector
private final RecursionInterceptor recursionInterceptor
public InterpolateObjectAction(java.lang.Object target,
BasicInterpolator interpolator,
RecursionInterceptor recursionInterceptor,
java.util.Set blacklistedFieldNames,
java.util.Set blacklistedPackagePrefixes,
java.util.List<ObjectInterpolationWarning> warningCollector)
public java.lang.Object run()
run in interface java.security.PrivilegedActionprivate void traverseObjectWithParents(java.lang.Class cls,
FieldBasedObjectInterpolator.InterpolationTarget target)
throws InterpolationException
InterpolationExceptionprivate void interpolateObject(java.lang.Object obj,
java.lang.String basePath,
java.lang.reflect.Field field)
throws java.lang.IllegalAccessException,
InterpolationException
java.lang.IllegalAccessExceptionInterpolationExceptionprivate void interpolateMap(java.lang.Object obj,
java.lang.String basePath,
java.lang.reflect.Field field)
throws java.lang.IllegalAccessException,
InterpolationException
java.lang.IllegalAccessExceptionInterpolationExceptionprivate boolean interpolateCollection(java.lang.Object obj,
java.lang.String basePath,
java.lang.reflect.Field field)
throws java.lang.IllegalAccessException,
InterpolationException
java.lang.IllegalAccessExceptionInterpolationExceptionprivate void interpolateString(java.lang.Object obj,
java.lang.reflect.Field field)
throws java.lang.IllegalAccessException,
InterpolationException
java.lang.IllegalAccessExceptionInterpolationExceptionprivate boolean isQualifiedForInterpolation(java.lang.Class cls)
private boolean isQualifiedForInterpolation(java.lang.reflect.Field field,
java.lang.Class fieldType)
private void evaluateArray(java.lang.Object target,
java.lang.String basePath)
throws InterpolationException
InterpolationException