Fesapi 2.3.0.0
This project provides C++ classes which allow an easy access in import and export to the Energistics standards.
PropertyKind.h
1/*-----------------------------------------------------------------------
2Licensed to the Apache Software Foundation (ASF) under one
3or more contributor license agreements. See the NOTICE file
4distributed with this work for additional information
5regarding copyright ownership. The ASF licenses this file
6to you under the Apache License, Version 2.0 (the
7"License"; you may not use this file except in compliance
8with the License. You may obtain a copy of the License at
9
10 http://www.apache.org/licenses/LICENSE-2.0
11
12Unless required by applicable law or agreed to in writing,
13software distributed under the License is distributed on an
14"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15KIND, either express or implied. See the License for the
16specific language governing permissions and limitations
17under the License.
18-----------------------------------------------------------------------*/
19#pragma once
20
21#include "../common/AbstractObject.h"
22
23namespace EML2_NS
24{
31 class PropertyKind : public COMMON_NS::AbstractObject
32 {
33 public:
34
36 virtual ~PropertyKind() = default;
37
45 DLL_IMPORT_OR_EXPORT std::string getNamingSystem() const;
46
52 DLL_IMPORT_OR_EXPORT virtual std::string getBaseUomAsString() const = 0;
53
59 DLL_IMPORT_OR_EXPORT virtual std::string getParentAsString() const = 0;
60
69 virtual COMMON_NS::DataObjectReference getParentPropertyKindDor() const = 0;
70
79 DLL_IMPORT_OR_EXPORT PropertyKind* getParentPropertyKind() const;
80
88 DLL_IMPORT_OR_EXPORT void setParentPropertyKind(PropertyKind* parentPropertyKind);
89
95 DLL_IMPORT_OR_EXPORT virtual bool isAbstract() const = 0;
96
102 DLL_IMPORT_OR_EXPORT virtual bool isParentPartial() const = 0;
103
105 DLL_IMPORT_OR_EXPORT static const char* XML_TAG;
106
107 DLL_IMPORT_OR_EXPORT virtual std::string getXmlTag() const final { return XML_TAG; }
108
109 protected:
110
112 PropertyKind() {}
113
119 DLL_IMPORT_OR_EXPORT PropertyKind(gsoap_resqml2_0_1::eml20__DataObjectReference* partialObject) : COMMON_NS::AbstractObject(partialObject) {}
120
126 PropertyKind(gsoap_resqml2_0_1::_resqml20__PropertyKind* fromGsoap) : COMMON_NS::AbstractObject(fromGsoap) {}
127
133 PropertyKind(gsoap_eml2_1::eml21__PropertyKind* fromGsoap) : COMMON_NS::AbstractObject(fromGsoap) {}
134
140 PropertyKind(gsoap_eml2_2::eml22__PropertyKind* fromGsoap) : COMMON_NS::AbstractObject(fromGsoap) {}
141
147 PropertyKind(gsoap_eml2_3::eml23__PropertyKind* fromGsoap) : COMMON_NS::AbstractObject(fromGsoap) {}
148
154 virtual void setXmlParentPropertyKind(PropertyKind* parentPropertyKind) = 0;
155 };
156}
Property kinds carry the semantics of property values. They are used to identify if the values are,...
Definition: PropertyKind.h:32
void setParentPropertyKind(PropertyKind *parentPropertyKind)
static const char * XML_TAG
Definition: PropertyKind.h:105
virtual bool isAbstract() const =0
PropertyKind * getParentPropertyKind() const
std::string getNamingSystem() const
virtual common::DataObjectReference getParentPropertyKindDor() const =0
virtual std::string getXmlTag() const final
Definition: PropertyKind.h:107
virtual bool isParentPartial() const =0
virtual std::string getBaseUomAsString() const =0
virtual std::string getParentAsString() const =0
virtual ~PropertyKind()=default