1   /*
2    * SPDX-FileCopyrightText: none
3    * SPDX-License-Identifier: CC0-1.0
4    */
5   
6   package gov.nist.secauto.metaschema.databind.model;
7   
8   import gov.nist.secauto.metaschema.core.model.IValued;
9   
10  import java.lang.reflect.ParameterizedType;
11  import java.lang.reflect.Type;
12  
13  import edu.umd.cs.findbugs.annotations.NonNull;
14  
15  public interface IValuedMutable extends IValued {
16    /**
17     * Set the provided value on the provided object. The provided object must be of
18     * the item's type associated with this instance.
19     *
20     * @param parentObject
21     *          the object
22     * @param value
23     *          a value, which may be a simple {@link Type} or a
24     *          {@link ParameterizedType} for a collection
25     */
26    void setValue(@NonNull Object parentObject, Object value);
27  }