-
-
Notifications
You must be signed in to change notification settings - Fork 330
/
JsonRootName.java
44 lines (40 loc) · 1.59 KB
/
JsonRootName.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
package com.fasterxml.jackson.annotation;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/**
* Annotation similar to JAXB {@code javax.xml.bind.annotation.XmlRootElement},
* used to indicate name to use for root-level wrapping, if wrapping is
* enabled. Annotation itself does not indicate that wrapping should
* be used; but if it is, the name used for serialization should be the
* name specified here, and deserializer will expect the name as well.
*/
@Target({ElementType.ANNOTATION_TYPE, ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@com.fasterxml.jackson.annotation.JacksonAnnotation
public @interface JsonRootName
{
/**
* Root name to use if root-level wrapping is enabled. For data formats
* that use composite names (XML), this is the "local part" of the name
* to use.
*/
public String value();
/**
* Optional namespace to use with data formats that support such
* concept (specifically XML); if so, used with {@link #value} to
* construct fully-qualified name.
*/
public String namespace() default "";
/*
* Optional marker property that can be defined as <code>true</code> to force
* wrapping of root element, regardless of whether globally
* "root wrapping" is enabled or not.
*<p>
* Note that value of <code>false</code> is taken to mean "use defaults",
* and will not block use of wrapper if use is indicated by global features.
*
public boolean alwaysWrap() default false;
*/
}