Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: ECOBARG

ECOBARG.m

Go to the documentation of this file.
  1. ECOBARG ;BP/CMF - Argument Object
  1. ;;2.0;EVENT CAPTURE;**100**;8 May 96;Build 21
  1. ;@author - Chris Flegel
  1. ;@date - 17 May 2009
  1. ;@version - 1.0
  1. ;;
  1. Q
  1. ;; private methods
  1. ;;
  1. PARSE(PARSE,VALUE) ;
  1. D PARSE^ECOB(PARSE,VALUE)
  1. Q
  1. ;;
  1. PROPERTY(HANDLE,SCOPE,PROPERTY,VALUE) ;
  1. D PROPERTY^ECOB(HANDLE,SCOPE,PROPERTY,VALUE)
  1. Q
  1. ;;
  1. SETARG(RESULT,ARGUMENT) ;
  1. ; argument=(name.count[handle]).method.(additional.params...)
  1. N HANDLE
  1. S ARGUMENT=$G(ARGUMENT)
  1. D PARSE("Handle",ARGUMENT)
  1. D SET^ECOB(.RESULT,HANDLE,"Pu","Argument",ARGUMENT)
  1. D SET^ECOB(.RESULT,HANDLE,"Pu","Count",$P(ARGUMENT,".",2))
  1. D SET^ECOB(.RESULT,HANDLE,"Pu","Handle",HANDLE)
  1. D SET^ECOB(.RESULT,HANDLE,"Pu","Name",$P(ARGUMENT,".",1))
  1. D SET^ECOB(.RESULT,HANDLE,"Pu","Method",$P(ARGUMENT,".",3))
  1. D SET^ECOB(.RESULT,HANDLE,"Pu","Params",$P(ARGUMENT,".",4,99))
  1. Q
  1. ;;
  1. ;; public methods
  1. CREATE(NAME) ;
  1. ; call parent first
  1. N HANDLE,CHILD
  1. S HANDLE=$$CREATE^ECOB(NAME)
  1. D SELF^ECOB(.RESULT,HANDLE,"Method","Method","METHOD^ECOBM(.RESULT,ARGUMENT)","ECOB2")
  1. ;;
  1. D PROPERTY(HANDLE,"Pu","Argument","")
  1. D PROPERTY(HANDLE,"Pu","Count","")
  1. D PROPERTY(HANDLE,"Pu","Handle","")
  1. D PROPERTY(HANDLE,"Pu","Name","")
  1. D PROPERTY(HANDLE,"Pu","Method","")
  1. D PROPERTY(HANDLE,"Pu","Params","")
  1. ; complex properties last
  1. Q HANDLE
  1. ;;
  1. DESTROY(HANDLE) ;
  1. ; call parent last
  1. Q $$DESTROY^ECOB(HANDLE)
  1. ;;
  1. METHOD(RESULT,ARGUMENT) ;
  1. ; argument=(name.count[handle]).method.(additional.params...)
  1. N CHILD,HANDLE,METHOD,PARAMS
  1. D PARSE("Handle",ARGUMENT)
  1. D PARSE("Method",ARGUMENT)
  1. D PARSE("Params",ARGUMENT)
  1. I METHOD="SetArgument" D SETARG(.RESULT,ARGUMENT) Q
  1. S RESULT="-1^Invalid Argument"
  1. Q
  1. ;;