Fawkes API  Fawkes Development Version
InterfaceField Class Reference

Interface generator internal representation of a field as parsed from the XML template file. More...

#include <interfaces/generator/field.h>

Public Member Functions

 InterfaceField (std::vector< InterfaceEnumConstant > *enum_constants=NULL)
 Constructor. More...
 
void setComment (const std::string &comment)
 Set comment of field. More...
 
void setName (const std::string &name)
 Set name of field. More...
 
void setType (const std::string &type)
 Set type of field. More...
 
bool isEnumType () const
 Check if type is an enum type. More...
 
void setLength (const std::string &length)
 Set length of field. More...
 
void setFlags (const std::vector< std::string > &flags)
 Set flags. More...
 
void setValidFor (const std::string &validfor)
 Set valid for time. More...
 
void setDefaultValue (const std::string &default_value)
 Set default value. More...
 
void setAttribute (const std::string &attr_name, const std::string &attr_value)
 Set attribute. More...
 
void valid ()
 Assert validity. More...
 
std::string getName () const
 Get name of field. More...
 
std::string getComment () const
 Get comment of field. More...
 
std::string getType () const
 Get type of field. More...
 
std::string getAccessType () const
 Get type as used for accessor methods of class. More...
 
std::string getStructType () const
 Get type used to formulate struct. More...
 
std::string getPlainAccessType () const
 Get non-array accessor type. More...
 
std::string getLength () const
 Get field length. More...
 
unsigned int getLengthValue () const
 Get length value. More...
 
std::vector< std::string > getFlags () const
 Get flags. More...
 
std::string getValidFor () const
 Get valid for time. More...
 
std::string getDefaultValue () const
 Get default value. More...
 
const std::vector< InterfaceEnumConstant > * getEnumConstants () const
 Get vector of enum constants. More...
 
const InterfaceEnumConstantgetEnumConstant (const std::string &name) const
 Get specific enum constant. More...
 
bool operator< (const InterfaceField &f) const
 Check order of two elements. More...
 

Detailed Description

Interface generator internal representation of a field as parsed from the XML template file.

Definition at line 31 of file field.h.

Constructor & Destructor Documentation

◆ InterfaceField()

InterfaceField::InterfaceField ( std::vector< InterfaceEnumConstant > *  enum_constants = NULL)

Constructor.

Parameters
enum_constantsenumeration constants that are available and which can be used as value type.

Definition at line 40 of file field.cpp.

Member Function Documentation

◆ getAccessType()

std::string InterfaceField::getAccessType ( ) const

Get type as used for accessor methods of class.

Returns
accessor type

Definition at line 83 of file field.cpp.

◆ getComment()

std::string InterfaceField::getComment ( ) const

Get comment of field.

Returns
comment of field.

Definition at line 73 of file field.cpp.

◆ getDefaultValue()

std::string InterfaceField::getDefaultValue ( ) const

Get default value.

Returns
default value

Definition at line 193 of file field.cpp.

◆ getEnumConstant()

const InterfaceEnumConstant & InterfaceField::getEnumConstant ( const std::string &  name) const

Get specific enum constant.

Parameters
nametype name of enum constant
Returns
const reference on enum constant
Exceptions
Exceptionthrown if no enum constant of the given name could be found

Definition at line 215 of file field.cpp.

◆ getEnumConstants()

const std::vector< InterfaceEnumConstant > * InterfaceField::getEnumConstants ( ) const

Get vector of enum constants.

Returns
const reference to vector of interface enum constants.

Definition at line 203 of file field.cpp.

◆ getFlags()

std::vector< std::string > InterfaceField::getFlags ( ) const

Get flags.

Returns
flags.

Definition at line 234 of file field.cpp.

◆ getLength()

std::string InterfaceField::getLength ( ) const

Get field length.

Returns
field length

Definition at line 160 of file field.cpp.

◆ getLengthValue()

unsigned int InterfaceField::getLengthValue ( ) const

Get length value.

This gives the length of the value as a uint instead of a string which is sufficient for the generation of the interface but may not be sufficient for more elaborated usage.

