Exemple #1
0
        public void AddMetadata <TMetadata>(TMetadata metadata)
            where TMetadata : IMetadata
        {
            if (metadata == null)
            {
                throw new ArgumentNullException(nameof(metadata));
            }

            if (metadata.Relation == null)
            {
                throw new ArgumentNullException(nameof(metadata.Relation));
            }

            MetadataKey key = MetadataKey.FromIdentity <TMetadata>(metadata.Relation.Identity);

            if (!this.entries.TryAdd(key, metadata))
            {
                throw new InvalidOperationException("Metadata already added.");
            }
        }