com.mysema.query.alias
Class PropertyAccessInvocationHandler

java.lang.Object
  extended by com.mysema.query.alias.PropertyAccessInvocationHandler
All Implemented Interfaces:
net.sf.cglib.proxy.Callback, net.sf.cglib.proxy.MethodInterceptor

public class PropertyAccessInvocationHandler
extends Object
implements net.sf.cglib.proxy.MethodInterceptor

PropertyAccessInvocationHandler is the main InvocationHandler class for the CGLIB alias proxies

Author:
tiwe

Constructor Summary
PropertyAccessInvocationHandler(Expression<?> host, AliasFactory aliasFactory, PathFactory pathFactory, TypeSystem typeSystem)
           
 
Method Summary
protected  PathMetadata<Integer> createListAccessPath(Path<?> path, Integer index)
           
protected  PathMetadata<?> createMapAccessPath(Path<?> path, Object key)
           
protected  PathMetadata<String> createPropertyPath(Path<?> path, String propertyName)
           
 Object intercept(Object proxy, Method method, Object[] args, net.sf.cglib.proxy.MethodProxy methodProxy)
           
protected
<T> T
newInstance(Class<T> type, Type genericType, Object parent, Object propKey, PathMetadata<?> metadata)
           
protected  String propertyNameForGetter(Method method)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PropertyAccessInvocationHandler

public PropertyAccessInvocationHandler(Expression<?> host,
                                       AliasFactory aliasFactory,
                                       PathFactory pathFactory,
                                       TypeSystem typeSystem)
Method Detail

intercept

public Object intercept(Object proxy,
                        Method method,
                        Object[] args,
                        net.sf.cglib.proxy.MethodProxy methodProxy)
                 throws Throwable
Specified by:
intercept in interface net.sf.cglib.proxy.MethodInterceptor
Throws:
Throwable

newInstance

@Nullable
protected <T> T newInstance(Class<T> type,
                                     Type genericType,
                                     Object parent,
                                     Object propKey,
                                     PathMetadata<?> metadata)

propertyNameForGetter

protected String propertyNameForGetter(Method method)

createPropertyPath

protected PathMetadata<String> createPropertyPath(Path<?> path,
                                                  String propertyName)

createListAccessPath

protected PathMetadata<Integer> createListAccessPath(Path<?> path,
                                                     Integer index)

createMapAccessPath

protected PathMetadata<?> createMapAccessPath(Path<?> path,
                                              Object key)


Copyright © 2007-2011 Mysema Ltd. All Rights Reserved.