ApplicationObject.h

Classes

ApplicationObject -- Encapsulates an AIPS++ Application. DOs are derived from ApplicationObject (full description)
ApplicationObjectFactory -- A factory for making ApplicationObjects. (full description)
StandardObjectFactory -- The standard factory for making ApplicationObjects. (full description)

class ApplicationObject

Interface

Public Members
virtual ~ApplicationObject()
const ObjectID &id() const
static MethodResult ok()
static MethodResult error(const String &message)
virtual String className() const = 0
virtual Vector<String> methods() const = 0
virtual Vector<String> noTraceMethods() const
virtual MethodResult runMethod(uInt which, ParameterSet &inputRecord, Bool runMethod) = 0
Protected Members
ApplicationObject()
ApplicationObject(const ApplicationObject &other)
ApplicationObject &operator=(const ApplicationObject &other)

Description

or

Review Status

Date Reviewed:
yyyy/mm/dd

Prerequisite

Etymology

Synopsis

Example

Motivation

Template Type Argument Requirements (T)

Thrown Exceptions

To Do

Member Description

virtual ~ApplicationObject()

const ObjectID &id() const

Handled by this base class

static MethodResult ok()

Convenient ways to generate a return.

static MethodResult error(const String &message)

virtual String className() const = 0

Must be filled in by the end user class.

virtual Vector<String> methods() const = 0

virtual Vector<String> noTraceMethods() const

By default, parameters in and out of a method, and CPU times taken by the method are automatically logged. This is not appropriate for small methods that do not do very much. Return the names of methods you do not want traced from this function. The default is to trace all methods.

virtual MethodResult runMethod(uInt which, ParameterSet &inputRecord, Bool runMethod) = 0

ApplicationObject()

ApplicationObject(const ApplicationObject &other)

ApplicationObject &operator=(const ApplicationObject &other)


class ApplicationObjectFactory

Interface

Public Members
virtual ~ApplicationObjectFactory()
virtual MethodResult make(ApplicationObject *&newObject, const String &whichConstructor, ParameterSet &inputRecord, Bool runConstructor) = 0

Description

or

Review Status

Date Reviewed:
yyyy/mm/dd

Prerequisite

Etymology

Synopsis

Example

Motivation

Template Type Argument Requirements (T)

Thrown Exceptions

To Do

Member Description

virtual ~ApplicationObjectFactory()

virtual MethodResult make(ApplicationObject *&newObject, const String &whichConstructor, ParameterSet &inputRecord, Bool runConstructor) = 0

Do it - normally just calls "new MyActualType" if MyActualType has a default ctor.

template<class AppType> class StandardObjectFactory : public ApplicationObjectFactory

Interface

virtual MethodResult make(ApplicationObject *&newObject, const String &whichConstructor, ParameterSet &inputRecord, Bool runConstructor)

Description

or

Review Status

Date Reviewed:
yyyy/mm/dd

Prerequisite

Etymology

Synopsis

Example

Motivation

Template Type Argument Requirements (T)

Thrown Exceptions

To Do

Member Description

virtual MethodResult make(ApplicationObject *&newObject, const String &whichConstructor, ParameterSet &inputRecord, Bool runConstructor)