Quick links: Tutorial - Examples - Files - Symbols.
Classes: Hierarchy - Index - List - Members.
Namespaces: Index - base - cs - display.

Public Member Functions | Static Public Member Functions | Static Public Attributes | List of all members
cogitant::DatatypeManager Class Reference

Gestionnaire de types de données. More...

#include "cogitant/datatype.h"

Public Member Functions

 DatatypeManager ()
 Constructeur. More...
 
 DatatypeManager (DatatypeManager const &dm)
 Constructeur par recopie. More...
 
 ~DatatypeManager ()
 Destructeur. More...
 
iSet add (UserDatatype *ndt)
 Ajout d'un type de données. More...
 
iSet find (std::string const &name, bool autocreate=false) const
 Recherche d'un type dans le gestionnaire. More...
 
UserDatatype const * userDatatype (iSet id) const
 Accès à un dataype non standard par son identificateur. More...
 
std::string typeToString (iSet t) const
 Retourne le nom du type. More...
 
std::string valueToString (Concept const *c) const
 Conversion de la valeur portée par le concept en chaîne. More...
 
bool stringToValue (iSet dt, std::string const &v, Concept *c) const
 Conversion d'une chaîne en valeur de ce type. More...
 
bool compatibility (Concept const *c1, Concept const *c2) const
 Compatibilité entre étiquettes valeurs de concepts. More...
 
bool sameValue (Concept const *c1, Concept const *c2) const
 Egalité de valeurs de deux sommets concepts portant des valeurs. More...
 
bool compareValues (Concept const *c1, Concept const *c2) const
 Comparaison de deux valeurs de deux sommets portant des valeurs. More...
 
bool isGreaterOrEqualThan (iSet dt1, iSet dt2) const
 Compatibilité de Datatypes. More...
 
bool addSimplifyConceptType (Concept *c, iSet dt) const
 Change le type d'un sommet concept valeur. More...
 
