001/* 002 * SPDX-FileCopyrightText: none 003 * SPDX-License-Identifier: CC0-1.0 004 */ 005 006package dev.metaschema.databind.codegen.config; 007 008import edu.umd.cs.findbugs.annotations.Nullable; 009 010/** 011 * Provides binding configuration for a specific property (field or assembly 012 * instance) within a definition. 013 * 014 * <p> 015 * Property bindings allow fine-grained control over code generation for 016 * individual model instances, such as specifying custom collection 017 * implementation classes. 018 */ 019@SuppressWarnings("PMD.ImplicitFunctionalInterface") 020public interface IPropertyBindingConfiguration { 021 022 /** 023 * Get the fully qualified class name to use for collection initialization. 024 * 025 * <p> 026 * When specified, this class will be used instead of the default 027 * {@link java.util.LinkedList} or {@link java.util.LinkedHashMap} for 028 * collection properties. 029 * 030 * @return the fully qualified class name, or {@code null} if the default 031 * collection class should be used 032 */ 033 @Nullable 034 String getCollectionClassName(); 035}