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

Classes | Public Member Functions | Protected Member Functions | List of all members
cogitant::OperationBCGCTInput Class Reference

Opération de lecture de support/graphes au format BCGCT. More...

#include "cogitant/inputbcgct.h"

Inheritance diagram for cogitant::OperationBCGCTInput:
cogitant::OperationInput cogitant::OperationIO cogitant::IStreamReader cogitant::Operation cogitant::OperationBase cogitant::ObservableObject cogitant::CogitantObject

Classes

class  IStreamBCGCT
 Flux de lecture d'un fichier au format BCGCT. More...
 

Public Member Functions

void run ()
 Lancement de l'opération. More...
 
Constructeurs - destructeur.
 OperationBCGCTInput (Environment *env)
 Constructeur. More...
 
 OperationBCGCTInput (OperationBCGCTInput const &o)
 Constructeur par recopie. More...
 
 ~OperationBCGCTInput ()
 Destructeur. More...
 
- Public Member Functions inherited from cogitant::OperationInput
Error check ()
 Vérification des paramètres. More...
 
void run ()
 Lancement de l'opération. More...
 
std::string streamName () const
 Nom du flux. More...
 
IStream const * currentStream () const
 Méthode abstraite retournant le flux en cours de lecture. More...
 
 OperationInput (Environment *env)
 Constructeur. More...
 
 OperationInput (OperationInput const &o)
 Constructeur par recopie. More...
 
 ~OperationInput ()
 Destructeur. More...
 
virtual void setParamStream (std::istream *stream, std::string const &streamname)
 Choix du flux (C++) de lecture et de son nom. More...
 
void setParamReadSupport (bool support)
 
void setParamReadObjects (bool objects)
 
void setParamInEnvironment (bool inenvironment)
 
void setParamConvertCgtInterface (bool c)
 
void setParamGraphObjectIdentifiers (bool c)
 Choix de la conservation des identificateurs des objets du graphes. More...
 
void setParamAutoCreateTypes (bool a)
 Accepte des types de concepts, relations, emboîtements inconnus lors du chargement d'un graphe. More...
 
void setParamAutoCreateIndividuals (bool a)
 Accepte des marqueurs individuels inconnus lors du chargement d'un graphe. More...
 
void setParamIgnoreRedeclarationIndividuals (bool r)
 Accepte (et ignore) la redéclaration de marqueurs individuels. More...
 
void setParamForceDestinationGraph (iSet dg=ISET_NULL)
 Force la lecture des connaissances graphe dans un objet Graph bien précis. More...
 
void setParamPropertyFilter (PropertySet::Filter *f)
 Fixe le filtre de propriétés. More...
 
void setParamBaseIds (std::string const &b)
 Fixe la base des identificateurs relatifs. More...
 
void setParamResultEnvironmentIds (std::vector< iSet > *resultenvironmentids)
 
void setParamResultObjects (Set< EnvironmentObject *> *resultobjects)
 
void copyConfig (OperationInput const &src)
 Copie la configuration de l'opération passée en paramètre dans la configuration de l'opération courante. More...
 
std::vector< iSet > * getResultEnvironmentIds () const
 
Set< EnvironmentObject * > * getResultObjects () const
 
- Public Member Functions inherited from cogitant::OperationIO
virtual bool binaryFile () const
 Les fichiers gérés par cette opération doivent-ils être ouverts en mode binaire. More...
 
 OperationIO (Environment *env)
 Constructeur. More...
 
 ~OperationIO ()
 Destructeur. More...
 
- Public Member Functions inherited from cogitant::Operation
Environmentenvironment () const
 Environnement. More...
 
void setEnvironment (Environment *env)
 Modification de l'environnement sur lequel est défini l'opération. More...
 
 Operation (Environment *env)
 Constructeur. More...
 
 Operation (Operation const &o)
 Constructeur par recopie. More...
 
 ~Operation ()
 Destructeur. More...
 
- Public Member Functions inherited from cogitant::OperationBase
void stop ()
 Stopper l'opération dès que possible. More...
 
bool isStopped () const
 Est-ce que l'opération a été stoppée. More...
 
 OperationBase ()
 Constructeur. More...
 
 OperationBase (OperationBase const &o)
 Constructeur par recopie. More...
 
 ~OperationBase ()
 Destructeur. More...
 
