Annotation Type UrlEncoding
@Documented
@Target({TYPE,FIELD,METHOD})
@Retention(RUNTIME)
@Inherited
@Repeatable(Array.class)
@ContextApply(Apply.class)
public @interface UrlEncoding
Annotation that can be applied to classes, fields, and methods to tweak how they are handled by
UrlEncodingSerializer
and UrlEncodingParser
.
Can be used in the following locations:
- Marshalled classes/methods/fields.
@Rest -annotated classes and@RestOp -annotated methods when anon()
value is specified.
See Also:
-
Optional Element Summary
Modifier and TypeOptional ElementDescriptionboolean
When true, bean properties of type array or Collection will be expanded into multiple key/value pairings.String[]
Dynamically apply this annotation to the specified classes/methods/fields.Class<?>[]
Dynamically apply this annotation to the specified classes.
-
Element Details
-
expandedParams
boolean expandedParamsWhen true, bean properties of type array or Collection will be expanded into multiple key/value pairings.This annotation is identical in behavior to using the
UrlEncodingSerializer.Builder.expandedParams()
andUrlEncodingParser.Builder.expandedParams()
properties, but applies to only instances of this bean.- Returns:
- The annotation value.
- Default:
- false
-
on
Dynamically apply this annotation to the specified classes/methods/fields.Used in conjunction with
BeanContext.Builder.applyAnnotations(Class...)
to dynamically apply an annotation to an existing class/method/field. It is ignored when the annotation is applied directly to classes/methods/fields.Valid patterns:
- Classes:
- Fully qualified:
"com.foo.MyClass"
- Fully qualified inner class:
"com.foo.MyClass$Inner1$Inner2"
- Simple:
"MyClass"
- Simple inner:
"MyClass$Inner1$Inner2" "Inner1$Inner2" "Inner2"
- Fully qualified:
- Methods:
- Fully qualified with args:
"com.foo.MyClass.myMethod(String,int)" "com.foo.MyClass.myMethod(java.lang.String,int)" "com.foo.MyClass.myMethod()"
- Fully qualified:
"com.foo.MyClass.myMethod"
- Simple with args:
"MyClass.myMethod(String,int)" "MyClass.myMethod(java.lang.String,int)" "MyClass.myMethod()"
- Simple:
"MyClass.myMethod"
- Simple inner class:
"MyClass$Inner1$Inner2.myMethod" "Inner1$Inner2.myMethod" "Inner2.myMethod"
- Fully qualified with args:
- Fields:
- Fully qualified:
"com.foo.MyClass.myField"
- Simple:
"MyClass.myField"
- Simple inner class:
"MyClass$Inner1$Inner2.myField" "Inner1$Inner2.myField" "Inner2.myField"
- Fully qualified:
- A comma-delimited list of anything on this list.
See Also:
- Returns:
- The annotation value.
- Default:
- {}
- Classes:
-
onClass
Dynamically apply this annotation to the specified classes.Identical to
on()
except allows you to specify class objects instead of a strings.See Also:
- Returns:
- The annotation value.
- Default:
- {}
-