Fesapi 2.9.0.1
This project provides C++ classes which allow an easy access in import and export to the Energistics standards.
Loading...
Searching...
No Matches
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 constexpr char const* XML_TAG = "PropertyKind";
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_3::eml23__PropertyKind* fromGsoap) : COMMON_NS::AbstractObject(fromGsoap) {}
134
140 virtual void setXmlParentPropertyKind(PropertyKind* parentPropertyKind) = 0;
141 };
142}
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)
virtual bool isAbstract() const =0
PropertyKind * getParentPropertyKind() const
std::string getNamingSystem() const
virtual common::DataObjectReference getParentPropertyKindDor() const =0
virtual bool isParentPartial() const =0
virtual std::string getBaseUomAsString() const =0
virtual std::string getParentAsString() const =0
virtual ~PropertyKind()=default