View Javadoc

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  }