ANNA Suite  2020b
Multipurpose development suite for Telco applications
Public Member Functions | Protected Member Functions | Static Protected Member Functions | Friends | List of all members
anna::TextComposer Class Reference

#include <TextComposer.hpp>

Inheritance diagram for anna::TextComposer:
Inheritance graph
[legend]
Collaboration diagram for anna::TextComposer:
Collaboration graph
[legend]

Public Member Functions

 ~TextComposer ()
 
TextVariableoperator[] (const char *varName) noexcept(false)
 
void initialize () noexcept(false)
 
const int getId () const
 
int getNumberOfVariables () const
 
String asString () const
 

Protected Member Functions

 TextComposer (const int id, const char *expression)
 
String apply () const noexcept(false)
 

Static Protected Member Functions

static TextVariabletextVariable (variable_iterator ii)
 
static const TextVariabletextVariable (const_variable_iterator ii)
 

Friends

class TextManager
 

Detailed Description

Compositor de textos dinamicos.

Antes de invocar al metodo TextComposer::apply para obtener la cadena resultante de sustituir los enginees dinamicos habra que establecer el valor de cada uno de estos.

La indicacion de forma es igual a la usada en los metodos printf, sprintf, etc ...

Por ejemplo para establecer los valores de un compositor con la expresion: "Error en el circuito ${circuit:%d} de la central ${central:%05d} procesando mensaje ${messageid:%s}", deberiamos tener un codigo similar al que presentamos a continuacion:

util::TextComposer& ttcc = textManager.find (N);
util::TextComposer::Protector textComposer (ttcc);
textComposer ["circuit"] = a;
textComposer ["central"] = b;
textComposer ["messageid"] = c;
// Una vez hecho esto podemos obtener el texto
std::cout << textComposer.apply () << std::endl;

Donde hemos hecho las siguientes suposiciones:

Constructor & Destructor Documentation

◆ ~TextComposer()

anna::TextComposer::~TextComposer ( )

Destructor.

◆ TextComposer()

anna::TextComposer::TextComposer ( const int  id,
const char *  expression 
)
inlineprotected

Constructor.

Parameters
idIdentificador del compositor de texto.
expressionExpression asociada al compositor. El numero de variables que hay que establecer antes de invocar a apply dependera de este texto.
107 : a_id(id), a_expression(expression), a_prefix(NULL), a_buffer(true) {;}
Here is the call graph for this function:

Member Function Documentation

◆ apply()

String anna::TextComposer::apply ( ) const
protectednoexcept

Crea el texto teniendo en cuenta la expression y el contenido de las variables asociadas.

Returns
El texto teniendo en cuenta la expression y el contenido de las variables asociadas.

◆ asString()

String anna::TextComposer::asString ( ) const

Devuelve una cadena con la informacion relevante de este objeto.

Returns
Una cadena con la informacion relevante de este objeto.

◆ getId()

const int anna::TextComposer::getId ( ) const
inline

Devuelve el identificador del compositor, que coincidira con el indicado a la hora de crear el compositor mediante el metodo TextManager::create.

Returns
El identificador del compositor.
86 { return a_id; }

◆ getNumberOfVariables()

int anna::TextComposer::getNumberOfVariables ( ) const
inline

Devuelve el nº de variables asociadas al texto.

Returns
el nº de variables asociadas al texto.
92 { return container::size(); }
Here is the call graph for this function:

◆ initialize()

void anna::TextComposer::initialize ( )
noexcept

Método que realiza la interpretación del texto de esta instancia. Si la instancia se crea mediante un #util::TextManager no es necesario invocar a este método.

◆ operator[]()

TextVariable& anna::TextComposer::operator[] ( const char *  varName)
inlinenoexcept
71  {
72  return *(find(varName, Exception::Mode::Throw));
73  }
Definition: Exception.hpp:26
Here is the call graph for this function:

◆ textVariable() [1/2]

static TextVariable* anna::TextComposer::textVariable ( variable_iterator  ii)
inlinestaticprotected

Devuelve la instancia de la variable a la que apunta el iterador. return la instancia de la variable a la que apunta el iterador.

119 { return *ii; }

◆ textVariable() [2/2]

static const TextVariable* anna::TextComposer::textVariable ( const_variable_iterator  ii)
inlinestaticprotected

Devuelve la instancia de la variable a la que apunta el iterador. return la instancia de la variable a la que apunta el iterador.

125 { return *ii; }
Here is the call graph for this function:

Friends And Related Function Documentation

◆ TextManager

friend class TextManager
friend

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