| 
deegree 2.1 (2007/11/08 09:57 build-328-official) | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.deegree.model.csct.resources.ClassChanger
public abstract class ClassChanger
Transforme un objet d'une classe vers une autre. Cette classe sert principalement � convertir en
 Number des objets d'une autre classe, par exemple Date. Une m�thode statique,
 toNumber(java.lang.Comparable), se charge d'effectuer ce genre de conversion en prenant en compte toutes les
 classes qui auront �t� d�clar�es � ClassChanger. 
 
 Pour d�clarer une nouvelle classe, on peut proc�der comme suit. L'exemple ci-dessous inscrit une
 classe qui convertira des objets Date en objets Long. Notez qu'il ne s'agit que
 d'un exemple. Ce convertisseur n'a pas besoin d'�tre d�clar� car ClassChanger
 comprend d�j� les objets Date par d�faut.
 
 
 
 ClassChanger.register( new ClassChanger( Date.class, Long.class ) {
     protected Number convert( final Comparable o ) {
         return new Long( ( (Date) o ).getTime() );
     }
 
     protected Comparable inverseConvert( final Number number ) {
         return new Date( number.longValue() );
     }
 } );
 
 
 
| Constructor Summary | |
|---|---|
protected  | 
ClassChanger(Class source,
                         Class target)
Construct a new class changer.  | 
| Method Summary | |
|---|---|
protected abstract  Number | 
convert(Comparable object)
Returns the numerical value for an object.  | 
static Class | 
getTransformedClass(Class source)
Returns the target class for the specified source class, if a suitable transformation is known.  | 
protected abstract  Comparable | 
inverseConvert(Number value)
Returns an instance of the converted classe from a numerical value.  | 
static void | 
register(ClassChanger converter)
Inscrit un nouvel objet ClassChanger. | 
static Comparable | 
toComparable(Number value,
                         Class classe)
Wrap the specified number as an instance of the specified classe.  | 
static Number | 
toNumber(Comparable object)
Returns the numeric value for the specified object.  | 
 String | 
toString()
Returns a string representation for this class changer.  | 
| Methods inherited from class java.lang.Object | 
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait | 
| Constructor Detail | 
|---|
protected ClassChanger(Class source,
                       Class target)
source - Parent class for convert(java.lang.Comparable)'s input objects.target - Parent class for convert(java.lang.Comparable)'s output objects.| Method Detail | 
|---|
protected abstract Number convert(Comparable object)
                           throws ClassCastException
object - Object to convert (may be null).
ClassCastException - if object is not of the expected class.protected abstract Comparable inverseConvert(Number value)
value - The value to wrap.
public String toString()
toString in class Object
public static void register(ClassChanger converter)
                     throws IllegalStateException
ClassChanger. Les objets ClassChanger
 inscrits ici seront pris en compte par la m�thode toNumber(java.lang.Comparable). Si un objet
 ClassChanger existait d�j� pour une m�me classe, une exception sera lanc�e.
 Cette sp�cification est justifi�e par le fait qu'on enregistre souvent un objet
 ClassChanger lors de l'initialisation d'une classe qui vient d'�tre charg�e
 pour la premi�re fois. En interdisant tout changements aux objets ClassChanger
 apr�s l'initialisation d'une classe, on �vite que la fa�on de convertir des objets en nombres
 r�els ne change au cours d'une ex�cution de la machine virtuelle. Notez que si
 converter ne peut pas prendre en charge une m�me classe que celle d'un autre
 objet ClassChanger, il peut toutefois prendre en charge une classe parente ou
 une classe fille.
converter - Convertisseur � ajouter � la liste des convertisseurs d�j� existants.
IllegalStateException - si un autre objet ClassChanger prennait d�j� en charge la m�me
             classe (l'argument classe d�clar� au constructeur) que
             converter.public static Class getTransformedClass(Class source)
Comparable subclass that will be specified as input to
 convert(java.lang.Comparable). The target class is a Number subclass that wimm be returned as
 output by convert(java.lang.Comparable). If no suitable mapping is found, then source is
 returned.
public static Number toNumber(Comparable object)
                       throws ClassNotFoundException
toNumber(new Date()) returns the Date.getTime() value of the
 specified date object as a Long.
object - Object to convert (may be null).
null if object was null; otherwise object
         if the supplied object is already an instance of Number; otherwise a new
         number with the numerical value.
ClassNotFoundException - if object is not an instance of a registered class.
public static Comparable toComparable(Number value,
                                      Class classe)
                               throws ClassNotFoundException
toComparable(Date.class, new Long(time)) is equivalent to
 new Date(time). There is of course no point to use this method if the
 destination class is know at compile time. This method is useful for creating instance of
 classes choosen dynamically at run time.
value - The numerical value (may be null).classe - The desired classe for return value.
ClassNotFoundException - if classe is not a registered class.
  | 
deegree 2.1 (2007/11/08 09:57 build-328-official) | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
an open source project founded by lat/lon, Bonn, Germany.
					For more information visit: http://deegree.sourceforge.net