- Public Member Functions inherited from cogitant::ObservableObject
 ObservableObject ()
 Constructeur. More...
 
 ObservableObject (ObservableObject const &o)
 Constructeur par recopie. More...
 
 ~ObservableObject ()
 Destructeur. More...
 
ObserverSet const & observers () const
 Accès à l'ensemble des observateurs. More...
 
bool hasObservers () const
 Existence d'observateurs. More...
 
bool hasObservers (ObserverMessage::Type mt) const
 Existence d'observateurs qui écoutent le type de message passé. More...
 
void attachObserver (Observer *obs)
 Ajoute un nouvel observateur à l'objet. More...
 
void detachObserver (Observer *obs)
 Supprime le lien entre l'observateur et l'objet. More...
 
void notifyObservers (ObserverMessage const *msg)
 Envoie le message de modification à tous les observateurs. More...
 
- Public Member Functions inherited from cogitant::CogitantObject
 CogitantObject ()
 Constructeur. More...
 
 CogitantObject (CogitantObject const &o)
 Constructeur par recopie. More...
 
virtual ~CogitantObject ()
 Destructeur. More...
 
PropertySetproperties ()
 Accès à l'ensemble des propriétés. More...
 
virtual std::string toString () const
 Transformation en chaîne de caractères. More...
 
std::string className () const
 Nom de la classe. More...
 
PropertySet const * properties () const
 Accès en lecture seule à l'ensemble des propriétés. More...
 
bool hasProperties () const
 Existence de propriétés. More...
 
CogitantObjectoperator= (CogitantObject const &ob)
 Affectation. More...
 
- Public Member Functions inherited from cogitant::IStreamReader
virtual ~IStreamReader ()
 Destructeur. More...
 

Protected Member Functions

Property::Type stringToPropertyType (std::string const &s, iSet *sub=NULL, std::string *nomprop=NULL) const
 Type de propriété représenté par une chaîne. More...
 
void throwException (unsigned int code, std::string const &streamname, unsigned int line, std::string const &msg="") const
 Lève une exception du type correspondant à une erreur d'analyse du flux d'entrée. More...
 
ExceptionInputcreateWarning (unsigned int code, std::string const &streamname, unsigned int line, std::string const &msg) const
 Crée une exception non fatale. More...
 
void readCommentBCGCT2 (std::string &s)
 Lecture d'une valeur de commentaire structuré au format BCGCT 2. More...
 
void readSupport ()
 Lecture d'un support. More...
 
void readTConSet ()
 Lecture de l'ensemble partiellement ordonné des types de concepts. More...
 
void readTRelSet ()
 Lecture de l'ensemble partiellement ordonné des types de relations. More...
 
void readTNesSet ()
 Lecture de l'ensemble partiellement ordonné des types d'emboîtements. More...
 
void readConf ()
 Lecture de l'ensemble des marqueurs individuels et de la relation de conformité. More...
 
void readBannedTypes ()
 Lecture de l'ensemble des types intedits. More...
 
void readCoupleOfLambdas (EnvironmentObject::Type t)
 Lecture d'une règle. More...
 
void readGraph ()
 Lecture d'un graphe. More...
 
IStream::Lexeme readConcepts ()
 Lecture de l'ensemble des sommets concept d'un graphe. More...
 
IStream::Lexeme readRelations ()
 Lecture de l'ensemble des sommets relation d'un graphe. More...
 
IStream::Lexeme readEdges ()
 Lecture de l'ensemble des arêtes d'un graphe. More...
 
IStream::Lexeme readExtensions ()
 Lecture de l'ensemble des extension d'un graphe. More...
 
void readProperties (CogitantObject *o)
 Lecture des propriétés d'un objet. More...
 
- Protected Member Functions inherited from cogitant::OperationInput
IStream::LexemeType assertLexeme (IStream::Lexeme &s, IStream::LexemeType l1, wchar_t sc1=0, IStream::LexemeType l2=IStream::LEX_UNKNOWN, wchar_t sc2=0, IStream::LexemeType l3=IStream::LEX_UNKNOWN, wchar_t sc3=0, IStream::LexemeType l4=IStream::LEX_UNKNOWN, wchar_t sc4=0, IStream::LexemeType l5=IStream::LEX_UNKNOWN, wchar_t sc5=0)
 Lit le lexème suivant qui doit être d'un des types donnés. More...
 
