BESTextInfo Class Reference

#include <BESTextInfo.h>

Inheritance diagram for BESTextInfo:

Inheritance graph
[legend]
Collaboration diagram for BESTextInfo:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 BESTextInfo (bool ishttp=false)
 constructs a basic text information response object.
 BESTextInfo (const string &key, bool ishttp=false)
 constructs a basic text information response object.
virtual ~BESTextInfo ()
virtual void begin_response (const string &response_name)
 begin the informational response
virtual void add_tag (const string &tag_name, const string &tag_data, map< string, string > *attrs=0)
 add tagged information to the inforamtional response
virtual void begin_tag (const string &tag_name, map< string, string > *attrs=0)
 begin a tagged part of the information, information to follow
virtual void end_tag (const string &tag_name)
 end a tagged part of the informational response
virtual void add_data (const string &s)
 add string data to the informational response
virtual void add_space (unsigned long num_spaces)
 add a space to the informational response
virtual void add_break (unsigned long num_breaks)
 add a line break to the information
virtual void add_data_from_file (const string &key, const string &name)
 add data from a file to the informational object
virtual void transmit (BESTransmitter *transmitter, BESDataHandlerInterface &dhi)
 transmit the text information as text
virtual void dump (ostream &strm) const
 dumps information about this object
virtual void end_response ()
virtual void add_exception (BESException &e)
 add exception information to this informational object
virtual void print (FILE *out)
 print the information from this informational object to the specified FILE descriptor
virtual bool set_buffered (bool buffered)
 return whether the information is to be buffered or not.
virtual bool is_buffered ()
 return whether the information is to be buffered or not.

Static Public Member Functions

static BESInfoBuildTextInfo (const string &info_type)

Protected Attributes

ostream * _strm
bool _buffered
bool _response_started
stack< string > _tags
string _response_name

Detailed Description

brief represents simple text information in a response object, such as version and help inforamtion.

Uses the default add_data and print methods, where the print method, if the response is going to a browser, sets the mime type to text.

See also:
BESInfo

BESResponseObject

Definition at line 47 of file BESTextInfo.h.


Constructor & Destructor Documentation

BESTextInfo::BESTextInfo ( bool  ishttp = false  ) 

constructs a basic text information response object.

Text informational objects can also be sent as html with an html header. We need to know this if the informationl is not buffered. If it isn't buffered then we need to send that text header.

See also:
BESInfo

BESResponseObject

Definition at line 53 of file BESTextInfo.cc.

Referenced by BuildTextInfo().

BESTextInfo::BESTextInfo ( const string &  key,
bool  ishttp = false 
)

constructs a basic text information response object.

Uses the default specified key in the bes configuration file to determine whether the information should be buffered or not.

Text informational objects can also be sent as html with an html header. We need to know this if the informationl is not buffered. If it isn't buffered then we need to send that text header.

See also:
BESInfo

BESResponseObject

Definition at line 72 of file BESTextInfo.cc.

BESTextInfo::~BESTextInfo (  )  [virtual]

Definition at line 79 of file BESTextInfo.cc.


Member Function Documentation

void BESTextInfo::begin_response ( const string &  response_name  )  [virtual]

begin the informational response

Because this is text informational object, no begin tags are needed

Parameters:
response_name name of the response this information represents

Reimplemented from BESInfo.

Definition at line 90 of file BESTextInfo.cc.

References BESInfo::begin_response().

Referenced by infoT::run().

Here is the call graph for this function:

void BESTextInfo::add_tag ( const string &  tag_name,
const string &  tag_data,
map< string, string > *  attrs = 0 
) [virtual]

add tagged information to the inforamtional response

Parameters:
tag_name name of the tag to be added to the response
tag_data information describing the tag

Implements BESInfo.

Definition at line 101 of file BESTextInfo.cc.

References add_data().

Referenced by infoT::run().

Here is the call graph for this function:

void BESTextInfo::begin_tag ( const string &  tag_name,
map< string, string > *  attrs = 0 
) [virtual]

