Fesapi 2.13.0.0
This project provides C++ classes which allow an easy access in import and export to the Energistics standards.
Loading...
Searching...
No Matches
DiscreteProperty.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 "../resqml2/DiscreteProperty.h"
22
23namespace RESQML2_0_1_NS
24{
30 class DiscreteProperty final : public RESQML2_NS::DiscreteProperty
31 {
32 public:
33
39 DLL_IMPORT_OR_EXPORT DiscreteProperty(gsoap_resqml2_0_1::eml20__DataObjectReference* partialObject) : RESQML2_NS::DiscreteProperty(partialObject) {}
40
60 DiscreteProperty(RESQML2_NS::AbstractRepresentation* rep, const std::string& guid, const std::string& title,
61 unsigned int dimension, gsoap_eml2_3::eml23__IndexableElement attachmentKind, gsoap_resqml2_0_1::resqml20__ResqmlPropertyKind energisticsPropertyKind);
62
81 DiscreteProperty(RESQML2_NS::AbstractRepresentation* rep, const std::string& guid, const std::string& title,
82 unsigned int dimension, gsoap_eml2_3::eml23__IndexableElement attachmentKind, EML2_NS::PropertyKind* localPropKind);
83
89 DiscreteProperty(gsoap_resqml2_0_1::_resqml20__DiscreteProperty* fromGsoap): RESQML2_NS::DiscreteProperty(fromGsoap) {}
90
92 ~DiscreteProperty() = default;
93
94 DLL_IMPORT_OR_EXPORT std::string pushBackRefToExistingIntegerDataset(EML2_NS::AbstractHdfProxy* proxy, const std::string & datasetName, int64_t nullValue, int64_t minimumValue, int64_t maximumValue) final;
95 using AbstractValuesProperty::pushBackRefToExistingIntegerDataset;
96
97 bool validatePropertyKindAssociation(EML2_NS::PropertyKind* pk) final;
98
99 bool validatePropertyKindAssociation(gsoap_resqml2_0_1::resqml20__ResqmlPropertyKind pk) final;
100
101 DLL_IMPORT_OR_EXPORT int64_t getNullValue(uint64_t patchIndex = (std::numeric_limits<uint64_t>::max)()) const final;
102
103 DLL_IMPORT_OR_EXPORT bool hasMinimumValue(uint64_t index = 0) const final;
104
105 DLL_IMPORT_OR_EXPORT int64_t getMinimumValue(uint64_t index = 0) const final;
106
107 DLL_IMPORT_OR_EXPORT bool hasMaximumValue(uint64_t index = 0) const final;
108
109 DLL_IMPORT_OR_EXPORT int64_t getMaximumValue(uint64_t index = 0) const final;
110
111 DLL_IMPORT_OR_EXPORT void setMinimumValue(int64_t value, uint64_t index = 0) const final;
112
113 DLL_IMPORT_OR_EXPORT void setMaximumValue(int64_t value, uint64_t index = 0) const;
114
123 DLL_IMPORT_OR_EXPORT gsoap_resqml2_0_1::resqml20__ResqmlPropertyKind getEnergisticsPropertyKind() const;
124
128 DLL_IMPORT_OR_EXPORT static const char* XML_NS;
129
133 DLL_IMPORT_OR_EXPORT std::string getXmlNamespace() const final{ return XML_NS; }
134
135 private:
136
137 size_t getMinimumValueSize() const;
138 size_t getMaximumValueSize() const;
139
140 };
141}
DiscreteProperty(gsoap_resqml2_0_1::_resqml20__DiscreteProperty *fromGsoap)
Definition DiscreteProperty.h:89
DiscreteProperty(resqml2::AbstractRepresentation *rep, const std::string &guid, const std::string &title, unsigned int dimension, gsoap_eml2_3::eml23__IndexableElement attachmentKind, gsoap_resqml2_0_1::resqml20__ResqmlPropertyKind energisticsPropertyKind)
int64_t getNullValue(uint64_t patchIndex=(std::numeric_limits< uint64_t >::max)()) const final
Gets the null value in this discrete property.
int64_t getMaximumValue(uint64_t index=0) const final
Gets the maximum value of a non vector property or the maximum value of one given value of a vector p...
static const char * XML_NS
Definition DiscreteProperty.h:128
DiscreteProperty(gsoap_resqml2_0_1::eml20__DataObjectReference *partialObject)
Definition DiscreteProperty.h:39
bool validatePropertyKindAssociation(gsoap_resqml2_0_1::resqml20__ResqmlPropertyKind pk) final
std::string pushBackRefToExistingIntegerDataset(eml2::AbstractHdfProxy *proxy, const std::string &datasetName, int64_t nullValue, int64_t minimumValue, int64_t maximumValue) final
DiscreteProperty(resqml2::AbstractRepresentation *rep, const std::string &guid, const std::string &title, unsigned int dimension, gsoap_eml2_3::eml23__IndexableElement attachmentKind, eml2::PropertyKind *localPropKind)
void setMaximumValue(int64_t value, uint64_t index=0) const
Sets the maximum value of a non vector property or the maximum value of one given value of a vector p...
int64_t getMinimumValue(uint64_t index=0) const final
Gets the minimum value of a non vector property or the minimum value of one given value of a vector p...
bool hasMaximumValue(uint64_t index=0) const final
Checks if a non vector property or a given value of a vector property has got a maximum value already...
void setMinimumValue(int64_t value, uint64_t index=0) const final
Sets the minimum value of a non vector property or the minimum value of one given value of a vector p...
bool validatePropertyKindAssociation(eml2::PropertyKind *pk) final
gsoap_resqml2_0_1::resqml20__ResqmlPropertyKind getEnergisticsPropertyKind() const
bool hasMinimumValue(uint64_t index=0) const final
Checks if a non vector property or a given value of a vector property has got a minimum value already...
std::string getXmlNamespace() const final
Definition DiscreteProperty.h:133