|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: REQUIRED | OPTIONAL | DETAIL: ELEMENT | |||||||||
@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
| 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. |
@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;
}
}
| 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! |
public abstract String key
public abstract ConversionType type
public abstract ConversionRule rule
DefaultObjectTypeDeterminerpublic abstract String converter
public abstract String value
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: REQUIRED | OPTIONAL | DETAIL: ELEMENT | |||||||||