begin a tagged part of the information, information to follow

Parameters:
tag_name name of the tag to begin

Reimplemented from BESInfo.

Definition at line 124 of file BESTextInfo.cc.

References add_data(), and BESInfo::begin_tag().

Referenced by infoT::run().

Here is the call graph for this function:

void BESTextInfo::end_tag ( const string &  tag_name  )  [virtual]

end a tagged part of the informational response

If the named tag is not the current tag then an error is thrown.

Parameters:
tag_name name of the tag to end

Reimplemented from BESInfo.

Definition at line 150 of file BESTextInfo.cc.

References BESInfo::end_tag().

Referenced by infoT::run().

Here is the call graph for this function:

void BESTextInfo::add_data ( const string &  s  )  [virtual]

add string data to the informational response

Parameters:
s string data to add the informational response

Reimplemented from BESInfo.

Definition at line 162 of file BESTextInfo.cc.

References BESInfo::_buffered, BESInfo::add_data(), and BESUtil::set_mime_text().

Referenced by add_break(), add_space(), add_tag(), and begin_tag().

Here is the call graph for this function:

void BESTextInfo::add_space ( unsigned long  num_spaces  )  [virtual]

add a space to the informational response

Parameters:
num_spaces the number of spaces to add to the information

Implements BESInfo.

Definition at line 177 of file BESTextInfo.cc.

References add_data().

Here is the call graph for this function:

void BESTextInfo::add_break ( unsigned long  num_breaks  )  [virtual]

add a line break to the information

Parameters:
num_breaks the number of line breaks to add to the information

Implements BESInfo.

Definition at line 192 of file BESTextInfo.cc.

References add_data().

Here is the call graph for this function:

void BESTextInfo::add_data_from_file ( const string &  key,
const string &  name 
) [virtual]

add data from a file to the informational object

This method simply adds a .TXT to the end of the key and passes the request on up to the BESInfo parent class.

Parameters:
key Key from the initialization file specifying the file to be
name A description of what is the information being loaded

Reimplemented from BESInfo.

Definition at line 211 of file BESTextInfo.cc.

References BESInfo::add_data_from_file().

Here is the call graph for this function:

void BESTextInfo::transmit ( BESTransmitter transmitter,
BESDataHandlerInterface dhi 
) [virtual]

transmit the text information as text

use the send_text method on the transmitter to transmit the information back to the client.

Parameters:
transmitter The type of transmitter to use to transmit the info
dhi information to help with the transmission

Implements BESInfo.

Definition at line 226 of file BESTextInfo.cc.

References BESTransmitter::send_text().

Here is the call graph for this function:

void BESTextInfo::dump ( ostream &  strm  )  const [virtual]

dumps information about this object

Displays the pointer value of this instance along with information about this text information object

Parameters:
strm C++ i/o stream to dump the information to

Reimplemented from BESInfo.

Definition at line 240 of file BESTextInfo.cc.

References BESInfo::dump(), BESIndent::Indent(), BESIndent::LMarg(), and BESIndent::UnIndent().

Here is the call graph for this function:

BESInfo * BESTextInfo::BuildTextInfo ( const string &  info_type  )  [static]

Definition at line 253 of file BESTextInfo.cc.

References BESTextInfo().

Referenced by BESDefaultModule::initialize(), and infoT::run().

Here is the call graph for this function:

void BESInfo::end_response (  )  [virtual, inherited]

Reimplemented in BESHTMLInfo, BESVersionInfo, and BESXMLInfo.

Definition at line 97 of file BESInfo.cc.

References BESInfo::_response_started, and BESInfo::_tags.

Referenced by BESXMLInfo::end_response(), BESVersionInfo::end_response(), BESStatusResponseHandler::execute(), BESShowDefsResponseHandler::execute(), BESShowContextResponseHandler::execute(), BESShowContainersResponseHandler::execute(), BESProcIdResponseHandler::execute(), BESKeysResponseHandler::execute(), BESHelpResponseHandler::execute(), BESCatalogResponseHandler::execute(), BESExceptionManager::handle_exception(), TestException::handleException(), and infoT::run().

