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 "../eml2/PropertyKind.h"
22#include "PropertyKindMapper.h"
23
24namespace RESQML2_0_1_NS
25{
27 class PropertyKind final : public EML2_NS::PropertyKind
28 {
29 public:
30
38 DLL_IMPORT_OR_EXPORT PropertyKind(gsoap_resqml2_0_1::eml20__DataObjectReference* partialObject) : EML2_NS::PropertyKind(partialObject) {}
39
55 PropertyKind(COMMON_NS::DataObjectRepository * repo, const std::string & guid, const std::string & title,
56 const std::string & namingSystem, gsoap_resqml2_0_1::resqml20__ResqmlUom uom, gsoap_resqml2_0_1::resqml20__ResqmlPropertyKind parentEnergisticsPropertyKind);
57
72 PropertyKind(const std::string & guid, const std::string & title,
73 const std::string & namingSystem, gsoap_resqml2_0_1::resqml20__ResqmlUom uom, EML2_NS::PropertyKind * parentPropType);
74
90 PropertyKind(COMMON_NS::DataObjectRepository * repo, const std::string & guid, const std::string & title,
91 const std::string & namingSystem, const std::string & nonStandardUom, gsoap_resqml2_0_1::resqml20__ResqmlPropertyKind parentEnergisticsPropertyKind);
92
105 PropertyKind(const std::string & guid, const std::string & title,
106 const std::string & namingSystem, const std::string & nonStandardUom, EML2_NS::PropertyKind * parentPropType);
107
113 PropertyKind(gsoap_resqml2_0_1::_resqml20__PropertyKind* fromGsoap) :EML2_NS::PropertyKind(fromGsoap) {}
114
116 ~PropertyKind() = default;
117
125 DLL_IMPORT_OR_EXPORT bool isChildOf(gsoap_resqml2_0_1::resqml20__ResqmlPropertyKind standardPropKind) const;
126
132 DLL_IMPORT_OR_EXPORT bool isAbstract() const final;
133
139 DLL_IMPORT_OR_EXPORT bool isParentPartial() const final;
140
146 DLL_IMPORT_OR_EXPORT std::string getBaseUomAsString() const final;
147
153 DLL_IMPORT_OR_EXPORT std::string getParentAsString() const final;
154
163 COMMON_NS::DataObjectReference getParentPropertyKindDor() const final;
164
171 DLL_IMPORT_OR_EXPORT bool isParentAnEnergisticsPropertyKind() const;
172
180 DLL_IMPORT_OR_EXPORT gsoap_resqml2_0_1::resqml20__ResqmlPropertyKind getParentEnergisticsPropertyKind() const;
181
183 void loadTargetRelationships() final;
184
188 DLL_IMPORT_OR_EXPORT static const char* XML_NS;
189
193 DLL_IMPORT_OR_EXPORT std::string getXmlNamespace() const final { return XML_NS; }
194
195 protected:
196
202 void setXmlParentPropertyKind(EML2_NS::PropertyKind* parentPropertyKind);
203
209 gsoap_resqml2_0_1::_resqml20__PropertyKind* getSpecializedGsoapProxy() const;
210
220 friend RESQML2_0_1_NS::PropertyKind* PropertyKindMapper::addResqmlLocalPropertyKindToEpcDocumentFromApplicationPropertyKindName(const std::string & applicationPropertyKindName, const std::string & application);
221
222 private:
223
232 void init(COMMON_NS::DataObjectRepository * repo, const std::string & guid, const std::string & title, const std::string & namingSystem);
233 };
234}
Definition PropertyKind.h:28
bool isAbstract() const final
bool isChildOf(gsoap_resqml2_0_1::resqml20__ResqmlPropertyKind standardPropKind) const
PropertyKind(const std::string &guid, const std::string &title, const std::string &namingSystem, const std::string &nonStandardUom, eml2 ::PropertyKind *parentPropType)
Creates a local property type which uses a non standard uom which derives from another local property...
PropertyKind(common ::DataObjectRepository *repo, const std::string &guid, const std::string &title, const std::string &namingSystem, gsoap_resqml2_0_1::resqml20__ResqmlUom uom, gsoap_resqml2_0_1::resqml20__ResqmlPropertyKind parentEnergisticsPropertyKind)
PropertyKind(gsoap_resqml2_0_1::eml20__DataObjectReference *partialObject)
Definition PropertyKind.h:38
PropertyKind(gsoap_resqml2_0_1::_resqml20__PropertyKind *fromGsoap)
Definition PropertyKind.h:113
PropertyKind(common ::DataObjectRepository *repo, const std::string &guid, const std::string &title, const std::string &namingSystem, const std::string &nonStandardUom, gsoap_resqml2_0_1::resqml20__ResqmlPropertyKind parentEnergisticsPropertyKind)
Creates a local property type which uses a non standard uom and which derives from a standard Energis...
PropertyKind(const std::string &guid, const std::string &title, const std::string &namingSystem, gsoap_resqml2_0_1::resqml20__ResqmlUom uom, eml2 ::PropertyKind *parentPropType)
Creates a local property type which uses a standard uom and which derives from another local property...