BESDataHandlerInterface Class Reference

Structure storing information used by the BES to handle the request. More...

#include <BESDataHandlerInterface.h>

Inheritance diagram for BESDataHandlerInterface:
Inheritance graph
[legend]
Collaboration diagram for BESDataHandlerInterface:
Collaboration graph
[legend]

List of all members.

Public Types

typedef map< string, string >
::const_iterator 
data_citer

Public Member Functions

 BESDataHandlerInterface ()
void clean ()
 clean up any information created within this data handler interface
const map< string, string > & data_c () const
void dump (ostream &strm) const
 dump the contents of this object to the specified ostream
void first_container ()
 set the container pointer to the first container in the containers list
ostream & get_output_stream ()
BESResponseObjectget_response_object ()
 dumps information about this object
void make_copy (const BESDataHandlerInterface &copy_from)
 make a copy of only some data from specified object
void next_container ()
 set the container pointer to the next * container in the list, null if at the end or no containers in list
void set_output_stream (ostream *strm)

Public Attributes

string action
 the response object requested, e.g.
string action_name
BESContainercontainer
 pointer to current container in this interface
list< BESContainer * > containers
list< BESContainer * >::iterator containers_iterator
map< string, string > data
 the map of string data that will be required for the current request.
BESInfoerror_info
 error information object
bool executed
BESResponseHandlerresponse_handler
string transmit_protocol
 request protocol, such as HTTP

Detailed Description

Structure storing information used by the BES to handle the request.

This information is used throughout the BES framework to handle the request and to also store information for logging and reporting.

Definition at line 60 of file BESDataHandlerInterface.h.


Member Typedef Documentation

typedef map<string, string>::const_iterator BESDataHandlerInterface::data_citer

Definition at line 147 of file BESDataHandlerInterface.h.


Constructor & Destructor Documentation

BESDataHandlerInterface::BESDataHandlerInterface (  )  [inline]

Definition at line 74 of file BESDataHandlerInterface.h.


Member Function Documentation

void BESDataHandlerInterface::clean (  ) 

clean up any information created within this data handler interface

It is the job of the BESDataHandlerInterface to clean up the response handler

Definition at line 64 of file BESDataHandlerInterface.cc.

References response_handler.

Referenced by BESInterface::clean().

const map<string, string>& BESDataHandlerInterface::data_c (  )  const [inline]

Definition at line 146 of file BESDataHandlerInterface.h.

References data.

Referenced by SayReporter::report().

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

dump the contents of this object to the specified ostream

This method is implemented by all derived classes to dump their contents, in other words, any state they might have, private variables, etc...

The inline function below can be used to dump the contents of an OPeNDAOObj object. For example, the object Animal is derived from BESObj. A user could do the following:

Animal *a = new dog( "Sparky" ) ; cout << a << endl ;

And the dump method for dog could display the name passed into the constructor, the (this) pointer of the object, etc...

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

Implements BESObj.

Definition at line 93 of file BESDataHandlerInterface.cc.

References action, action_name, container, containers, data, BESInfo::dump(), BESContainer::dump(), BESResponseHandler::dump(), error_info, BESIndent::Indent(), BESIndent::LMarg(), response_handler, transmit_protocol, and BESIndent::UnIndent().

Referenced by BESBasicInterface::build_data_request_plan(), and BESInterface::dump().

Here is the call graph for this function:

void BESDataHandlerInterface::first_container (  )  [inline]
ostream& BESDataHandlerInterface::get_output_stream (  )  [inline]
BESResponseObject * BESDataHandlerInterface::get_response_object (  ) 

dumps information about this object

Displays the pointer value of this instance along with information about each of the data members held

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

Definition at line 81 of file BESDataHandlerInterface.cc.

References BESResponseHandler::get_response_object(), and response_handler.

Here is the call graph for this function:

void BESDataHandlerInterface::make_copy ( const BESDataHandlerInterface copy_from  ) 

make a copy of only some data from specified object

makes a copy of only some of the data members in a BESDataHandlerInterface. The container list and response handler should not be copied. Each BESDataHandlerInterface should represent a request/response, so each one should have it's own response handler.

