1 /*
2 * SPDX-FileCopyrightText: none
3 * SPDX-License-Identifier: CC0-1.0
4 */
5
6 package dev.metaschema.databind.codegen.config;
7
8 import edu.umd.cs.findbugs.annotations.Nullable;
9
10 /**
11 * Provides binding configuration for a specific property (field or assembly
12 * instance) within a definition.
13 *
14 * <p>
15 * Property bindings allow fine-grained control over code generation for
16 * individual model instances, such as specifying custom collection
17 * implementation classes.
18 */
19 @SuppressWarnings("PMD.ImplicitFunctionalInterface")
20 public interface IPropertyBindingConfiguration {
21
22 /**
23 * Get the fully qualified class name to use for collection initialization.
24 *
25 * <p>
26 * When specified, this class will be used instead of the default
27 * {@link java.util.LinkedList} or {@link java.util.LinkedHashMap} for
28 * collection properties.
29 *
30 * @return the fully qualified class name, or {@code null} if the default
31 * collection class should be used
32 */
33 @Nullable
34 String getCollectionClassName();
35 }