1 /*
2 * SPDX-FileCopyrightText: none
3 * SPDX-License-Identifier: CC0-1.0
4 */
5
6 package gov.nist.secauto.metaschema.databind.codegen.config;
7
8 import java.util.List;
9
10 import edu.umd.cs.findbugs.annotations.NonNull;
11 import edu.umd.cs.findbugs.annotations.Nullable;
12
13 public interface IDefinitionBindingConfiguration {
14 /**
15 * Get the class name to use for the generated class associated with this
16 * binding.
17 *
18 * @return a class name
19 */
20 @Nullable
21 String getClassName();
22
23 /**
24 * Get the class that the associated generated class will extend.
25 *
26 * @return a full type, including the package
27 */
28 @Nullable
29 String getQualifiedBaseClassName();
30
31 /**
32 * A collection of interfaces that the associated generated class will
33 * implement.
34 *
35 * @return a list of fully qualified type names for interfaces
36 */
37 @NonNull
38 List<String> getInterfacesToImplement();
39 }