bes Updated for version 3.21.1
The Backend Server (BES) is the lower two tiers of the Hyrax data server
BESDapResponse Class Referenceabstract

Represents an OPeNDAP DAP response object within the BES. More...

#include <BESDapResponse.h>

Inheritance diagram for BESDapResponse:
Inheritance graph
Collaboration diagram for BESDapResponse:
Collaboration graph

Public Member Functions

virtual void clear_container ()=0
 
virtual void dump (std::ostream &strm) const
 dumps information about this object
 
std::string get_dap_client_protocol () const
 Return the dap version string sent by the client (e.g., the OLFS)
 
bool get_explicit_containers () const
 Should containers be explicitly represented in the DD* responses?
 
std::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 std::string &cn)=0
 
virtual void set_dap4_constraint (BESDataHandlerInterface &dhi)
 set the constraint depending on the context
 
virtual void set_dap4_function (BESDataHandlerInterface &dhi)
 set the constraint depending on the context
 

Protected Member Functions

bool is_dap2 ()
 See get_explicit_containers()
 
void read_contexts ()
 Extract the dap protocol from the setContext information This method checks four contexts: dap_explicit_containers, dap_format and xdap_accept, and xml:base.
 

Detailed Description

Represents an OPeNDAP DAP response object within the BES.

Definition at line 41 of file BESDapResponse.h.

Constructor & Destructor Documentation

◆ BESDapResponse()

BESDapResponse::BESDapResponse ( )
inline

Definition at line 53 of file BESDapResponse.h.

◆ ~BESDapResponse()

virtual BESDapResponse::~BESDapResponse ( )
inlinevirtual

Definition at line 59 of file BESDapResponse.h.

Member Function Documentation

◆ clear_container()

virtual void BESDapResponse::clear_container ( )
pure virtual

◆ dump()

void BESDapResponse::dump ( std::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

Implements BESResponseObject.

Reimplemented in BESDASResponse, BESDataDDSResponse, BESDDSResponse, and BESDMRResponse.

Definition at line 187 of file BESDapResponse.cc.

◆ get_dap_client_protocol()

std::string BESDapResponse::get_dap_client_protocol ( ) const
inline

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

Definition at line 64 of file BESDapResponse.h.

◆ get_explicit_containers()

bool BESDapResponse::get_explicit_containers ( ) const
inline

Should containers be explicitly represented in the DD* responses?

Definition at line 70 of file BESDapResponse.h.

◆ get_request_xml_base()

std::string BESDapResponse::get_request_xml_base ( ) const
inline

Return the xml:base URL for this request.

Definition at line 76 of file BESDapResponse.h.

◆ is_dap2()

bool BESDapResponse::is_dap2 ( )
protected

See get_explicit_containers()

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

Definition at line 119 of file BESDapResponse.cc.

◆ read_contexts()

void BESDapResponse::read_contexts ( )
protected

Extract the dap protocol from the setContext information This method checks four contexts: dap_explicit_containers, dap_format and xdap_accept, and xml:base.

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 64 of file BESDapResponse.cc.

◆ set_constraint()

void BESDapResponse::set_constraint ( BESDataHandlerInterface & dhi)
virtual

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 134 of file BESDapResponse.cc.

◆ set_container()

virtual void BESDapResponse::set_container ( const std::string & cn)
pure virtual

◆ set_dap4_constraint()

void BESDapResponse::set_dap4_constraint ( BESDataHandlerInterface & dhi)
virtual

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 156 of file BESDapResponse.cc.

◆ set_dap4_function()

void BESDapResponse::set_dap4_function ( BESDataHandlerInterface & dhi)
virtual

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 173 of file BESDapResponse.cc.


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