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

List of all registered aggregation handlers for this server. More...

#include <BESAggFactory.h>

Inheritance diagram for BESAggFactory:
Inheritance graph
Collaboration diagram for BESAggFactory:
Collaboration graph

Public Types

typedef map< string,
p_agg_handler >
::const_iterator 
Handler_citer
 
typedef map< string,
p_agg_handler >::iterator 
Handler_iter
 

Public Member Functions

virtual bool add_handler (string handler_name, p_agg_handler handler_method)
 add an aggregation handler to the list More...
 
virtual void dump (ostream &strm) const
 dumps information about this object More...
 
virtual BESAggregationServerfind_handler (string handler_name)
 returns the aggregation handler with the given name in the list More...
 
virtual string get_handler_names ()
 returns the list of all agg handlers currently registered with this server. More...
 
virtual bool remove_handler (string handler_name)
 removes a response handler from the list More...
 
virtual ~BESAggFactory (void)
 

Static Public Member Functions

static BESAggFactoryTheFactory ()
 

Protected Member Functions

 BESAggFactory (void)
 

Detailed Description

List of all registered aggregation handlers for this server.

A BESAggFactory allows the developer to add or remove aggregation handlers from the list of handlers available for this server.

See Also

Definition at line 55 of file BESAggFactory.h.

Member Typedef Documentation

typedef map< string, p_agg_handler >::const_iterator BESAggFactory::Handler_citer

Definition at line 66 of file BESAggFactory.h.

typedef map< string, p_agg_handler >::iterator BESAggFactory::Handler_iter

Definition at line 67 of file BESAggFactory.h.

Constructor & Destructor Documentation

BESAggFactory::BESAggFactory ( void  )
inlineprotected

Definition at line 62 of file BESAggFactory.h.

Referenced by TheFactory().

virtual BESAggFactory::~BESAggFactory ( void  )
inlinevirtual

Definition at line 64 of file BESAggFactory.h.

Member Function Documentation

bool BESAggFactory::add_handler ( string  handler_name,
p_agg_handler  handler_method 
)
virtual

add an aggregation handler to the list

This method actually adds to the list a method that knows how to build an aggregation handler.

Parameters
handler_namename of the handler to add to the list
handler_methodmethod that knows how to build the named agg handler
Returns
true if successfully added, false if it already exists
See Also
BESAggregationServer

Definition at line 48 of file BESAggFactory.cc.

void BESAggFactory::dump ( ostream &  strm) const
virtual

dumps information about this object

Displays the pointer value of this instance along with the name of all registered aggrecation servers

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

Implements BESObj.

Definition at line 143 of file BESAggFactory.cc.

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

Here is the call graph for this function:

BESAggregationServer * BESAggFactory::find_handler ( string  handler_name)
virtual

returns the aggregation handler with the given name in the list

This method looks up the build method with the given name in the list. If it is found then the build method is invoked with the given handler name and the agg handler built with the build method is returned. If the handler build method does not exist in the list then NULL is returned.

Parameters
handler_namename of the handler to build and return
Returns
a BESAggregationServer using the specified build method, or NULL if it doesn't exist in the list.
See Also
BESAggregationServer

Definition at line 96 of file BESAggFactory.cc.

Referenced by BESBasicInterface::invoke_aggregation(), and BESInterface::invoke_aggregation().

string BESAggFactory::get_handler_names ( )
virtual

returns the list of all agg handlers currently registered with this server.

Builds a comma separated list of agg handlers registered with this server.

Returns
comma separated list of agg handler names

Definition at line 120 of file BESAggFactory.cc.

bool BESAggFactory::remove_handler ( string  handler_name)
virtual

removes a response handler from the list

The method that knows how to build the specified agg handler is removed from the list.

Parameters
handler_namename of the handler build method to remove from the list
Returns
true if successfully removed, false if it doesn't exist in the list
See Also
BESAggregationServer

Definition at line 71 of file BESAggFactory.cc.

BESAggFactory * BESAggFactory::TheFactory ( )
static

Definition at line 167 of file BESAggFactory.cc.

References BESAggFactory().

Referenced by BESBasicInterface::invoke_aggregation(), and BESInterface::invoke_aggregation().

Here is the call graph for this function:


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