/// <summary> /// Sets the metadata for a given annotation schema value. /// </summary> /// <param name="value">The schema value for which to set the metadata.</param> /// <param name="metadata">The metadata to associate with the value.</param> public void SetMetadata(T value, AnnotationSchemaValueMetadata metadata) { FiniteAnnotationSchemaValue <T> schemaValue = this.SchemaValues.First(v => v.Value.Equals(value)); schemaValue.Metadata = metadata; }
/// <summary> /// Initializes a new instance of the <see cref="AnnotationSchema{T}"/> class. /// </summary> /// <param name="name">The name of the finite annotation schema.</param> /// <param name="defaultValue">The default value for new instances of the schema.</param> /// <param name="metadata">The metadata to use for all values in the schema unless overridden by a specific value's metadata.</param> public AnnotationSchema(string name, T defaultValue, AnnotationSchemaValueMetadata metadata = null) { this.Name = name; this.DefaultValue = defaultValue; this.Metadata = metadata ?? CreateDefaultMetadata(); }