IStream::LexemeType assertLexeme (IStream::Lexeme &s, IStream::LexemeType ltypes[], wchar_t lchars[])
 Lit le lexème suivant qui doit être d'un des types donnés. More...
 
IStream::LexemeType verifyLexeme (IStream::Lexeme const &l, IStream::LexemeType l1, wchar_t sc1=0, IStream::LexemeType l2=IStream::LEX_UNKNOWN, wchar_t sc2=0, IStream::LexemeType l3=IStream::LEX_UNKNOWN, wchar_t sc3=0, IStream::LexemeType l4=IStream::LEX_UNKNOWN, wchar_t sc4=0, IStream::LexemeType l5=IStream::LEX_UNKNOWN, wchar_t sc5=0)
 Vérifie si un lexème est d'un des types donnés. More...
 
IStream::LexemeType verifyLexeme (IStream::Lexeme const &l, IStream::LexemeType ltypes[], wchar_t lchars[])
 Vérifie si un lexème est d'un des types donnés. More...
 
virtual _NO_RETURN_PRE void throwExceptionCurrent (unsigned int code, std::string const &msg="") const _NO_RETURN_POST
 Lève une exception (par appel à throwException()) sur la ligne courante sur le flux courant. More...
 
void throwWarningCurrent (unsigned int code, std::string const &msg="")
 Lève une exception non fatale. More...
 
virtual IStream::Line currentLine () const
 Retourne la ligne en cours d'analyse. More...
 
virtual std::string currentStreamName () const
 Retourne le nom du flux en cours d'analyse. More...
 
void convertCgtInterface (Graph *g)
 Conversion du codage des propriétés graphiques de cgtinterface/CoGui. More...
 
iSet findConceptType (std::string const &i, bool throwifnotfound) const
 Raccourci pour chercher un type de concept dans le support, et qui le crée éventuellement à l'occasion, selon le réglage de l'opération. More...
 
iSet findConceptOrDataType (std::string const &i) const
 Raccourci pour chercher un type de concept ou de données dans le support. More...
 
iSet findRelationType (std::string const &i, bool throwifnotfound) const
 Raccourci pour chercher un type de relation dans le support, et qui le crée éventuellement à l'occasion, selon le réglage de l'opération. More...
 
iSet findNestingType (std::string const &i, bool throwifnotfound) const
 Raccourci pour chercher un type d'emboîtement dans le support, et qui le crée éventuellement à l'occasion, selon le réglage de l'opération. More...
 
iSet findIndividual (std::string const &i, bool throwifnotfound) const
 Raccourci pour chercher un marqueur individuel dans le support, et qui le crée éventuellement à l'occasion, selon le réglage de l'opération. More...
 
iSet findDatatype (std::string const &i, bool throwifnotfound) const
 Raccourci pour chercher un Datatype dans le support, et qui le crée éventuellement à l'occasion, selon le réglage de l'opération. More...
 
iSet findConceptTypeById (std::string const &id, bool throwifnotfound) const
 Retourne l'iSet du type de concept dont l'identificateur (ConceptType::identifier()) est passé en paramètre. More...
 
iSet findConceptOrDataTypeById (std::string const &id) const
 Retourne l'iSet du type de concept ou de données dont l'identificateur (ConceptType::identifier()) est passé en paramètre. More...
 
iSet findRelationTypeById (std::string const &id, bool throwifnotfound) const
 Retourne l'iSet du type de relation dont l'identificateur (RelationType::identifier()) est passé en paramètre. More...
 
iSet findNestingTypeById (std::string const &id, bool throwifnotfound) const
 Retourne l'iSet du type d'emboîtement dont l'identificateur (NetingType::identifier()) est passé en paramètre. More...
 
iSet findIndividualById (std::string const &id, bool throwifnotfound) const
 Retourne l'iSet du marqueur individual dont l'identificateur (Individual::identifier()) est passé en paramètre. More...
 
void previouslyReadClear ()
 Efface la mémorisation des intitulés et identifiants déjà lus. More...
 
