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  }