BESGetCommand Class Reference

#include <BESGetCommand.h>

Inheritance diagram for BESGetCommand:

Inheritance graph
[legend]
Collaboration diagram for BESGetCommand:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 BESGetCommand (const string &cmd)
virtual ~BESGetCommand ()
virtual BESResponseHandlerparse_request (BESTokenizer &tokens, BESDataHandlerInterface &dhi)
 knows how to parse a get request
virtual void dump (ostream &strm) const
 dumps information about this object
virtual string parse_options (BESTokenizer &tokens, BESDataHandlerInterface &dhi)

Static Public Member Functions

static void add_command (const string &cmd_str, BESCommand *cmd)
static bool del_command (const string &cmd_str)
static BESCommandfind_command (const string &cmd_str)

Static Public Attributes

static BESCommandTermCommand = new BESTermCommand( "term" )

Protected Attributes

string _cmd

Detailed Description

Definition at line 38 of file BESGetCommand.h.


Constructor & Destructor Documentation

BESGetCommand::BESGetCommand ( const string &  cmd  )  [inline]

Definition at line 43 of file BESGetCommand.h.

virtual BESGetCommand::~BESGetCommand (  )  [inline, virtual]

Definition at line 45 of file BESGetCommand.h.


Member Function Documentation

BESResponseHandler * BESGetCommand::parse_request ( BESTokenizer tokenizer,
BESDataHandlerInterface dhi 
) [virtual]

knows how to parse a get request

This class knows how to parse a get request, building a sub response handler that actually knows how to build the requested response object, such as das, dds, data, ddx, etc...

A get request looks like:

get <response_type> for <def_name> [return as <ret_name>;

where response_type is the type of response being requested, for example das, dds, dods. where def_name is the name of the definition that has already been created, like a view into the data where ret_name is the method of transmitting the response. This is optional.

This parse method creates the sub response handler, retrieves the definition information and finds the return object if one is specified.

Parameters:
tokenizer holds on to the list of tokens to be parsed
dhi structure that holds request and response information
Exceptions:
BESParserException if there is a problem parsing the request

Implements BESCommand.

Definition at line 67 of file BESGetCommand.cc.

References BESCommand::_cmd, _BESDataHandlerInterface::action, AGG_CMD, AGG_HANDLER, _BESDataHandlerInterface::containers, _BESDataHandlerInterface::data, BESDefine::end_container(), BESCommand::find_command(), BESResponseHandlerList::find_handler(), BESDefine::first_container(), BESDefine::get_agg_cmd(), BESDefine::get_agg_handler(), BESTokenizer::get_next_token(), BESDefinitionStorageList::look_for(), BESTokenizer::parse_error(), BESCommand::parse_options(), BESCommand::parse_request(), BESTokenizer::remove_quotes(), RETURN_CMD, BESCommand::TermCommand, BESDefinitionStorageList::TheList(), and BESResponseHandlerList::TheList().

Here is the call graph for this function:

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

dumps information about this object

Displays the pointer value of this instance

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

Reimplemented from BESCommand.

Definition at line 179 of file BESGetCommand.cc.

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

Here is the call graph for this function:

string BESCommand::parse_options ( BESTokenizer tokens,
BESDataHandlerInterface dhi 
) [virtual, inherited]

Reimplemented in BESDefineCommand, and BESSetCommand.

Definition at line 39 of file BESCommand.cc.

References BESTokenizer::get_next_token().

Referenced by TestCommand::parse_request(), BESShowCommand::parse_request(), parse_request(), BESDeleteCommand::parse_request(), and BESCatalogCommand::parse_request().

Here is the call graph for this function:

void BESCommand::add_command ( const string &  cmd_str,
BESCommand cmd 
) [static, inherited]

Definition at line 50 of file BESCommand.cc.

Referenced by TestModule::initialize(), DAPCommandModule::initialize(), and BESDefaultCommands::initialize().

bool BESCommand::del_command ( const string &  cmd_str  )  [static, inherited]

Definition at line 56 of file BESCommand.cc.

References BESCommand::TermCommand.

Referenced by TestModule::terminate(), DAPCommandModule::terminate(), and BESDefaultCommands::terminate().

BESCommand * BESCommand::find_command ( const string &  cmd_str  )  [static, inherited]

Definition at line 76 of file BESCommand.cc.

Referenced by BESCmdParser::parse(), TestCommand::parse_request(), BESShowCommand::parse_request(), BESSetCommand::parse_request(), parse_request(), BESDeleteCommand::parse_request(), and BESDefineCommand::parse_request().


Member Data Documentation

string BESCommand::_cmd [protected, inherited]

Definition at line 54 of file BESCommand.h.

Referenced by BESCommand::dump(), TestCommand::parse_request(), BESShowCommand::parse_request(), BESSetCommand::parse_request(), parse_request(), BESDeleteCommand::parse_request(), BESDelDefsCommand::parse_request(), BESDelDefCommand::parse_request(), BESDelContainersCommand::parse_request(), BESDelContainerCommand::parse_request(), BESDefineCommand::parse_request(), and BESCatalogCommand::parse_request().

BESCommand * BESCommand::TermCommand = new BESTermCommand( "term" ) [static, inherited]

Definition at line 68 of file BESCommand.h.

Referenced by BESCommand::del_command(), TestModule::initialize(), DAPCommandModule::initialize(), BESDefaultCommands::initialize(), TestCommand::parse_request(), BESShowCommand::parse_request(), BESSetCommand::parse_request(), parse_request(), BESDeleteCommand::parse_request(), and BESDefineCommand::parse_request().


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