| package org.eclipse.basyx.aas.metamodel.facade.parts; |
| |
| import java.util.Map; |
| import java.util.Set; |
| |
| import org.eclipse.basyx.aas.metamodel.api.parts.IConceptDescription; |
| import org.eclipse.basyx.aas.metamodel.map.parts.ConceptDescription; |
| import org.eclipse.basyx.submodel.metamodel.api.identifier.IIdentifier; |
| import org.eclipse.basyx.submodel.metamodel.api.qualifier.IAdministrativeInformation; |
| import org.eclipse.basyx.submodel.metamodel.api.reference.IReference; |
| import org.eclipse.basyx.submodel.metamodel.facade.identifier.IdentifierFacade; |
| import org.eclipse.basyx.submodel.metamodel.facade.qualifier.AdministrativeInformationFacade; |
| import org.eclipse.basyx.submodel.metamodel.facade.qualifier.ReferableFacade; |
| import org.eclipse.basyx.submodel.metamodel.facade.reference.ReferenceFacade; |
| import org.eclipse.basyx.submodel.metamodel.facade.reference.ReferenceHelper; |
| import org.eclipse.basyx.submodel.metamodel.map.identifier.Identifier; |
| import org.eclipse.basyx.submodel.metamodel.map.qualifier.AdministrativeInformation; |
| import org.eclipse.basyx.submodel.metamodel.map.qualifier.HasDataSpecification; |
| import org.eclipse.basyx.submodel.metamodel.map.qualifier.Identifiable; |
| import org.eclipse.basyx.submodel.metamodel.map.qualifier.LangStrings; |
| import org.eclipse.basyx.submodel.metamodel.map.qualifier.Referable; |
| import org.eclipse.basyx.submodel.metamodel.map.reference.Reference; |
| |
| /** |
| * Facade providing access to a map containing the ConceptDescription structure |
| * |
| * @author rajashek |
| * |
| */ |
| |
| public class ConceptDescriptionFacade implements IConceptDescription { |
| |
| private Map<String, Object> map; |
| |
| public ConceptDescriptionFacade(Map<String, Object> map) { |
| super(); |
| this.map = map; |
| } |
| |
| @Override |
| @SuppressWarnings("unchecked") |
| |
| public Set<IReference> getDataSpecificationReferences() { |
| Set<Map<String, Object>> set = (Set<Map<String, Object>>) map.get(HasDataSpecification.HASDATASPECIFICATION); |
| return ReferenceHelper.transform(set); |
| } |
| |
| public void setDataSpecificationReferences(Set<IReference> ref) { |
| map.put(HasDataSpecification.HASDATASPECIFICATION, ref); |
| } |
| |
| @SuppressWarnings("unchecked") |
| @Override |
| public IAdministrativeInformation getAdministration() { |
| return new AdministrativeInformationFacade((Map<String, Object>) map.get(Identifiable.ADMINISTRATION)); |
| } |
| |
| @SuppressWarnings("unchecked") |
| @Override |
| public IIdentifier getIdentification() { |
| return new IdentifierFacade((Map<String, Object>) map.get(Identifiable.IDENTIFICATION)); |
| } |
| |
| public void setAdministration(String version, String revision) { |
| map.put(Identifiable.ADMINISTRATION, new AdministrativeInformation(version, revision)); |
| |
| } |
| |
| public void setIdentification(String idType, String id) { |
| map.put(Identifiable.IDENTIFICATION, new Identifier(idType, id)); |
| |
| } |
| |
| @Override |
| @SuppressWarnings("unchecked") |
| public Set<IReference> getIsCaseOf() { |
| Set<Map<String, Object>> set = (Set<Map<String, Object>>) map.get(ConceptDescription.ISCASEOF); |
| return ReferenceHelper.transform(set); |
| } |
| |
| public void setIscaseOf(Set<Reference> ref) { |
| map.put(ConceptDescription.ISCASEOF, ref); |
| } |
| |
| @Override |
| public String getIdShort() { |
| return (String) map.get(Referable.IDSHORT); |
| } |
| |
| @Override |
| public String getCategory() { |
| return (String) map.get(Referable.CATEGORY); |
| } |
| |
| @Override |
| public LangStrings getDescription() { |
| return new ReferableFacade(map).getDescription(); |
| } |
| |
| @SuppressWarnings("unchecked") |
| @Override |
| public IReference getParent() { |
| return new ReferenceFacade((Map<String, Object>) map.get(Referable.PARENT)); |
| } |
| |
| public void setIdShort(String idShort) { |
| map.put(Referable.IDSHORT, idShort); |
| } |
| |
| public void setCategory(String category) { |
| map.put(Referable.CATEGORY, category); |
| } |
| |
| public void setDescription(LangStrings description) { |
| map.put(Referable.DESCRIPTION, description); |
| } |
| |
| public void setParent(IReference obj) { |
| map.put(Referable.PARENT, obj); |
| } |
| |
| } |