blob: 349cc88f3742cd078cb2057096cce1dff45db81a [file] [log] [blame]
Constantin Ziesche857c7ab2020-02-25 11:24:51 +01001/*******************************************************************************
2* Copyright (c) 2020 Robert Bosch GmbH
3* Author: Constantin Ziesche (constantin.ziesche@bosch.com)
4*
5* This program and the accompanying materials are made available under the
6* terms of the Eclipse Public License 2.0 which is available at
7* http://www.eclipse.org/legal/epl-2.0
8*
9* SPDX-License-Identifier: EPL-2.0
10*******************************************************************************/
11using System.Collections.Generic;
12using System.Runtime.Serialization;
13
14namespace BaSyx.Models.Core.AssetAdministrationShell.Semantics
15{
Constantin Ziesche310d2aa2020-03-25 11:48:26 +010016 /// <summary>
17 /// Element that can be extended by using data specification templates. A data specification template defines the additional attributes an element may or shall have.
18 /// The data specifications used are explicitly specified with their global id.
19 /// </summary>
Constantin Ziesche857c7ab2020-02-25 11:24:51 +010020 public interface IHasDataSpecification
21 {
22 [IgnoreDataMember]
23 IConceptDescription ConceptDescription { get; }
Constantin Ziesche310d2aa2020-03-25 11:48:26 +010024
25 /// <summary>
26 /// Global reference to the data specification template used by the element.
27 /// </summary>
Constantin Ziesche857c7ab2020-02-25 11:24:51 +010028 [DataMember(EmitDefaultValue = false, IsRequired = false, Name = "embeddedDataSpecifications")]
29 IEnumerable<IEmbeddedDataSpecification> EmbeddedDataSpecifications { get; }
30 }
31}