#include <Assign.h>

Inheritance diagram for ESIAssign:
Collaboration diagram for ESIAssign:

Public Types

enum  ESIElementType_t {
  ESI_ELEMENT_NONE,
  ESI_ELEMENT_INCLUDE,
  ESI_ELEMENT_COMMENT,
  ESI_ELEMENT_REMOVE,
  ESI_ELEMENT_TRY,
  ESI_ELEMENT_ATTEMPT,
  ESI_ELEMENT_EXCEPT,
  ESI_ELEMENT_VARS,
  ESI_ELEMENT_CHOOSE,
  ESI_ELEMENT_WHEN,
  ESI_ELEMENT_OTHERWISE,
  ESI_ELEMENT_ASSIGN
}
 
typedef RefCount< ESIElementPointer
 

Public Member Functions

 ESIAssign (esiTreeParentPtr, int, const char **, ESIContext *)
 
 ESIAssign (ESIAssign const &)
 
ESIAssignoperator= (ESIAssign const &)
 
 ~ESIAssign ()
 
esiProcessResult_t process (int dovars)
 
void render (ESISegment::Pointer)
 
bool addElement (ESIElement::Pointer)
 
void provideData (ESISegment::Pointer data, ESIElement *source)
 
Pointer makeCacheable () const
 
Pointer makeUsable (esiTreeParentPtr, ESIVarState &) const
 
void finish ()
 
virtual bool mayFail () const
 
virtual void fail (ESIElement *source, char const *reason=NULL)
 

Static Public Member Functions

static ESIElementType_t IdentifyElement (const char *)
 

Private Member Functions

 MEMPROXY_CLASS (ESIAssign)
 
void evaluateVariable ()
 

Private Attributes

esiTreeParentPtr parent
 
ESIVarStatevarState
 
String name
 
ESIVariableExpressionvalue
 
ESIElement::Pointer variable
 
String unevaluatedVariable
 

Detailed Description

Definition at line 32 of file Assign.h.

Member Typedef Documentation

◆ Pointer

Definition at line 46 of file Element.h.

Member Enumeration Documentation

◆ ESIElementType_t

Enumerator
ESI_ELEMENT_NONE 
ESI_ELEMENT_INCLUDE 
ESI_ELEMENT_COMMENT 
ESI_ELEMENT_REMOVE 
ESI_ELEMENT_TRY 
ESI_ELEMENT_ATTEMPT 
ESI_ELEMENT_EXCEPT 
ESI_ELEMENT_VARS 
ESI_ELEMENT_CHOOSE 
ESI_ELEMENT_WHEN 
ESI_ELEMENT_OTHERWISE 
ESI_ELEMENT_ASSIGN 

Definition at line 49 of file Element.h.

Constructor & Destructor Documentation

◆ ESIAssign() [1/2]

ESIAssign::ESIAssign ( esiTreeParentPtr  aParent,
int  attrcount,
const char **  attr,
ESIContext aContext 
)

Definition at line 32 of file Assign.cc.

References assert, cbdataReference, debugs, i, name, unevaluatedVariable, varState, and ESIContext::varState.

Referenced by makeCacheable(), and makeUsable().

◆ ESIAssign() [2/2]

ESIAssign::ESIAssign ( ESIAssign const &  old)

Definition at line 29 of file Assign.cc.

◆ ~ESIAssign()

ESIAssign::~ESIAssign ( )

Definition at line 23 of file Assign.cc.

References value.

Member Function Documentation

◆ addElement()

bool ESIAssign::addElement ( ESIElement::Pointer  anElement)
virtual

Reimplemented from ESIElement.

Definition at line 150 of file Assign.cc.

References esiSequence::addElement(), String::size(), and unevaluatedVariable.

◆ evaluateVariable()

void ESIAssign::evaluateVariable ( )
private

◆ fail()

virtual void esiTreeParent::fail ( ESIElement source,
char const *  reason = NULL 
)
inlinevirtualinherited

◆ finish()

void ESIAssign::finish ( )
virtual

Implements ESIElement.

Definition at line 140 of file Assign.cc.

References cbdataReferenceDone, RefCount< C >::getRaw(), NULL, parent, and varState.

◆ IdentifyElement()

ESIElement::ESIElementType_t ESIElement::IdentifyElement ( const char *  el)
staticinherited

Definition at line 860 of file Esi.cc.

References assert.

Referenced by ESIContext::end(), and ESIContext::start().

◆ makeCacheable()

ESIAssign::Pointer ESIAssign::makeCacheable ( ) const
virtual

Implements ESIElement.

Definition at line 116 of file Assign.cc.

References ESIAssign(), ESIElement::makeCacheable(), and variable.

◆ makeUsable()

ESIAssign::Pointer ESIAssign::makeUsable ( esiTreeParentPtr  aParent,
ESIVarState aVarState 
) const
virtual

Implements ESIElement.

Definition at line 127 of file Assign.cc.

References cbdataReference, ESIAssign(), ESIElement::makeUsable(), parent, variable, and varState.

◆ mayFail()

virtual bool ESIElement::mayFail ( ) const
inlinevirtualinherited

Reimplemented in esiSequence.

Definition at line 77 of file Element.h.

◆ MEMPROXY_CLASS()

ESIAssign::MEMPROXY_CLASS ( ESIAssign  )
private

◆ operator=()

ESIAssign& ESIAssign::operator= ( ESIAssign const &  )

◆ process()

esiProcessResult_t ESIAssign::process ( int  dovars)
virtual

◆ provideData()

void ESIAssign::provideData ( ESISegment::Pointer  data,
ESIElement source 
)
virtual

Reimplemented from esiTreeParent.

Definition at line 83 of file Assign.cc.

References assert, ESISegment::listToChar(), safe_free, and unevaluatedVariable.

◆ render()

void ESIAssign::render ( ESISegment::Pointer  )
virtual

Implements ESIElement.

Definition at line 112 of file Assign.cc.

Member Data Documentation

◆ name

String ESIAssign::name
private

Definition at line 53 of file Assign.h.

Referenced by ESIAssign(), and process().

◆ parent

esiTreeParentPtr ESIAssign::parent
private

Definition at line 51 of file Assign.h.

Referenced by finish(), and makeUsable().

◆ unevaluatedVariable

String ESIAssign::unevaluatedVariable
private

Definition at line 56 of file Assign.h.

Referenced by addElement(), ESIAssign(), evaluateVariable(), and provideData().

◆ value

ESIVariableExpression* ESIAssign::value
private

Definition at line 54 of file Assign.h.

Referenced by evaluateVariable(), process(), and ~ESIAssign().

◆ variable

ESIElement::Pointer ESIAssign::variable
private

Definition at line 55 of file Assign.h.

Referenced by makeCacheable(), and makeUsable().

◆ varState

ESIVarState* ESIAssign::varState
private

Definition at line 52 of file Assign.h.

Referenced by ESIAssign(), evaluateVariable(), finish(), makeUsable(), and process().


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

 

Introduction

Documentation

Support

Miscellaneous

Web Site Translations

Mirrors