te::dt::NumericProperty Class Reference

The type for arbitrary precison numbers, like numeric(p, q). More...

#include <NumericProperty.h>

Inheritance diagram for te::dt::NumericProperty:
te::dt::SimpleProperty te::dt::Property

Public Member Functions

Propertyclone () const
 It returns a clone of the object. More...
 
const std::string & getDatasetName () const
 It returns the name of the propery's dataset. More...
 
std::string * getDefaultValue () const
 It returns the default value associated to the property, or NULL if none is associated. More...
 
unsigned int getId () const
 It returns the property identifier. More...
 
const std::string & getName () const
 It returns the property name. More...
 
PropertygetParent () const
 It returns the parent of this property, or NULL, if it doesn't have one. More...
 
unsigned int getPrecision () const
 It returns the total count of significant digits in the whole number, that is, the number of digits to both sides of the decimal point. More...
 
unsigned int getScale () const
 It returns the count of decimal digits in the fractional part, to the right of the decimal point. More...
 
int getType () const
 It returns the property data type. More...
 
bool has (Property *p) const
 It checks if the Property "p" is associated to this property or any other parent. More...
 
bool isAutoNumber () const
 It returns true if the attribute is an autonumber, otherwise it returns false. More...
 
bool isRequired () const
 It returns true if the attribute is required, otherwise it returns false. More...
 
 NumericProperty (const std::string &name, unsigned int precision, unsigned int scale, bool isRequired=false, std::string *defaultValue=0, unsigned int id=0, Property *parent=0)
 It constructs a new NumericProperty. More...
 
 NumericProperty (const NumericProperty &rhs)
 Copy constructor. More...
 
NumericPropertyoperator= (const NumericProperty &rhs)
 Assignment operator. More...
 
void setAutoNumber (bool a)
 It tells if the property is an autonumber or not. More...
 
void setDatasetName (const std::string &dsName)
 It sets the property name. More...
 
void setDefaultValue (std::string *d)
 It sets the default value associated to the property, or NULL if none is associated. More...
 
void setId (unsigned int id)
 It sets the property identifier. More...
 
void setName (const std::string &name)
 It sets the property name. More...
 
void setParent (Property *p)
 It associate this property to the informed parent. More...
 
void setPrecision (unsigned int precision)
 Sets the total count of significant digits in the whole number, that is, the number of digits to both sides of the decimal point. More...
 
void setRequired (bool r)
 It tells if the property is required or not. More...
 
void setScale (unsigned int scale)
 Sets the count of decimal digits in the fractional part, to the right of the decimal point. More...
 
 ~NumericProperty ()
 Destructor. More...
 

Protected Attributes

std::string m_datasetName
 The property's dataset name. More...
 
std::string * m_defaultValue
 Default value. More...
 
unsigned int m_id
 An identification number that can be used internally. More...
 
bool m_isAutoNumber
 A flag that indicates if this is an autonumber or serial type. More...
 
bool m_isRequired
 This flag indicates if the attribute is required or not. More...
 
std::string m_name
 The property name. More...
 
Propertym_parent
 The parent property type: it must be a CompositeProperty. More...
 
unsigned int m_precision
 Total number of digits of a numeric value. More...
 
unsigned int m_scale
 Number of digits for the right of the decimal point of a numeric value. More...
 
int m_type
 The property data type. More...
 

Detailed Description

The type for arbitrary precison numbers, like numeric(p, q).

See also
SimpleProperty, Property, StringProperty, ArrayProperty, DateTimeProperty, CompositeProperty

Definition at line 45 of file NumericProperty.h.

Constructor & Destructor Documentation

◆ NumericProperty() [1/2]

te::dt::NumericProperty::NumericProperty ( const std::string &  name,
unsigned int  precision,
unsigned int  scale,
bool  isRequired = false,
std::string *  defaultValue = 0,
unsigned int  id = 0,
Property parent = 0 
)

It constructs a new NumericProperty.

Parameters
nameThe attribute name.
precisionThe total count of significant digits in the whole number, that is, the number of digits to both sides of the decimal point.
scaleThe count of decimal digits in the fractional part, to the right of the decimal point.
isRequiredIndicates if the the property is required (mandatory) or not.
defaultValueThe default value to be used, if none is informed.
idThe property identifier.
parentA reference to the parent Property of the new object if it has one.
Postcondition
The NumericProperty will take the ownership of the defaultValue.
Warning
The identifier value (id) may be used by data source implementations. So, don't rely on its value!