bool isResourceType (iSet t) const
 Est-ce que le type passé est un type représentant aussi bien des concepts classiques que des littéraux (i.e. More...
 
void setResourceType (iSet t)
 Fixe le type de concepts (classiques) racine des valeurs et des concepts classiques. More...
 

Static Public Member Functions

static bool isConceptType (iSet i)
 L'identifiant de type passé repère-t'il un type de concept du support (par opposition à un Datatype). More...
 
static bool isDatatype (iSet i)
 L'identifiant passé repere-t'il un type de données (par opposition aux type de concepts du support). More...
 
static bool isPredefinedDatatype (iSet i)
 L'identifiant passé repere-t'il un type de données prédéfini. More...
 
static bool isUserDatatype (iSet i)
 L'identifiant passé repere-t'il un type de données non standard (et représenté par un DatatypeValue). More...
 
static bool isInteger (iSet i)
 L'identifiant passé est représenté par un entier. More...
 
static bool isFloat (iSet i)
 L'identifiant passé est représenté par un réel. More...
 
static bool isString (iSet i)
 L'identifiant passé est représenté par une chaîne. More...
 
static char const * predefinedTypeToString (iSet t)
 Retourne le nom du type, dans le cas d'un Datatype prédéfini. More...
 

Static Public Attributes

static const iSet FIRST
 Premier identifiant utilisé pour un type de données (par opposition aux identifiants utilisés pour les types de concepts "classiques"). More...
 
static const iSet LITERAL
 Litéral non typé. More...
 
static const iSet INTEGER
 Type de données entier. More...
 
static const iSet FLOAT
 Type de données réel. More...
 
static const iSet STRING
 Type de données chaîne. More...
 
static const iSet FIRSTINTEGER
 Premier identifiant utilisé pour un type de données entier. More...
 
static const iSet BOOLEAN
 Type de XSD : boolean. More...
 
static const iSet BYTE
 Type de XSD : byte. More...
 
static const iSet INT
 Type de XSD : int. More...
 
static const iSet LONG
 Type de XSD : long. More...
 
static const iSet NEGATIVEINTEGER
 Type de XSD : negativeInteger. More...
 
static const iSet NONNEGATIVEINTEGER
 Type de XSD : nonNegativeInteger. More...
 
static const iSet NONPOSITIVEINTEGER
 Type de XSD : nonPositiveInteger. More...
 
static const iSet POSITIVEINTEGER
 Type de XSD : positiveInteger. More...
 
static const iSet SHORT
 Type de XSD : short. More...
 
static const iSet UNSIGNEDBYTE
 Type de XSD : unsignedByte. More...
 
static const iSet UNSIGNEDINT
 Type de XSD : unsignedInt. More...
 
static const iSet UNSIGNEDLONG
 Type de XSD : unsignedLong. More...
 
static const iSet UNSIGNEDSHORT
 Type de XSD : unsignedShort. More...
 
static const iSet GDAY
 Type de XSD : gDay. More...
 
static const iSet GMONTH
 Type de XSD : gMonth. More...
 
static const iSet GYEAR
 Type de XSD : gYear. More...
 
static const iSet COGITANTRESERVEDINT1
 Type entier réservé. More...
 
static const iSet COGITANTRESERVEDINT2
 Type entier réservé. More...
 
static const iSet COGITANTRESERVEDINT3
 Type entier réservé. More...
 
static const iSet FIRSTFLOAT
 Premier identifiant utilisé pour un type de données réel. More...
 
static const iSet DECIMAL
 Type de XSD : decimal. More...
 
static const iSet DOUBLE
 Type de XSD : double. More...
 
static const iSet FIRSTSTRING
 Premier identifiant utilisé pour un type de données chaîne. More...
 
static const iSet BASE64BINARY
 Type de XSD : base64Binary. More...
 
static const iSet HEXBINARY
 Type de XSD : hexBinary. More...
 
static const iSet ANYURI
 Type de XSD : anyURI. More...
 
static const iSet LANGUAGE
 Type de XSD : language. More...
 
static const iSet NORMALIZEDSTRING
 Type de XSD : normalizedString. More...
 
static const iSet TOKEN
 Type de XSD : token. More...
 
static const iSet DATE
 Type de XSD : date. More...
 
static const iSet DATETIME
 Type de XSD : dateTime. More...
 
static const iSet DURATION
 Type de XSD : duration. More...
 
static const iSet GMONTHDAY
 Type de XSD : gMonthDay. More...
 
static const iSet GYEARMONTH
 Type de XSD : gYearMonth. More...
 
static const iSet TIME
 Type de XSD : time. More...
 
static const iSet NAME
 Type de XSD : Name. More...
 
static const iSet NCNAME
 Type de XSD : NCName. More...
 
static const iSet NOTATION
 Type de XSD : NOTATION. More...
 
static const iSet QNAME
 Type de XSD : QName. More...
 
static const iSet ENTITY
 Type de XSD : ENTITY. More...
 
static const iSet ENTITIES
 Type de XSD : ENTITIES. More...
 
static const iSet ID
 Type de XSD : ID. More...
 
static const iSet IDREF
 Type de XSD : IDREF. More...
 
static const iSet IDREFS
 Type de XSD : IDREFS. More...
 
static const iSet NMTOKEN
 Type de XSD : NMTOKEN. More...
 
static const iSet NMTOKENS
 Type de XSD : NMTOKENS. More...
 
static const iSet FIRSTUSERDATATYPE
 Premier identifiant utilisé pour un type de doonées utilisateur. More...
 

Detailed Description

Gestionnaire de types de données.

Constructor & Destructor Documentation

◆ DatatypeManager() [1/2]

cogitant::DatatypeManager::DatatypeManager ( )

Constructeur.

◆ DatatypeManager() [2/2]

cogitant::DatatypeManager::DatatypeManager ( DatatypeManager const &  dm)

Constructeur par recopie.

◆ ~DatatypeManager()

cogitant::DatatypeManager::~DatatypeManager ( )

Destructeur.

Member Function Documentation

◆ add()

iSet cogitant::DatatypeManager::add ( UserDatatype ndt)

Ajout d'un type de données.

Parameters
ndtNouveau type.
Returns
Identificateur de la langue ajoutée.
Exceptions
ExceptionAlreadyPresentSi le type existe déjà (recherche par le nom).

◆ addSimplifyConceptType()

bool cogitant::DatatypeManager::addSimplifyConceptType ( Concept c,
iSet  dt 
) const

Change le type d'un sommet concept valeur.

Essaie de changer le type d'un sommet concept valeur en conservant la valeur portée. Pour cela, il faut que le sommet concept contienne déjà un Datatype, et que ce Datatype soit une généralisation (au sens de isGreaterOrEqualThan) de dt. La valeur portée est éventuellement convertie.

Parameters
cSommet concept valeur.
dtIdentifiant de datatype.
Returns
true si dt a pu être correctement ajouté.

◆ compareValues()

bool cogitant::DatatypeManager::compareValues ( Concept const *  c1,
Concept const *  c2 
) const

Comparaison de deux valeurs de deux sommets portant des valeurs.

Parameters
c1Sommet concept valeur.
c2Sommet concept valeur.
Returns
true ssi la valeur de c1 est inférieure à la valeur de c2. Ne fonctionne que si les valeurs sont du même types, par exemple une comparaison entre un float et un integer retournera toujours faux.

◆ compatibility()

bool cogitant::DatatypeManager::compatibility ( Concept const *  c1,
Concept const *  c2 
) const

Compatibilité entre étiquettes valeurs de concepts.

Parameters
c1Sommet concept valeur.
c2Sommet concept valeur.
Returns
true ssi c1 peut se projeter sur c2, en utilisant la définition classique : le type de c1 doit être Literal ou le type de c2, et le référent de c1 doit être générique ou le même que c2.

◆ find()

iSet cogitant::DatatypeManager::find ( std::string const &  name,
bool  autocreate = false 
) const

Recherche d'un type dans le gestionnaire.

Parameters
nameNom du type à chercher.
autocreatesi true et intitulé introuvable, crée un datatype de cet initulé (instance de UserDatatypeSimple) et retourne l'identificateur du type créé.
Returns
Identificateur du type trouvé ou ISET_NULL si introuvable.

◆ isConceptType()

static bool cogitant::DatatypeManager::isConceptType ( iSet  i)
inlinestatic

L'identifiant de type passé repère-t'il un type de concept du support (par opposition à un Datatype).

◆ isDatatype()

static bool cogitant::DatatypeManager::isDatatype ( iSet  i)
inlinestatic

L'identifiant passé repere-t'il un type de données (par opposition aux type de concepts du support).

References cogitant::ISET_NULL.

Referenced by cogitant::Concept::hasDatatype(), cogitant::Concept::hasSupportType(), and cogitant::Concept::referentType().

◆ isFloat()

static bool cogitant::DatatypeManager::isFloat ( iSet  i)
inlinestatic

L'identifiant passé est représenté par un réel.

◆ isGreaterOrEqualThan()

bool cogitant::DatatypeManager::isGreaterOrEqualThan ( iSet  dt1,
iSet  dt2 
) const

Compatibilité de Datatypes.

Parameters
dt1Identifiant d'un premier Datatype.
dt2Identifiant d'un second Datatype.
Returns
true ssi le premier Datatype est plus grand ou égal au le second, en d'autres termes, dt1 = Literal ou dt1 = dt2.

◆ isInteger()

static bool cogitant::DatatypeManager::isInteger ( iSet  i)
inlinestatic

L'identifiant passé est représenté par un entier.

◆ isPredefinedDatatype()

static bool cogitant::DatatypeManager::isPredefinedDatatype ( iSet  i)
inlinestatic

L'identifiant passé repere-t'il un type de données prédéfini.

◆ isResourceType()

bool cogitant::DatatypeManager::isResourceType ( iSet  t) const
inline

Est-ce que le type passé est un type représentant aussi bien des concepts classiques que des littéraux (i.e.

l'équivalent de rdf:resource).

◆ isString()

static bool cogitant::DatatypeManager::isString ( iSet  i)
inlinestatic

L'identifiant passé est représenté par une chaîne.

◆ isUserDatatype()

static bool cogitant::DatatypeManager::isUserDatatype ( iSet  i)
inlinestatic

L'identifiant passé repere-t'il un type de données non standard (et représenté par un DatatypeValue).

References cogitant::ISET_NULL.

◆ predefinedTypeToString()

static char const* cogitant::DatatypeManager::predefinedTypeToString ( iSet  t)
static

Retourne le nom du type, dans le cas d'un Datatype prédéfini.

◆ sameValue()

bool cogitant::DatatypeManager::sameValue ( Concept const *  c1,
Concept const *  c2 
) const

Egalité de valeurs de deux sommets concepts portant des valeurs.

Parameters
c1Sommet concept valeur.
c2Sommet concept valeur.
Returns
true ssi c1 et c2 portent la même valeur.

◆ setResourceType()

void cogitant::DatatypeManager::setResourceType ( iSet  t)
inline

Fixe le type de concepts (classiques) racine des valeurs et des concepts classiques.

◆ stringToValue()

bool cogitant::DatatypeManager::stringToValue ( iSet  dt,
std::string const &  v,
Concept c 
) const

Conversion d'une chaîne en valeur de ce type.

Parameters
dtIdentifiant du Datatype.
vValeur représentée sous la forme d'une chaîne.
cConcept, modifié par appel à la méthode portant la valeur stockée dans la chaîne.
Returns
true la conversion est possible, false sinon.

◆ typeToString()

std::string cogitant::DatatypeManager::typeToString ( iSet  t) const

Retourne le nom du type.

◆ userDatatype()

UserDatatype const* cogitant::DatatypeManager::userDatatype ( iSet  id) const
inline

Accès à un dataype non standard par son identificateur.

◆ valueToString()

std::string cogitant::DatatypeManager::valueToString ( Concept const *  c) const

Conversion de la valeur portée par le concept en chaîne.

Parameters
cSommet concept.
Returns
Chaîne représentant la valeur portée par le concept.
Precondition
c->hasDatatype(). Le datatype du concept est utilisé pour faire la conversion de la valeur en chaîne.

Member Data Documentation

◆ ANYURI

const iSet cogitant::DatatypeManager::ANYURI
static

Type de XSD : anyURI.

◆ BASE64BINARY

const iSet cogitant::DatatypeManager::BASE64BINARY
static

Type de XSD : base64Binary.

◆ BOOLEAN

const iSet cogitant::DatatypeManager::BOOLEAN
static

Type de XSD : boolean.

◆ BYTE

const iSet cogitant::DatatypeManager::BYTE
static

Type de XSD : byte.

◆ COGITANTRESERVEDINT1

const iSet cogitant::DatatypeManager::COGITANTRESERVEDINT1
static

Type entier réservé.

◆ COGITANTRESERVEDINT2

const iSet cogitant::DatatypeManager::COGITANTRESERVEDINT2
static

Type entier réservé.

◆ COGITANTRESERVEDINT3

const iSet cogitant::DatatypeManager::COGITANTRESERVEDINT3
static

Type entier réservé.

◆ DATE

const iSet cogitant::DatatypeManager::DATE
static

Type de XSD : date.

◆ DATETIME

const iSet cogitant::DatatypeManager::DATETIME
static

Type de XSD : dateTime.

◆ DECIMAL

const iSet cogitant::DatatypeManager::DECIMAL
static

Type de XSD : decimal.

◆ DOUBLE

const iSet cogitant::DatatypeManager::DOUBLE
static

Type de XSD : double.

◆ DURATION

const iSet cogitant::DatatypeManager::DURATION
static

Type de XSD : duration.

◆ ENTITIES

const iSet cogitant::DatatypeManager::ENTITIES
static

Type de XSD : ENTITIES.

◆ ENTITY

const iSet cogitant::DatatypeManager::ENTITY
static

Type de XSD : ENTITY.

◆ FIRST

const iSet cogitant::DatatypeManager::FIRST
static

Premier identifiant utilisé pour un type de données (par opposition aux identifiants utilisés pour les types de concepts "classiques").

◆ FIRSTFLOAT

const iSet cogitant::DatatypeManager::FIRSTFLOAT
static

Premier identifiant utilisé pour un type de données réel.

◆ FIRSTINTEGER

const iSet cogitant::DatatypeManager::FIRSTINTEGER
static

Premier identifiant utilisé pour un type de données entier.

◆ FIRSTSTRING

const iSet cogitant::DatatypeManager::FIRSTSTRING
static

Premier identifiant utilisé pour un type de données chaîne.

◆ FIRSTUSERDATATYPE

const iSet cogitant::DatatypeManager::FIRSTUSERDATATYPE
static

Premier identifiant utilisé pour un type de doonées utilisateur.

◆ FLOAT

const iSet cogitant::DatatypeManager::FLOAT
static

Type de données réel.

◆ GDAY

const iSet cogitant::DatatypeManager::GDAY
static

Type de XSD : gDay.

◆ GMONTH

const iSet cogitant::DatatypeManager::GMONTH
static

Type de XSD : gMonth.

◆ GMONTHDAY

const iSet cogitant::DatatypeManager::GMONTHDAY
static

Type de XSD : gMonthDay.

◆ GYEAR

const iSet cogitant::DatatypeManager::GYEAR
static

Type de XSD : gYear.

◆ GYEARMONTH

const iSet cogitant::DatatypeManager::GYEARMONTH
static

Type de XSD : gYearMonth.

◆ HEXBINARY

const iSet cogitant::DatatypeManager::HEXBINARY
static

Type de XSD : hexBinary.

◆ ID

const iSet cogitant::DatatypeManager::ID
static

Type de XSD : ID.

◆ IDREF

const iSet cogitant::DatatypeManager::IDREF
static

Type de XSD : IDREF.

◆ IDREFS

const iSet cogitant::DatatypeManager::IDREFS
static

Type de XSD : IDREFS.

◆ INT

const iSet cogitant::DatatypeManager::INT
static

Type de XSD : int.

◆ INTEGER

const iSet cogitant::DatatypeManager::INTEGER
static

Type de données entier.

◆ LANGUAGE

const iSet cogitant::DatatypeManager::LANGUAGE
static

Type de XSD : language.

◆ LITERAL

const iSet cogitant::DatatypeManager::LITERAL
static

Litéral non typé.

◆ LONG

const iSet cogitant::DatatypeManager::LONG
static

Type de XSD : long.

◆ NAME

const iSet cogitant::DatatypeManager::NAME
static

Type de XSD : Name.

◆ NCNAME

const iSet cogitant::DatatypeManager::NCNAME
static

Type de XSD : NCName.

◆ NEGATIVEINTEGER

const iSet cogitant::DatatypeManager::NEGATIVEINTEGER
static

Type de XSD : negativeInteger.

◆ NMTOKEN

const iSet cogitant::DatatypeManager::NMTOKEN
static

Type de XSD : NMTOKEN.

◆ NMTOKENS

const iSet cogitant::DatatypeManager::NMTOKENS
static

Type de XSD : NMTOKENS.

◆ NONNEGATIVEINTEGER

const iSet cogitant::DatatypeManager::NONNEGATIVEINTEGER
static

Type de XSD : nonNegativeInteger.

◆ NONPOSITIVEINTEGER

const iSet cogitant::DatatypeManager::NONPOSITIVEINTEGER
static

Type de XSD : nonPositiveInteger.

◆ NORMALIZEDSTRING

const iSet cogitant::DatatypeManager::NORMALIZEDSTRING
static

Type de XSD : normalizedString.

◆ NOTATION

const iSet cogitant::DatatypeManager::NOTATION
static

Type de XSD : NOTATION.

◆ POSITIVEINTEGER

const iSet cogitant::DatatypeManager::POSITIVEINTEGER
static

Type de XSD : positiveInteger.

◆ QNAME

const iSet cogitant::DatatypeManager::QNAME
static

Type de XSD : QName.

◆ SHORT

const iSet cogitant::DatatypeManager::SHORT
static

Type de XSD : short.

◆ STRING

const iSet cogitant::DatatypeManager::STRING
static

Type de données chaîne.

◆ TIME

const iSet cogitant::DatatypeManager::TIME
static

Type de XSD : time.

◆ TOKEN

const iSet cogitant::DatatypeManager::TOKEN
static

Type de XSD : token.

◆ UNSIGNEDBYTE

const iSet cogitant::DatatypeManager::UNSIGNEDBYTE
static

Type de XSD : unsignedByte.

◆ UNSIGNEDINT

const iSet cogitant::DatatypeManager::UNSIGNEDINT
static

Type de XSD : unsignedInt.

◆ UNSIGNEDLONG

const iSet cogitant::DatatypeManager::UNSIGNEDLONG
static

Type de XSD : unsignedLong.

◆ UNSIGNEDSHORT

const iSet cogitant::DatatypeManager::UNSIGNEDSHORT
static

Type de XSD : unsignedShort.