OPeNDAP Hyrax Back End Server (BES) Updated for version 3.8.3
BESDataHandlerInterface Class Reference

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

#include <BESDataHandlerInterface.h>

Inheritance diagram for BESDataHandlerInterface:
Collaboration diagram for BESDataHandlerInterface:

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
 dumps information about this object
void first_container ()
 set the container pointer to the first container in the containers list
ostream & get_output_stream ()
BESResponseObjectget_response_object ()
 returns the response object using the response handler
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 157 of file BESDataHandlerInterface.h.


Constructor & Destructor Documentation

BESDataHandlerInterface::BESDataHandlerInterface ( ) [inline]

Definition at line 84 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 156 of file BESDataHandlerInterface.h.

References data.

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

dumps information about this object

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

Parameters:
strmC++ i/o stream to dump the information to

Implements BESObj.

Definition at line 100 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 BESInterface::dump().

Here is the call graph for this function:

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

returns the response object using the response handler

If the response handler is set for this request then return the response object for the request using that response handler

Returns:
The response object for this request

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_fromobject 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 133 of file BESDataHandlerInterface.h.

References container, containers, and containers_iterator.

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

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

Definition at line 94 of file BESDataHandlerInterface.h.

Referenced by BESInterface::execute_request().


Member Data Documentation

map<string, string> BESDataHandlerInterface::data

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

Definition at line 155 of file BESDataHandlerInterface.h.

Referenced by BESXMLInfo::begin_response(), BESXMLInterface::BESXMLInterface(), BESXMLInterface::build_data_request_plan(), BESBasicInterface::build_data_request_plan(), BESBasicInterface::clean(), data_c(), dump(), BESInterface::end_request(), BESShowErrorResponseHandler::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(), BESInterface::invoke_aggregation(), BESBasicInterface::invoke_aggregation(), BESBasicInterface::log_status(), make_copy(), BESXMLGetCommand::parse_basic_get(), BESXMLShowErrorCommand::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(), BESConstraintFuncs::post_append(), BESXMLGetDataDDXCommand::prep_request(), BESXMLGetCommand::prep_request(), BESInterface::report_request(), BESDapResponse::set_constraint(), BESXMLCommand::set_response(), BESXMLInterface::transmit_data(), BESInterface::transmit_data(), and BESBasicInterface::transmit_data().

request protocol, such as HTTP

Definition at line 150 of file BESDataHandlerInterface.h.

Referenced by dump(), and make_copy().


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