◆ NumericProperty() [2/2]

te::dt::NumericProperty::NumericProperty ( const NumericProperty rhs)

Copy constructor.

Parameters
rhsThe right-hand-side copy used to copy from.

◆ ~NumericProperty()

te::dt::NumericProperty::~NumericProperty ( )
inline

Destructor.

Definition at line 81 of file NumericProperty.h.

Member Function Documentation

◆ clone()

Property* te::dt::NumericProperty::clone ( ) const
virtual

It returns a clone of the object.

The new property will NOT have associations to other properties.

Returns
A clone of the object.

Reimplemented from te::dt::SimpleProperty.

◆ getDatasetName()

const std::string& te::dt::Property::getDatasetName ( ) const
inlineinherited

It returns the name of the propery's dataset.

Returns
The the propery's dataset name.

Definition at line 144 of file Property.h.

◆ getDefaultValue()

std::string* te::dt::SimpleProperty::getDefaultValue ( ) const
inlineinherited

It returns the default value associated to the property, or NULL if none is associated.

Returns
The default value associated to the property, or NULL if none is associated.
Note
The caller of this method will not take the ownership of the given string.

Definition at line 127 of file SimpleProperty.h.

◆ getId()

unsigned int te::dt::Property::getId ( ) const
inlineinherited

It returns the property identifier.

Returns
A number used to identify the property.
Warning
The identifier value may be used by data source implementations. So, don't rely on its value!

Definition at line 109 of file Property.h.

◆ getName()

const std::string& te::dt::Property::getName ( ) const
inlineinherited

It returns the property name.

Returns
The property name.
Note
For DataSetTypes the name can have namespace prefix or schema name prefix, it will depend on the data source implementation.

Definition at line 127 of file Property.h.

◆ getParent()

Property* te::dt::Property::getParent ( ) const
inlineinherited

It returns the parent of this property, or NULL, if it doesn't have one.

Returns
The parent of this property, or NULL, if it doesn't have one.

Definition at line 168 of file Property.h.

◆ getPrecision()

unsigned int te::dt::NumericProperty::getPrecision ( ) const
inline

It returns the total count of significant digits in the whole number, that is, the number of digits to both sides of the decimal point.

Returns
The total number of digits of the numeric type.

Definition at line 98 of file NumericProperty.h.

◆ getScale()

unsigned int te::dt::NumericProperty::getScale ( ) const
inline

It returns the count of decimal digits in the fractional part, to the right of the decimal point.

Returns
The count of decimal digits in the fractional part, to the right of the decimal point.

Definition at line 111 of file NumericProperty.h.

◆ getType()

int te::dt::Property::getType ( ) const
inlineinherited

It returns the property data type.

Returns
The property data type.

Definition at line 161 of file Property.h.

Referenced by te::dt::CompositeProperty::findFirstPropertyOfType().

◆ has()

bool te::dt::SimpleProperty::has ( Property p) const
virtualinherited

It checks if the Property "p" is associated to this property or any other parent.

This method can be used to ask if a given Property belongs to a more complex type (like: CompositeProperty or DataSetType).

Parameters
pThe Property we are checking.
Returns
True if the given Property "p" is associated to to this Property, otherwise, returns false.

Implements te::dt::Property.

◆ isAutoNumber()

bool te::dt::SimpleProperty::isAutoNumber ( ) const
inlineinherited

It returns true if the attribute is an autonumber, otherwise it returns false.

Returns
True if the attribute is an autonumber, otherwise it returns false.

Definition at line 111 of file SimpleProperty.h.

◆ isRequired()

bool te::dt::SimpleProperty::isRequired ( ) const
inlineinherited

It returns true if the attribute is required, otherwise it returns false.

Returns
True if the attribute is required, otherwise it returns false.

Definition at line 97 of file SimpleProperty.h.

◆ operator=()

NumericProperty& te::dt::NumericProperty::operator= ( const NumericProperty rhs)

Assignment operator.

Parameters
rhsThe right-hand-side copy used to copy from.
Returns
A reference to this object.

◆ setAutoNumber()

