Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: REQUIRED | OPTIONAL | DETAIL: ELEMENT

## com.opensymphony.xwork2.conversion.annotations
Annotation Type TypeConversion

    @Target(value=METHOD)
    @Retention(value=RUNTIME)
    public @interface TypeConversion

This annotation is used for class and application wide conversion rules.

Class wide conversion:
The conversion rules will be assembled in a file called `XXXAction-conversion.properties` within the same package as the related action class. Set type to: `type = ConversionType.CLASS`

Allication wide conversion:
The conversion rules will be assembled within the `xwork-conversion.properties` file within the classpath root. Set type to: `type = ConversionType.APPLICATION`

Annotation usage: The TypeConversion annotation can be applied at property and method level.

Annotation parameters:

Parameter | Required | Default | Description
--- | --- | --- | ---
key | no | The annotated property/key name | The optional property name mostly used within TYPE level annotations.
type | no | ConversionType.CLASS | Enum value of ConversionType. Determines whether the conversion should be applied at application or class level.
rule | no | ConversionRule.PROPERTY | Enum value of ConversionRule. The ConversionRule can be a property, a Collection or a Map.
converter | either this or value |  | The class name of the TypeConverter to be used as converter.
value | either converter or this |  | The value to set for ConversionRule.KEY_PROPERTY.

Example code:

     @Conversion()
     public class ConversionAction implements Action {

       private String convertInt;

       private String convertDouble;
       private List users = null;

       private HashMap keyValues = null;

       @TypeConversion(type = ConversionType.APPLICATION, converter = "com.opensymphony.xwork2.util.XWorkBasicConverter")
       public void setConvertInt( String convertInt ) {
           this.convertInt = convertInt;
       }

       @TypeConversion(converter = "com.opensymphony.xwork2.util.XWorkBasicConverter")
       public void setConvertDouble( String convertDouble ) {
           this.convertDouble = convertDouble;
       }

       @TypeConversion(rule = ConversionRule.COLLECTION, converter = "java.util.String")
       public void setUsers( List users ) {
           this.users = users;
       }

       @TypeConversion(rule = ConversionRule.MAP, converter = "java.math.BigInteger")
       public void setKeyValues( HashMap keyValues ) {
           this.keyValues = keyValues;
       }

       @TypeConversion(type = ConversionType.APPLICATION, property = "java.util.Date", converter = "com.opensymphony.xwork2.util.XWorkBasicConverter")
       public String execute() throws Exception {
           return SUCCESS;
       }
     }

Version:
  $Id: TypeConversion.java 1063 2006-07-10 00:30:29Z mrdon $
Author:
  Rainer Hermanns

Optional Element Summary
`String` | `converter` The class of the TypeConverter to be used as converter.
`String` | `key` The optional key name used within TYPE level annotations.
`ConversionRule` | `rule` The ConversionRule can be a PROPERTY, KEY, KEY_PROPERTY, ELEMENT, COLLECTION (deprecated) or a MAP.
`ConversionType` | `type` The ConversionType can be either APPLICATION or CLASS.
`String` | `value` If used with ConversionRule.KEY_PROPERTY specify a value here! Note: If you use ConversionType.APPLICATION, you can not set a value!

### key

    public abstract String key

  The optional key name used within TYPE level annotations. Defaults to the property name.

  Default:
    ""

### type

    public abstract ConversionType type

  The ConversionType can be either APPLICATION or CLASS. Defaults to CLASS. Note: If you use ConversionType.APPLICATION, you can not set a value!

  Default:
    CLASS

### rule

    public abstract ConversionRule rule

  The ConversionRule can be a PROPERTY, KEY, KEY_PROPERTY, ELEMENT, COLLECTION (deprecated) or a MAP. Note: Collection and Map vonversion rules can be determined via com.opensymphony.xwork2.util.GenericsObjectTypeDeterminer.

  See Also:
    `GenericsObjectTypeDeterminer`
  Default:
    PROPERTY

### converter

    public abstract String converter

  The class of the TypeConverter to be used as converter. Note: This can not be used with ConversionRule.KEY_PROPERTY!

  Default:
    ""

### value

    public abstract String value

  If used with ConversionRule.KEY_PROPERTY specify a value here! Note: If you use ConversionType.APPLICATION, you can not set a value!

  Default:
    ""

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: REQUIRED | OPTIONAL | DETAIL: ELEMENT

Copyright © 2000-2007 Apache Software Foundation. All Rights Reserved.