001/*
002 * SPDX-FileCopyrightText: none
003 * SPDX-License-Identifier: CC0-1.0
004 */
005
006package dev.metaschema.databind.model.annotations;
007
008import static java.lang.annotation.ElementType.FIELD;
009import static java.lang.annotation.RetentionPolicy.RUNTIME;
010
011import java.lang.annotation.Documented;
012import java.lang.annotation.Retention;
013import java.lang.annotation.Target;
014
015/**
016 * Marks a field of type {@link dev.metaschema.core.model.IAnyContent} on a
017 * bound class to receive unmodeled content from assemblies that declare
018 * {@code <any/>} in their model.
019 *
020 * <p>
021 * During deserialization, content not matching any declared model instance is
022 * captured into this field. During serialization, captured content is written
023 * back after all declared model instances.
024 */
025@Documented
026@Retention(RUNTIME)
027@Target(FIELD)
028public @interface BoundAny {
029}