void te::dt::SimpleProperty::setAutoNumber ( bool  a)
inlineinherited

It tells if the property is an autonumber or not.

Parameters
aIf true the property is marked as an autonumber (serial), otherwise it is not.

Definition at line 118 of file SimpleProperty.h.

Referenced by te::pgis::Convert2TerraLib().

◆ setDatasetName()

void te::dt::Property::setDatasetName ( const std::string &  dsName)
inlineinherited

It sets the property name.

Parameters
nameThe new property name.
Warning
Take care when calling this method for a DataSetType associated to a DataSourceCatalog. Prefer using the rename method on the DataSourceCatalog API instead of using this method.

Definition at line 154 of file Property.h.

◆ setDefaultValue()

void te::dt::SimpleProperty::setDefaultValue ( std::string *  d)
inherited

It sets the default value associated to the property, or NULL if none is associated.

Parameters
dThe default value associated to the property, or NULL if none is associated.
Note
The SimpleProperty qill take the ownership of the given string.

◆ setId()

void te::dt::Property::setId ( unsigned int  id)
inlineinherited

It sets the property identifier.

Parameters
idA number used to identify the property.
Warning
The identifier value may be used by data source implementations. So, don't rely on its value!

Definition at line 118 of file Property.h.

◆ setName()

void te::dt::Property::setName ( const std::string &  name)
inlineinherited

It sets the property name.

Parameters
nameThe new property name.
Warning
Take care when calling this method for a DataSetType associated to a DataSourceCatalog. Prefer using the rename method on the DataSourceCatalog API instead of using this method.

Definition at line 137 of file Property.h.

◆ setParent()

void te::dt::Property::setParent ( Property p)
inlineinherited

It associate this property to the informed parent.

Parameters
pTeh parent property.
Warning
Don't use this method without knowing the internal details of its use.

Definition at line 177 of file Property.h.

◆ setPrecision()

void te::dt::NumericProperty::setPrecision ( unsigned int  precision)
inline

Sets the total count of significant digits in the whole number, that is, the number of digits to both sides of the decimal point.

Definition at line 104 of file NumericProperty.h.

◆ setRequired()

void te::dt::SimpleProperty::setRequired ( bool  r)
inlineinherited

It tells if the property is required or not.

Parameters
rIf true the property is marked as required, otherwise it is not required.

Definition at line 104 of file SimpleProperty.h.

◆ setScale()

void te::dt::NumericProperty::setScale ( unsigned int  scale)
inline

Sets the count of decimal digits in the fractional part, to the right of the decimal point.

Definition at line 116 of file NumericProperty.h.

Member Data Documentation

◆ m_datasetName

std::string te::dt::Property::m_datasetName
protectedinherited

The property's dataset name.

Definition at line 208 of file Property.h.

◆ m_defaultValue

std::string* te::dt::SimpleProperty::m_defaultValue
protectedinherited

Default value.

Definition at line 164 of file SimpleProperty.h.

◆ m_id

unsigned int te::dt::Property::m_id
protectedinherited

An identification number that can be used internally.

Definition at line 205 of file Property.h.

◆ m_isAutoNumber

bool te::dt::SimpleProperty::m_isAutoNumber
protectedinherited

A flag that indicates if this is an autonumber or serial type.

Definition at line 163 of file SimpleProperty.h.

◆ m_isRequired

bool te::dt::SimpleProperty::m_isRequired
protectedinherited

This flag indicates if the attribute is required or not.

Definition at line 162 of file SimpleProperty.h.

◆ m_name

std::string te::dt::Property::m_name
protectedinherited

The property name.

Definition at line 207 of file Property.h.

◆ m_parent

Property* te::dt::Property::m_parent
protectedinherited

The parent property type: it must be a CompositeProperty.

Definition at line 204 of file Property.h.

◆ m_precision

unsigned int te::dt::NumericProperty::m_precision
protected

Total number of digits of a numeric value.

Definition at line 129 of file NumericProperty.h.

◆ m_scale

unsigned int te::dt::NumericProperty::m_scale
protected

Number of digits for the right of the decimal point of a numeric value.

Definition at line 130 of file NumericProperty.h.

◆ m_type

int te::dt::Property::m_type
protectedinherited

The property data type.

Definition at line 206 of file Property.h.


The documentation for this class was generated from the following file: