Inheritance diagram for esiChoose:
Collaboration diagram for esiChoose:

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

 esiChoose (esiTreeParentPtr)
 
 ~esiChoose () override
 
void render (ESISegment::Pointer) override
 
bool addElement (ESIElement::Pointer) override
 
void fail (ESIElement *, char const *=nullptr) override
 
esiProcessResult_t process (int dovars) override
 
void provideData (ESISegment::Pointer data, ESIElement *source) override
 
void makeCachableElements (esiChoose const &old)
 
void makeUsableElements (esiChoose const &old, ESIVarState &)
 
Pointer makeCacheable () const override
 
Pointer makeUsable (esiTreeParentPtr, ESIVarState &) const override
 
void NULLUnChosen ()
 
void finish () override
 
virtual bool mayFail () const
 

Static Public Member Functions

static ESIElementType_t IdentifyElement (const char *)
 

Public Attributes

Esi::Elements elements
 
int chosenelement
 
ESIElement::Pointer otherwise
 

Private Member Functions

 MEMPROXY_CLASS (esiChoose)
 
 esiChoose (esiChoose const &)
 
void checkValidSource (ESIElement::Pointer source) const
 
void selectElement ()
 

Private Attributes

esiTreeParentPtr parent
 

Detailed Description

Definition at line 161 of file Esi.cc.

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

◆ esiChoose() [1/2]

esiChoose::esiChoose ( esiTreeParentPtr  aParent)

Definition at line 1892 of file Esi.cc.

Referenced by makeCacheable(), and makeUsable().

◆ ~esiChoose()

esiChoose::~esiChoose ( )
override

Definition at line 1886 of file Esi.cc.

References debugs, elements, and FinishAllElements().

◆ esiChoose() [2/2]

esiChoose::esiChoose ( esiChoose const &  old)
private

Definition at line 2089 of file Esi.cc.

References addElement(), assert, elements, and RefCount< C >::getRaw().

Member Function Documentation

◆ addElement()

bool esiChoose::addElement ( ESIElement::Pointer  element)
overridevirtual

◆ checkValidSource()

void esiChoose::checkValidSource ( ESIElement::Pointer  source) const
private

Definition at line 2053 of file Esi.cc.

References assert, chosenelement, elements, fatal(), RefCount< C >::getRaw(), and otherwise.

Referenced by fail(), and provideData().

◆ fail()

void esiChoose::fail ( ESIElement source,
char const *  anError = nullptr 
)
overridevirtual

◆ finish()

void esiChoose::finish ( )
overridevirtual

Implements ESIElement.

Definition at line 1991 of file Esi.cc.

References elements, ESIElement::finish(), FinishAllElements(), RefCount< C >::getRaw(), otherwise, and parent.

◆ IdentifyElement()

◆ makeCachableElements()

void esiChoose::makeCachableElements ( esiChoose const &  old)

Definition at line 2100 of file Esi.cc.

References addElement(), assert, elements, and RefCount< C >::getRaw().

Referenced by makeCacheable().

◆ makeCacheable()

ESIElement::Pointer esiChoose::makeCacheable ( ) const
overridevirtual

◆ makeUsable()

ESIElement::Pointer esiChoose::makeUsable ( esiTreeParentPtr  newParent,
ESIVarState newVarState 
) const
overridevirtual

◆ makeUsableElements()

void esiChoose::makeUsableElements ( esiChoose const &  old,
ESIVarState newVarState 
)

Definition at line 2111 of file Esi.cc.

References addElement(), assert, elements, and RefCount< C >::getRaw().

Referenced by makeUsable().

◆ mayFail()

virtual bool ESIElement::mayFail ( ) const
inlinevirtualinherited

Reimplemented in esiSequence.

Definition at line 77 of file Element.h.

Referenced by ESIContext::send().

◆ MEMPROXY_CLASS()

esiChoose::MEMPROXY_CLASS ( esiChoose  )
private

◆ NULLUnChosen()

void esiChoose::NULLUnChosen ( )

◆ process()

◆ provideData()

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

Reimplemented from esiTreeParent.

Definition at line 2083 of file Esi.cc.

References checkValidSource(), parent, and esiTreeParent::provideData().

◆ render()

void esiChoose::render ( ESISegment::Pointer  output)
overridevirtual

◆ selectElement()

void esiChoose::selectElement ( )
private

Definition at line 1954 of file Esi.cc.

References chosenelement, debugs, elements, and esiWhen::testsTrue().

Referenced by makeUsable().

Member Data Documentation

◆ chosenelement

int esiChoose::chosenelement

Definition at line 182 of file Esi.cc.

Referenced by addElement(), checkValidSource(), NULLUnChosen(), process(), render(), and selectElement().

◆ elements

◆ otherwise

ESIElement::Pointer esiChoose::otherwise

◆ parent

esiTreeParentPtr esiChoose::parent
private

Definition at line 188 of file Esi.cc.

Referenced by fail(), finish(), makeUsable(), process(), and provideData().


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

 

Introduction

Documentation

Support

Miscellaneous

Web Site Translations

Mirrors