Returns
length of the value

Definition at line 173 of file field.cpp.

◆ getName()

std::string InterfaceField::getName ( void  ) const

Get name of field.

Returns
name of field.

Definition at line 53 of file field.cpp.

Referenced by InterfaceParser::getFields().

◆ getPlainAccessType()

std::string InterfaceField::getPlainAccessType ( ) const

Get non-array accessor type.

Returns
accessor type

Definition at line 113 of file field.cpp.

◆ getStructType()

std::string InterfaceField::getStructType ( ) const

Get type used to formulate struct.

Returns
struct type

Definition at line 131 of file field.cpp.

◆ getType()

std::string InterfaceField::getType ( ) const

Get type of field.

Returns
type of field.

Definition at line 63 of file field.cpp.

◆ getValidFor()

std::string InterfaceField::getValidFor ( ) const

Get valid for time.

Returns
valid for time

Definition at line 183 of file field.cpp.

◆ isEnumType()

bool InterfaceField::isEnumType ( ) const

Check if type is an enum type.

Returns
true if the type of this field is an enum type, false otherwise

Definition at line 151 of file field.cpp.

◆ operator<()

bool InterfaceField::operator< ( const InterfaceField f) const

Check order of two elements.

The overall order is like the following:

  1. unsigned int
  2. int
  3. unsigned long int
  4. long int
  5. float
  6. double
  7. bool
  8. byte
  9. char *
    Parameters
    ffield to compare to
    Returns
    true, if current instance is small than f, false otherwise

Definition at line 425 of file field.cpp.

◆ setAttribute()

void InterfaceField::setAttribute ( const std::string &  attr_name,
const std::string &  attr_value 
)

Set attribute.

Parameters
attr_nameattribute name
attr_valueattribute value.

Definition at line 351 of file field.cpp.

References setDefaultValue(), setLength(), setName(), setType(), and setValidFor().

Referenced by InterfaceParser::getFields().

◆ setComment()

void InterfaceField::setComment ( const std::string &  comment)

Set comment of field.

Parameters
commentnew comment of field.

Definition at line 273 of file field.cpp.

Referenced by InterfaceParser::getFields().

◆ setDefaultValue()

void InterfaceField::setDefaultValue ( const std::string &  default_value)

Set default value.

Parameters
default_valuenew default value

Definition at line 304 of file field.cpp.

Referenced by setAttribute().

◆ setFlags()

void InterfaceField::setFlags ( const std::vector< std::string > &  flags)

Set flags.

Parameters
flagsnew flags of field

Definition at line 314 of file field.cpp.

◆ setLength()

void InterfaceField::setLength ( const std::string &  length)

Set length of field.

Parameters
lengthset length of field.

Definition at line 283 of file field.cpp.

Referenced by setAttribute().

◆ setName()

void InterfaceField::setName ( const std::string &  name)

Set name of field.

Parameters
namenew name of field.

Definition at line 263 of file field.cpp.

Referenced by setAttribute().

◆ setType()

void InterfaceField::setType ( const std::string &  type)

Set type of field.

Parameters
typenew type of field.

Definition at line 244 of file field.cpp.

Referenced by setAttribute().

◆ setValidFor()

void InterfaceField::setValidFor ( const std::string &  validfor)

Set valid for time.

Parameters
validfornew valid for time

Definition at line 294 of file field.cpp.

Referenced by setAttribute().

◆ valid()

void InterfaceField::valid ( )

Assert validity.

Calling valid() acts like an assertion. An Exception is thrown if something is wrong.

Exceptions
InterfaceGeneratorInvalidTypeExceptionthrown if InterfaceDataTypeChecker reports invalid type.
InterfaceGeneratorInvalidValueExceptionthrown if any supplied value is illegal.
InterfaceGeneratorInvalidFlagExceptionthrown if invalid flag has been supplied.

Definition at line 379 of file field.cpp.

References InterfaceDataTypeChecker::validType(), and InterfaceDataTypeChecker::validValue().

Referenced by InterfaceParser::getFields().


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