#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 () override
 
esiProcessResult_t process (int dovars) override
 
void render (ESISegment::Pointer) override
 
bool addElement (ESIElement::Pointer) override
 
void provideData (ESISegment::Pointer data, ESIElement *source) override
 
Pointer makeCacheable () const override
 
Pointer makeUsable (esiTreeParentPtr, ESIVarState &) const override
 
void finish () override
 
virtual bool mayFail () const
 
virtual void fail (ESIElement *, char const *=nullptr)
 

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, 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 ( )
override

Definition at line 23 of file Assign.cc.

References value.

Member Function Documentation

◆ addElement()

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

Reimplemented from ESIElement.

Definition at line 150 of file Assign.cc.

References String::size(), and unevaluatedVariable.

◆ evaluateVariable()

void ESIAssign::evaluateVariable ( )
private

◆ fail()

virtual void esiTreeParent::fail ( ESIElement ,
char const *  = nullptr 
)
inlinevirtualinherited

◆ finish()

void ESIAssign::finish ( )
overridevirtual

Implements ESIElement.

Definition at line 140 of file Assign.cc.

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

◆ IdentifyElement()

◆ makeCacheable()

ESIAssign::Pointer ESIAssign::makeCacheable ( ) const
overridevirtual

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
overridevirtual

Implements ESIElement.

Definition at line 127 of file Assign.cc.

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

◆ mayFail()

virtual bool ESIElement::mayFail ( ) const
inlinevirtualinherited

Reimplemented in esiSequence.

Definition at line 77 of file Element.h.

Referenced by ESIContext::send().

◆ MEMPROXY_CLASS()

ESIAssign::MEMPROXY_CLASS ( ESIAssign  )
private

◆ operator=()

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

◆ process()

esiProcessResult_t ESIAssign::process ( int  dovars)
overridevirtual

◆ provideData()

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

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  )
overridevirtual

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 ESIAssign(), addElement(), evaluateVariable(), and provideData().

◆ value

ESIVariableExpression* ESIAssign::value
private

Definition at line 54 of file Assign.h.

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

◆ 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