Fesapi  2.0.0.0
This project provides C++ classes which allow an easy access in import and export to the Energistics standards.
PropertyKind.h
1 /*-----------------------------------------------------------------------
2 Licensed to the Apache Software Foundation (ASF) under one
3 or more contributor license agreements. See the NOTICE file
4 distributed with this work for additional information
5 regarding copyright ownership. The ASF licenses this file
6 to you under the Apache License, Version 2.0 (the
7 "License"; you may not use this file except in compliance
8 with the License. You may obtain a copy of the License at
9 
10  http://www.apache.org/licenses/LICENSE-2.0
11 
12 Unless required by applicable law or agreed to in writing,
13 software distributed under the License is distributed on an
14 "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15 KIND, either express or implied. See the License for the
16 specific language governing permissions and limitations
17 under the License.
18 -----------------------------------------------------------------------*/
19 #pragma once
20 
21 #include "../common/AbstractObject.h"
22 
23 namespace 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
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
PropertyKind * getParentPropertyKind() const
virtual ~PropertyKind()=default