Annotation 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
Application wide conversion:
The conversion rules will be assembled within the struts-conversion.properties
or
xwork-conversion.properties
(deprecated) 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 or bean name of the TypeConverter to be used as converter. | |
converterClass | either this or value | XWorkBasicConverter | The class 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) public void setConvertInt( String convertInt ) { this.convertInt = convertInt; } @TypeConversion(converterClass = XWorkBasicConverter.class) public void setConvertDouble( String convertDouble ) { this.convertDouble = convertDouble; } @TypeConversion(rule = ConversionRule.COLLECTION, converterClass = String.class) public void setUsers( List users ) { this.users = users; } @TypeConversion(rule = ConversionRule.MAP, converterClass = BigInteger.class) public void setKeyValues( HashMap keyValues ) { this.keyValues = keyValues; } @TypeConversion(type = ConversionType.APPLICATION, property = "java.util.Date", converterClass = XWorkBasicConverter.class) public String execute() throws Exception { return SUCCESS; } }
- Version:
- $Id$
- Author:
- Rainer Hermanns
-
Optional Element Summary
Optional ElementsModifier and TypeOptional ElementDescriptionThe class or bean name of the TypeConverter to be used as converter.Class<?>
The class of the TypeConverter to be used as converter.The optional key name used within TYPE level annotations.The ConversionRule can be a PROPERTY, KEY, KEY_PROPERTY, ELEMENT, COLLECTION (deprecated) or a MAP.The ConversionType can be either APPLICATION or CLASS.If used with ConversionRule.KEY_PROPERTY specify a value here! Note: If you use ConversionType.APPLICATION, you can not set a value!
-
Element Details
-
key
String keyThe optional key name used within TYPE level annotations. Defaults to the property name.- Returns:
- key
- Default:
- ""
-
type
ConversionType typeThe ConversionType can be either APPLICATION or CLASS. Defaults to CLASS. Note: If you use ConversionType.APPLICATION, you can not set a value!- Returns:
- the conversion type
- Default:
- CLASS
-
rule
ConversionRule ruleThe ConversionRule can be a PROPERTY, KEY, KEY_PROPERTY, ELEMENT, COLLECTION (deprecated) or a MAP. Note: Collection and Map conversion rules can be determined via org.apache.struts2.util.DefaultObjectTypeDeterminer.- Returns:
- the conversion rule
- See Also:
- Default:
- PROPERTY
-
converter
String converterThe class or bean name of the TypeConverter to be used as converter. Note: This can not be used with ConversionRule.KEY_PROPERTY!- Returns:
- class or bean name of the TypeConverter to be used as converter
- Default:
- ""
-
converterClass
Class<?> converterClassThe class of the TypeConverter to be used as converter. Note: This can not be used with ConversionRule.KEY_PROPERTY!- Returns:
- class of the TypeConverter to be used as converter
- Default:
- org.apache.struts2.conversion.impl.XWorkBasicConverter.class
-
value
String valueIf used with ConversionRule.KEY_PROPERTY specify a value here! Note: If you use ConversionType.APPLICATION, you can not set a value!- Returns:
- value
- Default:
- ""
-