#include <Sequence.h>

Inheritance diagram for esiSequence:
Collaboration diagram for esiSequence:

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

 esiSequence (esiTreeParentPtr, bool=false)
 
 ~esiSequence ()
 
void render (ESISegment::Pointer)
 
bool addElement (ESIElement::Pointer)
 
esiProcessResult_t process (int dovars)
 
void provideData (ESISegment::Pointer, ESIElement *)
 
bool mayFail () const
 
void wontFail ()
 
void fail (ESIElement *, char const *anError=NULL)
 
void makeCachableElements (esiSequence const &old)
 
Pointer makeCacheable () const
 
void makeUsableElements (esiSequence const &old, ESIVarState &)
 
Pointer makeUsable (esiTreeParentPtr, ESIVarState &) const
 
void finish ()
 

Static Public Member Functions

static ESIElementType_t IdentifyElement (const char *)
 

Public Attributes

ElementList elements
 
size_t processedcount
 
struct {
   int   dovars:1
 
flags
 

Protected Member Functions

 esiSequence (esiSequence const &)
 

Protected Attributes

esiTreeParentPtr parent
 

Private Member Functions

 MEMPROXY_CLASS (esiSequence)
 
int elementIndex (ESIElement::Pointer anElement) const
 
esiProcessResult_t processOne (int, size_t)
 
size_t nextElementToProcess () const
 
void nextElementToProcess (size_t const &)
 
bool finishedProcessing () const
 
void processStep (int dovars)
 

Private Attributes

bool mayFail_
 
bool failed
 
bool const provideIncrementalData
 
bool processing
 
esiProcessResult_t processingResult
 
size_t nextElementToProcess_
 

Detailed Description

Definition at line 20 of file Sequence.h.

Member Typedef Documentation

Definition at line 44 of file Element.h.

Member Enumeration Documentation

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 47 of file Element.h.

Constructor & Destructor Documentation

esiSequence::esiSequence ( esiTreeParentPtr  aParent,
bool  incrementalFlag = false 
)

Definition at line 32 of file Sequence.cc.

References flags.

Referenced by makeCacheable(), and makeUsable().

esiSequence::~esiSequence ( )

Definition at line 27 of file Sequence.cc.

References debugs.

esiSequence::esiSequence ( esiSequence const &  old)
protected

Definition at line 320 of file Sequence.cc.

References dovars, and flags.

Member Function Documentation

bool esiSequence::addElement ( ESIElement::Pointer  element)
virtual
int esiSequence::elementIndex ( ESIElement::Pointer  anElement) const
private

Definition at line 175 of file Sequence.cc.

References elements, i, and ElementList::size().

Referenced by provideData().

void esiSequence::fail ( ESIElement source,
char const *  anError = NULL 
)
virtual
void esiSequence::finish ( )
virtual

Implements ESIElement.

Definition at line 102 of file Sequence.cc.

References debugs, elements, NULL, parent, ElementList::setNULL(), and ElementList::size().

bool esiSequence::finishedProcessing ( ) const
private

Definition at line 59 of file Sequence.cc.

References elements, nextElementToProcess(), and ElementList::size().

Referenced by process().

void esiSequence::makeCachableElements ( esiSequence const &  old)

Definition at line 334 of file Sequence.cc.

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

Referenced by makeCacheable().

ESIElement::Pointer esiSequence::makeCacheable ( ) const
virtual
ESIElement::Pointer esiSequence::makeUsable ( esiTreeParentPtr  newParent,
ESIVarState newVarState 
) const
virtual
void esiSequence::makeUsableElements ( esiSequence const &  old,
ESIVarState newVarState 
)

Definition at line 345 of file Sequence.cc.

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

Referenced by makeUsable(), and esiWhen::makeUsable().

bool esiSequence::mayFail ( ) const
virtual

Reimplemented from ESIElement.

Definition at line 65 of file Sequence.cc.

References failed, and mayFail_.

esiSequence::MEMPROXY_CLASS ( esiSequence  )
private
size_t esiSequence::nextElementToProcess ( ) const
private

Definition at line 47 of file Sequence.cc.

References nextElementToProcess_.

Referenced by finishedProcessing(), process(), and processStep().

void esiSequence::nextElementToProcess ( size_t const &  aSizeT)
private

Definition at line 53 of file Sequence.cc.

References nextElementToProcess_.

esiProcessResult_t esiSequence::processOne ( int  dovars,
size_t  index 
)
private
void esiSequence::processStep ( int  dovars)
private

Definition at line 185 of file Sequence.cc.

References debugs, nextElementToProcess(), processingResult, and processOne().

Referenced by process().

void esiSequence::provideData ( ESISegment::Pointer  data,
ESIElement source 
)
virtual
void esiSequence::render ( ESISegment::Pointer  output)
virtual
void esiSequence::wontFail ( )

Definition at line 74 of file Sequence.cc.

References assert, failed, and mayFail_.

Referenced by process().

Member Data Documentation

int esiSequence::dovars

Definition at line 44 of file Sequence.h.

Referenced by esiSequence(), and process().

bool esiSequence::failed
private

Definition at line 55 of file Sequence.h.

Referenced by fail(), makeCacheable(), makeUsable(), mayFail(), process(), and wontFail().

struct { ... } esiSequence::flags
bool esiSequence::mayFail_
private

Definition at line 54 of file Sequence.h.

Referenced by mayFail(), and wontFail().

size_t esiSequence::nextElementToProcess_
private

Definition at line 60 of file Sequence.h.

Referenced by nextElementToProcess().

esiTreeParentPtr esiSequence::parent
protected

Definition at line 50 of file Sequence.h.

Referenced by fail(), finish(), makeUsable(), esiWhen::makeUsable(), and process().

size_t esiSequence::processedcount

Definition at line 41 of file Sequence.h.

Referenced by makeCacheable(), makeUsable(), process(), processOne(), and render().

bool esiSequence::processing
private

Definition at line 58 of file Sequence.h.

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

esiProcessResult_t esiSequence::processingResult
private

Definition at line 59 of file Sequence.h.

Referenced by process(), and processStep().

bool const esiSequence::provideIncrementalData
private

Definition at line 57 of file Sequence.h.

Referenced by process().


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

 

Introduction

Documentation

Support

Miscellaneous

Web Site Translations

Mirrors