void BESInfo::add_exception ( BESException e  )  [virtual, inherited]

add exception information to this informational object

Exception information is added differently to different informational objects, such as html, xml, plain text. But, using the other methods of this class we can take care of exceptions here.

Parameters:
type The type of exception being thrown
e The exception to add to the informational response object

Reimplemented in BESSilentInfo, and BESVersionInfo.

Definition at line 205 of file BESInfo.cc.

References BESInfo::add_tag(), BESInfo::begin_tag(), BESInfo::end_tag(), BESException::get_context(), BESException::get_file(), BESException::get_line(), and BESException::get_message().

Referenced by BESVersionInfo::add_exception(), BESExceptionManager::handle_exception(), and TestException::handleException().

Here is the call graph for this function:

void BESInfo::print ( FILE *  out  )  [virtual, inherited]

print the information from this informational object to the specified FILE descriptor

If the information was not buffered then this method does nothing, otherwise the information is output to the specified FILE descriptor.

Parameters:
out output to this file descriptor if information buffered.

Reimplemented in BESSilentInfo, BESVersionInfo, and BESXMLInfo.

Definition at line 228 of file BESInfo.cc.

References BESInfo::_buffered, and BESInfo::_strm.

Referenced by BESInterface::execute_request(), BESXMLInfo::print(), BESVersionInfo::print(), pvolT::run(), plistT::run(), pfileT::run(), infoT::run(), defT::run(), BESFilterTransmitter::send_html(), BESBasicTransmitter::send_html(), BESFilterTransmitter::send_text(), BESBasicTransmitter::send_text(), and BESInterface::transmit_data().

virtual bool BESInfo::set_buffered ( bool  buffered  )  [inline, virtual, inherited]

return whether the information is to be buffered or not.

Returns:
true if information is buffered, false if not

Definition at line 120 of file BESInfo.h.

References BESInfo::_buffered.

virtual bool BESInfo::is_buffered (  )  [inline, virtual, inherited]

return whether the information is to be buffered or not.

Returns:
true if information is buffered, false if not

Definition at line 130 of file BESInfo.h.

References BESInfo::_buffered.

Referenced by BESFilterTransmitter::send_html(), BESBasicHttpTransmitter::send_html(), BESFilterTransmitter::send_text(), and BESBasicHttpTransmitter::send_text().


Member Data Documentation

ostream* BESInfo::_strm [protected, inherited]

Definition at line 71 of file BESInfo.h.

Referenced by BESInfo::BESInfo(), BESInfo::print(), and BESInfo::~BESInfo().

bool BESInfo::_buffered [protected, inherited]

Definition at line 72 of file BESInfo.h.

Referenced by add_data(), BESInfo::add_data(), BESHTMLInfo::add_data(), BESInfo::BESInfo(), BESInfo::dump(), BESInfo::is_buffered(), BESInfo::print(), BESInfo::set_buffered(), and BESInfo::~BESInfo().

bool BESInfo::_response_started [protected, inherited]

Definition at line 73 of file BESInfo.h.

Referenced by BESInfo::begin_response(), BESInfo::dump(), and BESInfo::end_response().

stack<string> BESInfo::_tags [protected, inherited]

Definition at line 75 of file BESInfo.h.

Referenced by BESInfo::begin_tag(), BESInfo::dump(), BESInfo::end_response(), and BESInfo::end_tag().

string BESInfo::_response_name [protected, inherited]

Definition at line 76 of file BESInfo.h.

Referenced by BESXMLInfo::begin_response(), BESInfo::begin_response(), BESInfo::dump(), and BESXMLInfo::end_response().


The documentation for this class was generated from the following files:
Generated on Wed Aug 29 03:03:31 2007 for OPeNDAP Back End Server (BES) by  doxygen 1.5.2