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 "../eml2/PropertyKind.h"
22 #include "PropertyKindMapper.h"
23 
24 namespace 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
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)
bool isAbstract() const final
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, const std::string &nonStandardUom, eml2::PropertyKind *parentPropType)
Creates a local property type which uses a non standard uom which derives from another local property...
bool isChildOf(gsoap_resqml2_0_1::resqml20__ResqmlPropertyKind standardPropKind) const
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(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...