001/* 002 * SPDX-FileCopyrightText: none 003 * SPDX-License-Identifier: CC0-1.0 004 */ 005 006package gov.nist.secauto.metaschema.databind.codegen.config; 007 008import java.util.List; 009 010import edu.umd.cs.findbugs.annotations.NonNull; 011import edu.umd.cs.findbugs.annotations.Nullable; 012 013public interface IDefinitionBindingConfiguration { 014 /** 015 * Get the class name to use for the generated class associated with this 016 * binding. 017 * 018 * @return a class name 019 */ 020 @Nullable 021 String getClassName(); 022 023 /** 024 * Get the class that the associated generated class will extend. 025 * 026 * @return a full type, including the package 027 */ 028 @Nullable 029 String getQualifiedBaseClassName(); 030 031 /** 032 * A collection of interfaces that the associated generated class will 033 * implement. 034 * 035 * @return a list of fully qualified type names for interfaces 036 */ 037 @NonNull 038 List<String> getInterfacesToImplement(); 039}