|
@@ -448,8 +448,8 @@ public abstract class ResolveModel extends SerializableCode {
|
|
|
*
|
|
*
|
|
|
* It will match if the object implements ResolveContext
|
|
* It will match if the object implements ResolveContext
|
|
|
*
|
|
*
|
|
|
- * Please note that it is impossible to call any method declared by ResolveContext.
|
|
|
|
|
- * Every field will be accessed through context map.
|
|
|
|
|
|
|
+ * Every field will be accessed through context map first.
|
|
|
|
|
+ * If map does not contain field, we use BEAN model to resolve it.
|
|
|
*
|
|
*
|
|
|
* ResolveContext properties are handled in specific way
|
|
* ResolveContext properties are handled in specific way
|
|
|
* if their type is ResolveFormat or ResolvePattern.
|
|
* if their type is ResolveFormat or ResolvePattern.
|
|
@@ -469,6 +469,11 @@ public abstract class ResolveModel extends SerializableCode {
|
|
|
@Override
|
|
@Override
|
|
|
public Object get(ResolveStatus status, Object that, String name) {
|
|
public Object get(ResolveStatus status, Object that, String name) {
|
|
|
Object result = ((ResolveContext) that).getResolveMap().get(name);
|
|
Object result = ((ResolveContext) that).getResolveMap().get(name);
|
|
|
|
|
+
|
|
|
|
|
+ if(result == null && BEAN.matches(that, name)) {
|
|
|
|
|
+ result = BEAN.get(status, that, name);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
if(result != null) {
|
|
if(result != null) {
|
|
|
if(result instanceof ResolvePattern) {
|
|
if(result instanceof ResolvePattern) {
|
|
|
ResolvePattern pattern = (ResolvePattern) result;
|
|
ResolvePattern pattern = (ResolvePattern) result;
|