AELiteral Class Reference

A class that models Literal expressions. These include:

More...

Inherits AETerminalExprT< AEValueExpr >.

List of all members.

Public Member Functions

virtual void AcceptVisitor (AENodeVisitor &in_visitor)
 Calls the correct method on the visitor.
 AELiteral (const AELiteral &in_other)
 Copy constructor.
 AELiteral (PSLiteralType in_literalType, const simba_wstring &in_value, bool in_isDriverUnicode, bool in_isUnsigned=true)
 Constructor.
virtual AELiteralClone () const
 Creates a clone of this node object.
virtual const AELiteralGetAsLiteral () const
 Retrieves the object as an AELiteral object.
virtual AELiteralGetAsLiteral ()
 Retrieves the object as an AELiteral object.
PSLiteralType GetLiteralType () const
 Returns the type of the literal.
const simba_wstringGetLiteralValue () const
virtual simba_wstring GetLogString () const
 Returns a string name for this node for the purpose of logging.
virtual AENodeType GetNodeType () const
 Returns an integer that uniquely identifies the node class.
void UpdateSqlType (simba_int16 in_sqlType)
 Update the SQL type of the literal.
virtual ~AELiteral ()
 Destructor.

Protected Member Functions

virtual bool IsEqual (const AENode *in_another) const
 Tests whether two nodes are "equal".
bool IsEqualComprehensive (const AELiteral *in_another) const
 Returns true if both literals have the same value.

Detailed Description

A class that models Literal expressions. These include:

Will always have no children (GetChildCount() returns 0).


Constructor & Destructor Documentation

AELiteral ( PSLiteralType  in_literalType,
const simba_wstring in_value,
bool  in_isDriverUnicode,
bool  in_isUnsigned = true 
)

Constructor.

Parameters:
in_literalType The type of this literal.
in_value The value of the literal.
in_isDriverUnicode True if the driver is UNICODE-encoded; false if it is ANSI- encoded. This is only used for character string literals.
in_isUnsigned True if this literal is unsigned; false otherwise. True by default.
Exceptions:
SEInvalidArgumentException when in_value is an empty string.
AELiteral ( const AELiteral in_other  ) 

Copy constructor.

To support "cloning". See Clone() method.

Parameters:
in_other The other node to create copy from.
virtual ~AELiteral (  )  [virtual]

Destructor.


Member Function Documentation

virtual void AcceptVisitor ( AENodeVisitor in_visitor  )  [virtual]

Calls the correct method on the visitor.

Parameters:
in_visitor The visiting object.

Implements AENode.

virtual AELiteral* Clone (  )  const [virtual]

Creates a clone of this node object.

Returns:
A clone of this node object. (OWN)

Implements AEValueExpr.

virtual const AELiteral* GetAsLiteral (  )  const [virtual]

Retrieves the object as an AELiteral object.

Overrides the method defined in AEValueExpr.

Returns:
This object object always. (NOT OWN)

Reimplemented from AEValueExpr.

virtual AELiteral* GetAsLiteral (  )  [virtual]

Retrieves the object as an AELiteral object.

Overrides the method defined in AEValueExpr.

Returns:
This object object always. (NOT OWN)

Reimplemented from AEValueExpr.

PSLiteralType GetLiteralType (  )  const

Returns the type of the literal.

Returns:
the type of the literal.
const simba_wstring& GetLiteralValue (  )  const

Returns the value of the literal.

Returns:
the value of the literal.
virtual simba_wstring GetLogString (  )  const [virtual]

Returns a string name for this node for the purpose of logging.

Returns:
A string representation of this node for logging purposes.

Implements AENode.

virtual AENodeType GetNodeType (  )  const [virtual]

Returns an integer that uniquely identifies the node class.

See the definition of AENodeType for values defined.

Returns:
The ID that uniquely identifies this type of nodes.

Implements AENode.

virtual bool IsEqual ( const AENode in_another  )  const [protected, virtual]

Tests whether two nodes are "equal".

Two AELiteral's are equal if IsEqualComprehensive() returns true.

Parameters:
in_another Another node to compare to. (NOT OWN)
Returns:
true if two nodes are equal, false otherwise.

Reimplemented from AENode.

bool IsEqualComprehensive ( const AELiteral in_another  )  const [protected]

Returns true if both literals have the same value.

Parameters:
in_another Another node to compare to. (NOT OWN)
Returns:
true if two nodes are equal, false otherwise.
void UpdateSqlType ( simba_int16  in_sqlType  ) 

Update the SQL type of the literal.

This is used to change the detected SQL type of the literal if more knowledge later on allows a better choice to be made for the type.

Parameters:
in_sqlType The SQL type to change the literal to.

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

Generated on Wed May 17 14:21:16 2017 for SimbaEngine 10.1.3.1011 by simba