net.israfil.foundation.dynamic
Class DynamicallyAccessibleObject

java.lang.Object
  extended by net.israfil.foundation.dynamic.DynamicObject
      extended by net.israfil.foundation.dynamic.DynamicallyAccessibleObject
All Implemented Interfaces:
Dynamic, DynamicallyAccessible
Direct Known Subclasses:
DynamicallyMutableObject

public abstract class DynamicallyAccessibleObject
extends DynamicObject
implements DynamicallyAccessible

An implementation of the DynamicallyAccessible interface with the appropriate infrastructure for retrieving field data, via accessors if such are implemented, or directly from the field where not.

Version:
$Revision: 76 $
Author:
Christian Edward Gruber , Latest: $Author: cgruber $

Field Summary
protected static java.lang.String[] accessPrefixes
           
 
Constructor Summary
DynamicallyAccessibleObject()
           
 
Method Summary
protected static java.lang.String _getAccessorSelector(java.lang.Object receiver, java.lang.String attributeName)
           
static java.lang.String camel(java.lang.String string)
          Deprecated. This method has been moved to net.israfil.foundation.core.Strings.camel(String)
static java.lang.Object get(java.lang.Object receiver, java.lang.String attributeName)
           
 java.lang.Object get(java.lang.String attributeName)
           
protected  java.lang.String getAccessorSelector(java.lang.String attributeName)
          Deprecated. This method is deprecated in favour of the static _getAccessorSelector(receiver,attribute)
static boolean hasAccessor(java.lang.Object receiver, java.lang.String attributeName)
           
 boolean hasAccessor(java.lang.String attributeName)
           
static boolean hasAttribute(java.lang.Object receiver, java.lang.String attributeName)
           
 boolean hasAttribute(java.lang.String attributeName)
          Determines whether an attribute of the given name exists on this object's definition, or if not, if there is a javabeans-style accessor named appropriately for that attribute.
 
Methods inherited from class net.israfil.foundation.dynamic.DynamicObject
getMethodForSelector, perform, respondsTo
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface net.israfil.foundation.dynamic.Dynamic
perform, respondsTo
 

Field Detail

accessPrefixes

protected static final java.lang.String[] accessPrefixes
Constructor Detail

DynamicallyAccessibleObject

public DynamicallyAccessibleObject()
Method Detail

get

public java.lang.Object get(java.lang.String attributeName)
Specified by:
get in interface DynamicallyAccessible

get

public static java.lang.Object get(java.lang.Object receiver,
                                   java.lang.String attributeName)

hasAttribute

public boolean hasAttribute(java.lang.String attributeName)
Determines whether an attribute of the given name exists on this object's definition, or if not, if there is a javabeans-style accessor named appropriately for that attribute. Put another way, determines whether a get() call would work against this attribute name. The existing implementation is inefficient, but simple to maintain.

Specified by:
hasAttribute in interface DynamicallyAccessible

hasAttribute

public static boolean hasAttribute(java.lang.Object receiver,
                                   java.lang.String attributeName)

getAccessorSelector

protected java.lang.String getAccessorSelector(java.lang.String attributeName)
Deprecated. This method is deprecated in favour of the static _getAccessorSelector(receiver,attribute)


_getAccessorSelector

protected static java.lang.String _getAccessorSelector(java.lang.Object receiver,
                                                       java.lang.String attributeName)

hasAccessor

public boolean hasAccessor(java.lang.String attributeName)
Specified by:
hasAccessor in interface DynamicallyAccessible

hasAccessor

public static boolean hasAccessor(java.lang.Object receiver,
                                  java.lang.String attributeName)

camel

public static java.lang.String camel(java.lang.String string)
Deprecated. This method has been moved to net.israfil.foundation.core.Strings.camel(String)



Copyright © 2003-2008. All Rights Reserved.