Skip to content

Commit 3c3b1b1

Browse files
jbescoslukasj
authored andcommitted
[api] Define standard property for handling duplicated keys
Signed-off-by: Jorge Bescos Gascon <jorge.bescos.gascon@oracle.com>
1 parent 9e0a9ff commit 3c3b1b1

File tree

1 file changed

+57
-0
lines changed

1 file changed

+57
-0
lines changed
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
/*
2+
* Copyright (c) 2021 Oracle and/or its affiliates. All rights reserved.
3+
*
4+
* This program and the accompanying materials are made available under the
5+
* terms of the Eclipse Public License v. 2.0, which is available at
6+
* http://www.eclipse.org/legal/epl-2.0.
7+
*
8+
* This Source Code may also be made available under the following Secondary
9+
* Licenses when the conditions for such availability set forth in the
10+
* Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
11+
* version 2 with the GNU Classpath Exception, which is available at
12+
* https://www.gnu.org/software/classpath/license.html.
13+
*
14+
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15+
*/
16+
17+
package jakarta.json;
18+
19+
/**
20+
* This class contains the Json properties and values.
21+
*
22+
* @since 2.1
23+
*/
24+
public final class JsonConfig {
25+
26+
/**
27+
* Configuration property to define the strategy for handling duplicate keys.
28+
*
29+
* See {@link KeyStrategy}
30+
*/
31+
public static final String KEY_STRATEGY = "jakarta.json.JsonConfig.keyStrategy" ;
32+
33+
/**
34+
* It avoids new instances of this class.
35+
*/
36+
private JsonConfig() {}
37+
38+
/**
39+
* Contains the different values allowed for {@link #KEY_STRATEGY}.
40+
*
41+
* See {@link #KEY_STRATEGY}
42+
*/
43+
public static enum KeyStrategy {
44+
/**
45+
* Configuration value that will take the value of the first match.
46+
*/
47+
FIRST,
48+
/**
49+
* Configuration value that will take the value of the last match.
50+
*/
51+
LAST,
52+
/**
53+
* Configuration value that will throw {@link JsonException} when duplicate key is found.
54+
*/
55+
NONE;
56+
}
57+
}

0 commit comments

Comments
 (0)