001/*
002 * SPDX-FileCopyrightText: none
003 * SPDX-License-Identifier: CC0-1.0
004 */
005
006package gov.nist.secauto.metaschema.databind.model;
007
008import gov.nist.secauto.metaschema.core.model.IBoundObject;
009import gov.nist.secauto.metaschema.core.model.IJsonNamed;
010import gov.nist.secauto.metaschema.databind.io.BindingException;
011
012import edu.umd.cs.findbugs.annotations.NonNull;
013
014public interface IBoundProperty<ITEM> extends IBoundModelObject<ITEM>, IFeatureJavaField, IJsonNamed {
015  /**
016   * Copy this instance from one parent object to another.
017   *
018   * @param fromInstance
019   *          the object to copy from
020   * @param toInstance
021   *          the object to copy to
022   * @throws BindingException
023   *           if an error occurred while processing the object bindings
024   */
025  void deepCopy(@NonNull IBoundObject fromInstance, @NonNull IBoundObject toInstance) throws BindingException;
026}