bool previouslyReadHas (bool id, std::string const &s) const
 Est-ce que que l'identifiant ou l'intitulé a déjà été lu. More...
 
void previouslyReadAdd (bool id, std::string const &s)
 Ajoute un identifiant ou un intitulé à l'ensemble des chaînes déjà lues. More...
 
bool previouslyReadAddVerify (bool id, std::string const &s)
 Ajoute un identifiant ou un intitulé si celui-ci ne figure pas déjà dans l'ensemble des chaînes déjà lues. More...
 
void previouslyReadInit (bool label, bool id, int s)
 Construit les structures de données prévues pour tester si un intitulé ou un identificateur a déjà été lu. More...
 
bool propertyAccept (Property::Type p, iSet sub=ISET_NULL) const
 La propriété doit-elle être acceptée. More...
 
bool propertyAccept (std::string p, iSet sub=ISET_NULL) const
 La propriété doit-elle être acceptée. More...
 
- Protected Member Functions inherited from cogitant::OperationIO
virtual std::string propertyTypeToString (Property::Type p, iSet sub=ISET_NULL) const
 Chaîne de caractères représentant une propriété. More...
 
void throwExceptionIO (std::string const &what, unsigned int code=0, unsigned int line=0)
 Levée d'une exception de type ExceptionIO. More...
 
- Protected Member Functions inherited from cogitant::Operation
void setProgress (unsigned int current, unsigned int max)
 Progression actuelle de l'opération. More...
 
- Protected Member Functions inherited from cogitant::ObservableObject
virtual ObserverSetallocObservers () const
 Fonction créant l'instance d'une sous classe de ObserverSet pour la représentation de l'ensemble des observateurs de l'objet. More...
 
ObserverSetobservers ()
 Accès à l'ensemble des observateurs. More...
 
- Protected Member Functions inherited from cogitant::CogitantObject
virtual PropertySetallocProperties () const
 Fonction créant l'instance d'une sous classe de PropertySet pour la représentation des propriétés de l'objet. More...
 

Additional Inherited Members

- Public Types inherited from cogitant::OperationBase
typedef unsigned int Error
 Résultat de la vérification des arguments d'une opération. More...
 
- Static Public Member Functions inherited from cogitant::OperationIO
static Property::Type stringToPropertyTypeDefault (const std::string &s)
 Type de propriété représenté par une chaîne (nom de stockage) Cette méthode (de classe) permet la correspondance entre types et chaînes pour les propriétés standard. More...
 
static std::string propertyTypeToStringDefault (Property::Type p)
 Chaîne de caractères (nom de stockage) représentant une propriété. More...
 
- Static Public Attributes inherited from cogitant::Operation
static const Error PROJBACKTRACKCHOICE_EMPTYLIST
 Impossible d'enlever un élément à une liste vide. More...
 
