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 }