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

Represents an OPeNDAP DAS DAP2 data object within the BES. More...

#include <BESDASResponse.h>

Inheritance diagram for BESDASResponse:
Collaboration diagram for BESDASResponse:

List of all members.

Public Member Functions

 BESDASResponse (DAS *das)
virtual void clear_container ()
 clear the container in the DAP response object
virtual void dump (ostream &strm) const
 dumps information about this object
string get_dap_client_protocol () const
 Return the dap version string sent by the client (e.g., the OLFS)
DAS * get_das ()
bool get_explicit_containers () const
 Should containers be explicitly represented in the DD* responses?
string get_request_xml_base () const
 Return the xml:base URL for this request.
virtual void set_constraint (BESDataHandlerInterface &dhi)
 set the constraint depending on the context
virtual void set_container (const string &cn)
 set the container in the DAP response object
virtual ~BESDASResponse ()

Protected Member Functions

bool is_dap2 ()
 See get_explicit_containers()
void read_contexts ()
 Extract the dap protocol from the setConext information.

Detailed Description

Represents an OPeNDAP DAS DAP2 data object within the BES.

Definition at line 44 of file BESDASResponse.h.


Constructor & Destructor Documentation

BESDASResponse::BESDASResponse ( DAS *  das) [inline]

Definition at line 48 of file BESDASResponse.h.

BESDASResponse::~BESDASResponse ( ) [virtual]

Definition at line 35 of file BESDASResponse.cc.


Member Function Documentation

void BESDASResponse::clear_container ( ) [virtual]

clear the container in the DAP response object

Implements BESDapResponse.

Definition at line 57 of file BESDASResponse.cc.

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

dumps information about this object

Displays the pointer value of this instance along with the das object created

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

Reimplemented from BESDapResponse.

Definition at line 72 of file BESDASResponse.cc.

References BESIndent::GetIndent(), BESIndent::Indent(), BESIndent::LMarg(), and BESIndent::UnIndent().

Here is the call graph for this function:

string BESDapResponse::get_dap_client_protocol ( ) const [inline, inherited]

Return the dap version string sent by the client (e.g., the OLFS)

Definition at line 71 of file BESDapResponse.h.

Referenced by BESDDXResponseHandler::execute(), and BESDataDDXResponseHandler::execute().

DAS* BESDASResponse::get_das ( ) [inline]

Definition at line 59 of file BESDASResponse.h.

bool BESDapResponse::get_explicit_containers ( ) const [inline, inherited]

Should containers be explicitly represented in the DD* responses?

Definition at line 74 of file BESDapResponse.h.

Referenced by BESDDSResponse::set_container(), BESDataDDSResponse::set_container(), and set_container().

string BESDapResponse::get_request_xml_base ( ) const [inline, inherited]

Return the xml:base URL for this request.

Definition at line 77 of file BESDapResponse.h.

Referenced by BESDDXResponseHandler::execute(), and BESDataDDXResponseHandler::execute().

bool BESDapResponse::is_dap2 ( ) [protected, inherited]

See get_explicit_containers()

See also:
get_explicit_containers()
get_dap_client_protocol()
Deprecated:
Returns:
true if dap2 format, false otherwise

Definition at line 99 of file BESDapResponse.cc.

References BESContextManager::get_context(), and BESContextManager::TheManager().

Referenced by BESDapResponse::set_constraint().

Here is the call graph for this function:

void BESDapResponse::read_contexts ( ) [protected, inherited]

Extract the dap protocol from the setConext information.

This method checks three contexts: dap_explicit_containers, dap_format and xdap_accept.

If given, the boolean value of dap_explicit_containers is used. If that's not given then look for dap_format and if that's not given default to true. The OLFS should always send this to make Hyrax work the way DAP clients expect.

xdap_accept is the value of the DAP that clients can grok. It defaults to "2.0"

Note:
This value will be passed on to the DDS so that it can correctly build versions of the DDX which are specified by DAP 3.x and 4.x

Definition at line 56 of file BESDapResponse.cc.

References BES_SYNTAX_USER_ERROR, BESContextManager::get_context(), and BESContextManager::TheManager().

Here is the call graph for this function:

void BESDapResponse::set_constraint ( BESDataHandlerInterface dhi) [virtual, inherited]

set the constraint depending on the context

If the context is dap2 then the constraint will be the constraint of the current container. If not dap2 and we have multiple containers then the constraint of the current container must be added to the current post constraint

Parameters:
dhiThe BESDataHandlerInterface of the request. THis holds the current container and the current post constraint

Definition at line 124 of file BESDapResponse.cc.

References BESDataHandlerInterface::container, BESDataHandlerInterface::data, BESContainer::get_constraint(), BESDapResponse::is_dap2(), BESConstraintFuncs::post_append(), and POST_CONSTRAINT.

Here is the call graph for this function:

void BESDASResponse::set_container ( const string &  cn) [virtual]

set the container in the DAP response object

Parameters:
cnname of the current container being operated on

Implements BESDapResponse.

Definition at line 46 of file BESDASResponse.cc.

References BESDapResponse::get_explicit_containers().

Here is the call graph for this function:


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