Parameters:
copy_from object to copy informatioon from

Definition at line 49 of file BESDataHandlerInterface.cc.

References data, and transmit_protocol.

Referenced by BESXMLCommand::BESXMLCommand().

void BESDataHandlerInterface::next_container (  )  [inline]

set the container pointer to the next * container in the list, null if at the end or no containers in list

Definition at line 123 of file BESDataHandlerInterface.h.

References container, containers, and containers_iterator.

Referenced by BESInterface::end_request(), BESDefineResponseHandler::execute(), BESRequestHandlerList::execute_each(), and BESDefineCommand::parse_request().

void BESDataHandlerInterface::set_output_stream ( ostream *  strm  )  [inline]

Definition at line 84 of file BESDataHandlerInterface.h.

Referenced by BESInterface::execute_request().


Member Data Documentation

Definition at line 104 of file BESDataHandlerInterface.h.

Referenced by first_container(), and next_container().

map<string, string> BESDataHandlerInterface::data

the map of string data that will be required for the current request.

Definition at line 145 of file BESDataHandlerInterface.h.

Referenced by BESXMLInfo::begin_response(), BESCmdInterface::BESCmdInterface(), BESXMLInterface::BESXMLInterface(), BESXMLInterface::build_data_request_plan(), BESCmdInterface::build_data_request_plan(), BESBasicInterface::build_data_request_plan(), BESBasicInterface::clean(), CSVRequestHandler::csv_build_data(), CSVRequestHandler::csv_build_dds(), data_c(), dump(), BESInterface::end_request(), SampleSayResponseHandler::execute(), BESSetContextResponseHandler::execute(), BESSetContainerResponseHandler::execute(), BESDelDefsResponseHandler::execute(), BESDelDefResponseHandler::execute(), BESDelContainersResponseHandler::execute(), BESDelContainerResponseHandler::execute(), BESDefineResponseHandler::execute(), BESCatalogResponseHandler::execute(), BESRequestHandlerList::execute_current(), BESInterface::execute_data_request_plan(), BESBasicInterface::execute_data_request_plan(), BESInterface::execute_request(), BESInterface::initialize(), BESApacheInterface::initialize(), BESInterface::invoke_aggregation(), BESBasicInterface::invoke_aggregation(), BESBasicInterface::log_status(), make_copy(), BESXMLGetCommand::parse_basic_get(), BESSetCommand::parse_options(), BESDefineCommand::parse_options(), SampleSayXMLCommand::parse_request(), SampleSayCommand::parse_request(), BESXMLSetContextCommand::parse_request(), BESXMLSetContainerCommand::parse_request(), BESXMLDeleteDefinitionsCommand::parse_request(), BESXMLDeleteDefinitionCommand::parse_request(), BESXMLDeleteContainersCommand::parse_request(), BESXMLDeleteContainerCommand::parse_request(), BESXMLDefineCommand::parse_request(), BESXMLCatalogCommand::parse_request(), BESSetContextCommand::parse_request(), BESSetContainerCommand::parse_request(), BESGetCommand::parse_request(), BESDelDefsCommand::parse_request(), BESDelDefCommand::parse_request(), BESDelContainersCommand::parse_request(), BESDelContainerCommand::parse_request(), BESDefineCommand::parse_request(), BESCatalogCommand::parse_request(), BESConstraintFuncs::post_append(), BESXMLGetCommand::prep_request(), BESInterface::report_request(), BESFilterTransmitter::send_basic_data(), BESDapTransmit::send_basic_data(), BESFilterTransmitter::send_basic_dds(), BESDapTransmit::send_basic_dds(), BESFilterTransmitter::send_basic_ddx(), BESDapTransmit::send_basic_ddx(), BESDapResponse::set_constraint(), BESXMLCommand::set_response(), BESXMLInterface::transmit_data(), BESInterface::transmit_data(), and BESBasicInterface::transmit_data().

Definition at line 136 of file BESDataHandlerInterface.h.

Referenced by BESInterface::execute_request().


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

Generated on 19 Feb 2010 for OPeNDAP Hyrax Back End Server (BES) by  doxygen 1.6.1