net.sf.mmm.util.pojo.descriptor.impl.accessor
Class PojoPropertyAccessorProxyGetByKey

java.lang.Object
  extended by net.sf.mmm.util.pojo.descriptor.base.accessor.AbstractPojoPropertyAccessor
      extended by net.sf.mmm.util.pojo.descriptor.base.accessor.AbstractPojoPropertyAccessorProxy
          extended by net.sf.mmm.util.pojo.descriptor.impl.accessor.PojoPropertyAccessorProxyGetByKey
All Implemented Interfaces:
PojoPropertyAccessor, PojoPropertyAccessorNonArg, PojoAttributeName

public class PojoPropertyAccessorProxyGetByKey
extends AbstractPojoPropertyAccessorProxy
implements PojoPropertyAccessorNonArg

This is an implementation of the PojoPropertyAccessorNonArg acting as as a getter that delegates to a mapped-getter using a fixed key.

Since:
1.1.0
Author:
Joerg Hohwiller (hohwille at users.sourceforge.net)

Field Summary
private  PojoPropertyAccessorOneArg delegate
           
private  Object key
           
 
Constructor Summary
PojoPropertyAccessorProxyGetByKey(PojoPropertyAccessorOneArg delegate, Object key)
          The constructor.
 
Method Summary
protected  PojoPropertyAccessorOneArg getDelegate()
          This method gets the accessor this proxy delegates to.
 PojoPropertyAccessorNonArgMode getMode()
          This method gets the mode of this accessor.
 Object invoke(Object pojoInstance)
          This method invokes the according property-method of pojoInstance with the given arguments.
 
Methods inherited from class net.sf.mmm.util.pojo.descriptor.base.accessor.AbstractPojoPropertyAccessorProxy
getAccessibleObject, getDeclaringClass, getModifiers, getName, getPropertyClass, getPropertyType, getReturnClass, getReturnType
 
Methods inherited from class net.sf.mmm.util.pojo.descriptor.base.accessor.AbstractPojoPropertyAccessor
toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface net.sf.mmm.util.pojo.descriptor.api.accessor.PojoPropertyAccessor
getAccessibleObject, getDeclaringClass, getModifiers, getPropertyClass, getPropertyType, getReturnClass, getReturnType
 
Methods inherited from interface net.sf.mmm.util.pojo.descriptor.api.attribute.PojoAttributeName
getName
 

Field Detail

delegate

private final PojoPropertyAccessorOneArg delegate
See Also:
getDelegate()

key

private final Object key
See Also:
invoke(Object)
Constructor Detail

PojoPropertyAccessorProxyGetByKey

public PojoPropertyAccessorProxyGetByKey(PojoPropertyAccessorOneArg delegate,
                                         Object key)
The constructor.

Parameters:
delegate - is the delegate.
key - is the mapped key to use.
Method Detail

getMode

public PojoPropertyAccessorNonArgMode getMode()
This method gets the mode of this accessor.

Specified by:
getMode in interface PojoPropertyAccessor
Specified by:
getMode in interface PojoPropertyAccessorNonArg
Overrides:
getMode in class AbstractPojoPropertyAccessorProxy
Returns:
the access mode.

getDelegate

protected PojoPropertyAccessorOneArg getDelegate()
This method gets the accessor this proxy delegates to.

Specified by:
getDelegate in class AbstractPojoPropertyAccessorProxy
Returns:
the delegate.

invoke

public Object invoke(Object pojoInstance)
              throws ReflectionException
This method invokes the according property-method of pojoInstance with the given arguments.

Specified by:
invoke in interface PojoPropertyAccessorNonArg
Parameters:
pojoInstance - is the instance of the POJO where to access the property. Has to be an instance of the type from where this accessor was created for.
Returns:
the result of the invocation. It will be null if void (e.g. initialize method). For a regular getter this will be the value of the property.
Throws:
ReflectionException - if the underlying accessor caused an error during reflection.


Copyright © 2001-2010 mmm-Team. All Rights Reserved.