ECOBA ;BP/CMF - Attribute Object
 ;;2.0;EVENT CAPTURE;**100**;8 May 96;Build 21
 ;@author  - Chris Flegel
 ;@date    - 17 May 2009
 ;@version - 1.0
 ;;
 Q
 ;; private methods
 ;;
PROPERTY(HANDLE,SCOPE,PROPERTY,VALUE)  ;
 D PROPERTY^ECOB(HANDLE,SCOPE,PROPERTY,VALUE)
 Q
 ;;
 ;; public methods
CREATE(NAME)  ;
 ; call parent first
 N HANDLE,CHILD
 S HANDLE=$$CREATE^ECOB2(NAME)
 D SELF^ECOB(.RESULT,HANDLE,"Attribute","Attribute","METHOD^ECOBA(.RESULT,ARGUMENT)","ECOB2")
 ;;
 D PROPERTY(HANDLE,"Pu","AddedByClass","")
 D PROPERTY(HANDLE,"Pu","Cleared","false")
 D PROPERTY(HANDLE,"Pu","DefaultValue","")
 D PROPERTY(HANDLE,"Pu","Description","")
 D PROPERTY(HANDLE,"Pu","Edited","false")
 D PROPERTY(HANDLE,"Pu","Name","")
 D PROPERTY(HANDLE,"Pu","Obtained","false")
 D PROPERTY(HANDLE,"Pu","Persisted","false")
 D PROPERTY(HANDLE,"Pu","Scope","")
 D PROPERTY(HANDLE,"Pu","Value","")
 ; complex properties last
 Q HANDLE
 ;;
DESTROY(HANDLE)  ;
 ; call parent last
 Q $$DESTROY^ECOB2(HANDLE)
 ;;
METHOD(RESULT,ARGUMENT)  ;
 ; argument=(name.count[handle]).method.(additional.params...)
 D METHOD^ECOB2(.RESULT,ARGUMENT)
 Q
 ;;
 
--- Routine Detail   --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HECOBA   1167     printed  Sep 23, 2025@19:34:05                                                                                                                                                                                                       Page 2
ECOBA     ;BP/CMF - Attribute Object
 +1       ;;2.0;EVENT CAPTURE;**100**;8 May 96;Build 21
 +2       ;@author  - Chris Flegel
 +3       ;@date    - 17 May 2009
 +4       ;@version - 1.0
 +5       ;;
 +6        QUIT 
 +7       ;; private methods
 +8       ;;
PROPERTY(HANDLE,SCOPE,PROPERTY,VALUE) ;
 +1        DO PROPERTY^ECOB(HANDLE,SCOPE,PROPERTY,VALUE)
 +2        QUIT 
 +3       ;;
 +4       ;; public methods
CREATE(NAME) ;
 +1       ; call parent first
 +2        NEW HANDLE,CHILD
 +3        SET HANDLE=$$CREATE^ECOB2(NAME)
 +4        DO SELF^ECOB(.RESULT,HANDLE,"Attribute","Attribute","METHOD^ECOBA(.RESULT,ARGUMENT)","ECOB2")
 +5       ;;
 +6        DO PROPERTY(HANDLE,"Pu","AddedByClass","")
 +7        DO PROPERTY(HANDLE,"Pu","Cleared","false")
 +8        DO PROPERTY(HANDLE,"Pu","DefaultValue","")
 +9        DO PROPERTY(HANDLE,"Pu","Description","")
 +10       DO PROPERTY(HANDLE,"Pu","Edited","false")
 +11       DO PROPERTY(HANDLE,"Pu","Name","")
 +12       DO PROPERTY(HANDLE,"Pu","Obtained","false")
 +13       DO PROPERTY(HANDLE,"Pu","Persisted","false")
 +14       DO PROPERTY(HANDLE,"Pu","Scope","")
 +15       DO PROPERTY(HANDLE,"Pu","Value","")
 +16      ; complex properties last
 +17       QUIT HANDLE
 +18      ;;
DESTROY(HANDLE) ;
 +1       ; call parent last
 +2        QUIT $$DESTROY^ECOB2(HANDLE)
 +3       ;;
METHOD(RESULT,ARGUMENT) ;
 +1       ; argument=(name.count[handle]).method.(additional.params...)
 +2        DO METHOD^ECOB2(.RESULT,ARGUMENT)
 +3        QUIT 
 +4       ;;