static const Error OBJECTTYPE
 Un (identifiant d') objet parmi les paramètres n'est pas du bon type. More...
 
static const Error WRONGEDGES
 Un graphe parmi les paramètres de l'opération possède des arêtes pendantes. More...
 
- Static Public Attributes inherited from cogitant::OperationBase
static const Error CHECKOK
 Pas d'erreur. More...
 
static const Error ARGUMENTS
 Certains paramètres de l'opération n'ont pas été fixés. More...
 
static const Error UNUSED
 Symbole d'erreur inutilisé. More...
 
- Protected Attributes inherited from cogitant::OperationInput
IStreamm_stream
 Flux de lecture.
 
bool i_support
 Lecture d'un support autorisée.
 
bool i_objects
 Lecture d'EnvironmentObject autorisée.
 
bool i_inenvironment
 Les objets lus sont-ils stockés dans l'environnement (true) ou dans le résultat de l'opération (false).
 
bool i_convertcgti
 Conversion des propriétés graphiques des fichiers générés par cgtinterface/CoGui.
 
bool i_graphobjectidentifiers
 Conservation des identificateurs des objets lus dans le fichier dans les graphes. More...
 
bool i_autocreatetypes
 Création automatique de types dans le support quand des graphes/règles/contraintes sont lus.
 
bool i_autocreateindividuals
 Création automatique de marqueurs individuels quand des graphes/règles/contraintes sont lus.
 
bool i_ignoreredeclarationindividuals
 Ignore les déclarations de marqueurs individuels existants.
 
iSet i_forcegraph
 Graphe destination des connaissances lues.
 
PropertySet::Filteri_propfilter
 Filtre pour la lecture de propriétés. More...
 
std::string i_baseids
 Base pour les identifiants relatifs. More...
 
std::vector< iSet > * io_resultenvironmentids
 Si les objets lus sont stockés dans l'environnement, contient en sortie les identificateurs des objets lus.
 
Set< EnvironmentObject * > * io_resultobjects
 Si les objets lus sont stockés dans le résultat de l'opération, contient en sortie des pointeurs vers les objets lus.
 
EnvironmentObjectm_object
 Objet (Graph ou Rule) en cours de lecture.
 
MapIdentISet m_formatid
 Correspondances identificateurs du format (CoGXML, BCGCT, etc.) - identificateurs internes à l'objet en cours de lecture. More...
 
std::set< std::string > m_previouslyreadlabels
 Intitulés (labels) déjà lus. More...
 
std::set< std::string > m_previouslyreadids
 Identificateurs déjà lus. More...
 
bool m_supportadd
 Est-ce que le support en cours de lecture est un ajout au support précédent ( true ) ou un nouveau support ( false ). More...
 
- Protected Attributes inherited from cogitant::OperationBase
bool m_stop
 Arrêt de l'exécution de l'opération demandé. More...
 
- Static Protected Attributes inherited from cogitant::OperationIO
static const char * c_standardproperties_label []
 
static const Property::Type c_standardproperties_id []
 

Detailed Description

Opération de lecture de support/graphes au format BCGCT.

Si la propriété Property::FILE_VERSION est définie, le fichier est lu comme étant de la variante du format BCGCT correspondante, sinon, le fichier est lu comme la variante 2 du format sauf si l'entête du fichier force la variante utilisée (ce qui est le cas des fichiers BCGCT à la variante 3). Après l'appel à run(), la propriété Property::FILE_VERSION contient la variante du fichier lu.

See also
Property::FILE_VERSION, BCGCT Format.

Constructor & Destructor Documentation

◆ OperationBCGCTInput() [1/2]

cogitant::OperationBCGCTInput::OperationBCGCTInput ( Environment env)

Constructeur.

◆ OperationBCGCTInput() [2/2]

cogitant::OperationBCGCTInput::OperationBCGCTInput ( OperationBCGCTInput const &  o)

Constructeur par recopie.

◆ ~OperationBCGCTInput()

cogitant::OperationBCGCTInput::~OperationBCGCTInput ( )

Destructeur.

Member Function Documentation

◆ createWarning()

ExceptionInput* cogitant::OperationBCGCTInput::createWarning ( unsigned int  code,
std::string const &  streamname,
unsigned int  line,
std::string const &  msg 
) const
protectedvirtual

Crée une exception non fatale.

Implements cogitant::OperationInput.

◆ readBannedTypes()

void cogitant::OperationBCGCTInput::readBannedTypes ( )
protected

Lecture de l'ensemble des types intedits.

Le mot clef BannedTypes doit déjà être lu avant l'appel à cette méthode.

◆ readCommentBCGCT2()

void cogitant::OperationBCGCTInput::readCommentBCGCT2 ( std::string &  s)
protected

Lecture d'une valeur de commentaire structuré au format BCGCT 2.

◆ readConcepts()

IStream::Lexeme cogitant::OperationBCGCTInput::readConcepts ( )
protected

Lecture de l'ensemble des sommets concept d'un graphe.

Le mot clef CONCEPTS doit déjà être lu avant l'appel à cette méthode.

◆ readConf()

void cogitant::OperationBCGCTInput::readConf ( )
protected

Lecture de l'ensemble des marqueurs individuels et de la relation de conformité.

Le mot clef Conf doit déjà être lu avant l'appel à cette méthode.

◆ readCoupleOfLambdas()

void cogitant::OperationBCGCTInput::readCoupleOfLambdas ( EnvironmentObject::Type  t)
protected

Lecture d'une règle.

Le mot clef RULE POSITIVECONSTRAINT ou NEGATIVECONSTRAINT doit déjà être lu avant l'appel à cette méthode.

◆ readEdges()

IStream::Lexeme cogitant::OperationBCGCTInput::readEdges ( )
protected

Lecture de l'ensemble des arêtes d'un graphe.

Le mot clef Edges doit déjà être lu avant l'appel à cette méthode.

◆ readExtensions()

IStream::Lexeme cogitant::OperationBCGCTInput::readExtensions ( )
protected

Lecture de l'ensemble des extension d'un graphe.

Le mot clef Extensions doit déjà être lu avant l'appel à cette méthode.

◆ readGraph()

void cogitant::OperationBCGCTInput::readGraph ( )
protected

Lecture d'un graphe.

Le mot clef GRAPH doit déjà être lu avant l'appel à cette méthode.

◆ readProperties()

void cogitant::OperationBCGCTInput::readProperties ( CogitantObject o)
protected

Lecture des propriétés d'un objet.

Parameters
ol'objet dans lequel les propriétés lues sont stockées. Le caractère { doit déjà être lu avant l'appel à cette méthode.

◆ readRelations()

IStream::Lexeme cogitant::OperationBCGCTInput::readRelations ( )
protected

Lecture de l'ensemble des sommets relation d'un graphe.

Le mot clef RELATIONS doit déjà être lu avant l'appel à cette méthode.

◆ readSupport()

void cogitant::OperationBCGCTInput::readSupport ( )
protected

Lecture d'un support.

Le mot clef SUPPORT doit déjà être lu avant l'appel à cette méthode.

◆ readTConSet()

void cogitant::OperationBCGCTInput::readTConSet ( )
protected

Lecture de l'ensemble partiellement ordonné des types de concepts.

Le mot clef TConSet doit déjà être lu avant l'appel à cette méthode.

◆ readTNesSet()

void cogitant::OperationBCGCTInput::readTNesSet ( )
protected

Lecture de l'ensemble partiellement ordonné des types d'emboîtements.

Le mot clef TNesSet doit déjà être lu avant l'appel à cette méthode.

◆ readTRelSet()

void cogitant::OperationBCGCTInput::readTRelSet ( )
protected

Lecture de l'ensemble partiellement ordonné des types de relations.

Le mot clef TRelSet doit déjà être lu avant l'appel à cette méthode.

◆ run()

void cogitant::OperationBCGCTInput::run ( )
virtual

Lancement de l'opération.

Cette méthode ne retourne rien mais le résultat de l'opération peut être récupéré avec les méthodes getResultxxx() (différentes selon les sous classes de Operation).

Implements cogitant::OperationBase.

◆ stringToPropertyType()

Property::Type cogitant::OperationBCGCTInput::stringToPropertyType ( std::string const &  s,
iSet sub = NULL,
std::string *  nomprop = NULL 
) const
protectedvirtual

Type de propriété représenté par une chaîne.

Par défaut, cette méthode appelle stringToPropertyTypeDefault().

Parameters
schaîne à traduire.
subsi différent de NULL essaie d'interpréter s comme une chaine contenant aussi une valeur entière, la valeur entière est alors stockée dans *result (qui contient ISET_NULL si aucune valeur entière n'a été lue).
nompropsi différent de NULL, contient en sortie le nom de la propriété, ce qui peut être utile s'il s'agit d'une propriété non standard.
Returns
le type de propriété (Property::Type) associé à la chaîne passée ou Property::UNDEFINED si la chaîne ne correspond à aucune propriété connue.

Reimplemented from cogitant::OperationIO.

◆ throwException()

void cogitant::OperationBCGCTInput::throwException ( unsigned int  code,
std::string const &  streamname,
unsigned int  line,
std::string const &  msg = "" 
) const
protectedvirtual

Lève une exception du type correspondant à une erreur d'analyse du flux d'entrée.

Il est préférable de redéfinir cette méthode les sous-classes car elle lève une ExceptionInput et il est préférable de lever des types d'exceptions spécifiques à chaque format.

Parameters
codesous-code d'erreur.
streamnamenom du flux contenant l'erreur.
lineligne du flux contenant l'erreur.
msgmessage d'erreur.

Reimplemented from cogitant::OperationInput.