1 package org.cateproject.view.json.processor;
2
3 import java.util.Set;
4
5 import net.sf.cglib.proxy.Enhancer;
6 import net.sf.json.processors.JsonBeanProcessorMatcher;
7
8 import org.apache.commons.logging.Log;
9 import org.apache.commons.logging.LogFactory;
10
11 public class CGLibEnhancedBeanProcessorMatcher extends JsonBeanProcessorMatcher {
12
13 private static Log log = LogFactory.getLog(CGLibEnhancedBeanProcessorMatcher.class);
14
15 @Override
16 public Object getMatch(Class target, Set set) {
17 if (Enhancer.isEnhanced(target)) {
18 log.debug("Found enhanced object of class " + target.getClass() + " returning " + target.getSuperclass());
19 return DEFAULT.getMatch(target.getSuperclass(), set);
20 }
21 return DEFAULT.getMatch(target, set);
22 }
23
24 }