Versions Compared
Key
- This line was added.
- This line was removed.
- Formatting was changed.
Table of Contents |
---|
CFMumps is a highly modular, orthogonal system: the Global API (lib.cfmumps.global) calls into the Basic API (lib.cfmumps.mumps), which in turn calls into the default connector configured in cfmumps.ini. Thus, lib.cfmumps.mumps is a wrapper, which simply passes the parameters of its component methods to the underlying connector.
In order for this architecture to work, CFMumps takes advantage of CF interfaces, which are essentially object-oriented blueprints, setting forth a set of methods and their parameters which a component must contain in order to implement the interface.
The CFMumps connectors all implement the iMumpsConnector interface, which essentially requires the connector to implement the CFMumps Basic API.
Below is the iMumpsConnector interface:
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
<!--- cfmumps CFML to GT.M adaptor Copyright (C) 2014 Coherent Logic Development LLC ---> <cfinterface> <cffunction name="open" returntype="component" access="public" output="false"/> <cffunction name="isOpen" returntype="boolean" access="public" output="false"/> <cffunction name="close" returntype="component" access="public" output="false"/> <cffunction name="set" returntype="void" access="public" output="false"> <cfargument name="globalName" type="string" required="true"> <cfargument name="subscripts" type="array" required="true"> <cfargument name="value" type="string" required="true"> </cffunction> <cffunction name="get" returntype="any" access="public" output="false"> <cfargument name="globalName" type="string" required="true"> <cfargument name="subscripts" type="array" required="true"> </cffunction> <cffunction name="kill" returntype="void" access="public" output="false"> <cfargument name="globalName" type="string" required="true"> <cfargument name="subscripts" type="array" required="true"> </cffunction> <cffunction name="data" returntype="struct" access="public" output="false"> <cfargument name="globalName" type="string" required="true"> <cfargument name="subscripts" type="array" required="true"> </cffunction> <cffunction name="order" returntype="struct" access="public" output="false"> <cfargument name="globalName" type="string" required="true"> <cfargument name="subscripts" type="array" required="true"> </cffunction> <cffunction name="mquery" returntype="string" access="public" output="false"> <cfargument name="globalRef" type="string" required="true"> </cffunction> <cffunction name="merge" returntype="numeric" access="public" output="false"> <cfargument name="inputGlobalName" type="string" required="true"> <cfargument name="inputGlobalSubscripts" type="array" required="true"> <cfargument name="outputGlobalName" type="string" required="true"> <cfargument name="outputGlobalSubscripts" type="array" required="true"> </cffunction> <cffunction name="lock" returntype="boolean" access="public" output="false"> <cfargument name="globalName" type="string" required="true"> <cfargument name="subscripts" type="array" required="true"> <cfargument name="timeout" type="numeric" required="true" default="0"> </cffunction> <cffunction name="unlock" returntype="boolean" access="public" output="false"> <cfargument name="globalName" type="string" required="true"> <cfargument name="subscripts" type="array" required="true"> </cffunction> <cffunction name="mVersion" returntype="string" access="public" output="false"/> <cffunction name="mFunction" returntype="any" access="public" output="false"> <cfargument name="fn" type="string" required="true"> <cfargument name="args" type="array" required="true"> </cffunction> </cfinterface> |