1 /*
2 * The contents of this file are subject to the terms of the Common Development and
3 * Distribution License (the License). You may not use this file except in compliance with the
4 * License.
5 *
6 * You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
7 * specific language governing permission and limitations under the License.
8 *
9 * When distributing Covered Software, include this CDDL Header Notice in each file and include
10 * the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
11 * Header, with the fields enclosed by brackets [] replaced by your own identifying
12 * information: "Portions copyright [year] [name of copyright owner]".
13 *
14 * Copyright 2016 ForgeRock AS.
15 */
16
17 package org.forgerock.api.jackson;
18
19 import java.util.Set;
20
21 /**
22 * Extension interface for CREST subclasses of Jackson's {@code JsonSchema} to specify an array of <em>required</em>
23 * fields.
24 */
25 interface RequiredFieldsSchema {
26
27 /**
28 * Get <em>required</em> field names.
29 *
30 * @return Required field-names or {@code null}
31 */
32 Set<String> getRequiredFields();
33
34 /**
35 * Set <em>required</em> field names.
36 *
37 * @param requiredFields Required field-names or {@code null}
38 */
39 void setRequiredFields(Set<String> requiredFields);
40 }