OOQL language class

type of objects


define - create new class definition

  class define   AdminName {Class_DefineOption} [force];

clone - duplicate a class and set the properties for the new instance

  class clone  AdminName define AdminName {Class_EditOption} [force];

edit - update the class properties [data for removed fields will be lost]

  class edit   AdminName {Class_EditOption} [force];

show - print the class properties

  class show   AdminName [Class_GetOption] [Token_Option] [ExportFile_Option] ;

select - extract classes on the base of query filters

  class select AdminPatternList {Filter_Option} [top] [Class_GetOption]
                                     [Token_Option] [ExportFile_Option] ;

undefine - remove a class with no object instances and without sub-classes from the database

  class undefine AdminName ;

Class_DefineOption
description GenericValue
application AdminName
image  FileName
imagedata GenericString
field  AdminName { AdminName }
method AdminName
form AdminName
program AdminName event  Class_Event   Event_Type [Program_ArgsOption]
workflow AdminName event  Class_Event  [Workflow_Parameters]
extend AdminName
[! / not] abstract
[! /not] hidden

Class_EditOption
name AdminName
description GenericValue
application AdminName
svnrev NUMBER
image  FileName
imagedata GenericString
field  Edit_Operator   AdminName { Edit_Operator   AdminName }
method Edit_Operator  AdminName
form AdminName
program Edit_Operator  AdminName event  Class_Event   Event_Type [Program_ArgsOption]
workflow Edit_Operator AdminName event  Class_Event  [Workflow_Parameters]
extend AdminName
[! / not] abstract
[! /not] hidden

Class_Event
create
clone
revise
changespace
changeclass
changename
changeholder
changelifecycle
changedescription
changefield
undo
fileput
fileget
filerename
filelock
fileunlock
filedelete
addlink
removelink
lock
unlock
delegate
revoke
destroy

Class_GetOption
get [Class_GetBasicOption]
   
  Class_GetBasicOption
  { Class_GetBasicToken [as IDENTIFIER] { Class_GetBasicToken [as IDENTIFIER] } }
  Class_GetBasicToken [as IDENTIFIER]
     
    Class_GetBasicToken
    Common_GetBasicOption  
    abstract  
    field [. Field_GetBasicOption]
    field[] [. Field_GetBasicOption]
    field[ AdminName ]  
    ownfield [. Field_GetBasicOption]
    ownfield[] [. Field_GetBasicOption]
    ownfield[ AdminName ]  
    method [. Program_GetBasicOption]
    ownmethod [. Program_GetBasicOption]
    form [. Form_GetBasicOption]
    ownform [. Form_GetBasicOption]
    baseform [. Form_GetBasicOption]
    program  
    ownprogram  
    program[ Class_Event   Event_Type ] [. Program_GetBasicOption]
    workflow  
    ownworkflow  
    workflow[ Class_Event ] [. Workflow_GetBasicOption]
    superclass [. Class_GetBasicOption]
    subclass [. Class_GetBasicOption]
    subclass[] [. Class_GetBasicOption]
    subclass[ AdminName ]  
    ownsubclass [. Class_GetBasicOption]
    ownsubclass[] [. Class_GetBasicOption]
    ownsubclass[ AdminName ]  
    lifecycle [. Lifecycle_GetBasicOption]
    lifecycle[] [. Lifecycle_GetBasicOption]
    lifecycle[ AdminName ]  
    linktype [. LinkType_GetBasicOption]
    linktype[] [. LinkType_GetBasicOption]
    linktype[ AdminName ]  
    autonumber [. AutoNumber_GetBasicOption]
    autonumber[] [. AutoNumber_GetBasicOption]
    autonumber[ AdminName ]  


KEYWORDs
abstract defines a class for which you cannot create object instances
application the associated application menu
autonumber list of autonumbers enabled to create objects of this class
baseform default form associated to the top class in the hierarchy
description the class description
event event associated to a check or action trigger
extend defines a super-class (parent class in the hierarchy) for this class
field class field(s)
force this flag allows to ignore errors during the creation/update (for example, a trigger/method program or a field not yet defined)
form default form used to edit the object field values in the user interface
hidden administration hidden objects are not visible/usable
image local path for the class icon to upload
imagedata base64 code for the class icon
lifecycle list of lifecycles enabled to support objects of this class
linktype list of linktypes enabled to connect objects of this class (from/to side)
method a program associated to this class objects, executable with "object execute" command
moddate last modification date
name the class name
ownfield a field not inherited from parent classes
ownform default form directly associated to this class
ownmethod method directly associated to this class
ownprogram trigger program directly associated to this class
ownsubclass list of directly derived subclasses in the hierarchy
ownworkflow workflow directly associated to this class
program trigger program associated to a specific event
subclass list of all subclasses (derived classes) in the hierarchy
superclass the parent class in the hierarchy
svnrev SVN repository revision number
top filter top classes only (without parent class)
workflow workflow associated to a specific event (starts automatically)


SAMPLES

class define CL01 description "myclass " method "PrintObjects" program PRG01 event create check field ATTR0 ATTR2 ;

class define "CL02" description "myclass derived" program PRG02 event create action field ATTR1 ATTR2 extend CL01 abstract ;

class define CL03 extend CL02 description "sub3" hidden program PRG02 event fileput check input "A" "B" ;

class edit CL01 field add ATTR3;

class show 'CL01' exportfile "c:\export\data.txt" append ;

class show CL03 get { linktype.{ name field} } token xml;

class select * get { name field ownfield abstract program superclass subclass ownsubclass } token { "|" ";" "," };

class select C*,D* get { name field ownfield.{ name range } subclass.{name description } } token { "|" ";" "," };

class select CL?? get { name superclass lifecycle.{ name description} } token xml;

 

common syntax

Common_GetBasicOption
Common_GetBasicToken [ as IDENTIFIER ]

Common_GetBasicToken
id  
name  
origdate  
moddate  
moduser  
description  
svnrev  
hidden  
image  
imagedata  
feature[ AdminName ] [. Feature_GetBasicOption]
feature[] [. Feature_GetBasicOption]
feature [. Feature_GetBasicOption]
application [. Menu_GetBasicOption]
super  
admintype  

Edit_Operator
add
remove

Edit_RefOperator
addbefore AdminName set
addafter AdminName set
add
remove
movebefore
moveafter

Edit_AddOperator
addbefore AdminName define
addafter AdminName define
append

Edit_MoveOperator
movebefore
moveafter

Event_Type
action
check

AdminPatternList
AdminNamePattern {, AdminNamePattern}

AdminNamePattern
*
PATTERNIDENTIFIER
STRINGVAL
AdminName

GenericPatternList
GenericPattern {, GenericPattern}

GenericPattern
*
IDENTIFIER
PATTERNIDENTIFIER
GenericValue

AdminActor
user AdminName
team AdminName
assignment AdminName

AdminName
IDENTIFIER
QUOTED_STRING
SQUOTED_STRING

GenericValue
DATETIME
GenericNumber
GenericString
BOOLEANVAL

GenericString
STRINGVAL
QUOTED_STRING
SQUOTED_STRING

GenericNumber
NUMBER
REALNUMBER

Filter_Option
moddate Date_Range
application AdminNamePattern

Date_Range
=  DATETIME  
!= DATETIME
 
<  DATETIME
 
>  DATETIME
 
<= DATETIME
 
>= DATETIME
 
in [ DATETIME , DATETIME ]
 
in ( DATETIME , DATETIME ]
 
in [ DATETIME , DATETIME )
 
in ( DATETIME , DATETIME )  

Token_Option
token { Token_Separator { Token_Separator } }
token Token_Separator

Token_Separator
QUOTED_STRING
SQUOTED_STRING
IDENTIFIER
STRINGVAL
json
json-
json+
xml
xml-
xml+

ExportFile_Option
exportfile FileName [append] [xml | json ]

ImportFile_Option
importfile FileName [xml | json |emxxml]

LogFile_Option
logfile FileName [append]

FileName
QUOTED_STRING
SQUOTED_STRING

basic elements
grammar rules
[ ] = optional element - only one item is allowed : ( 0 or 1 )
{ } = optional element - more than one is allowed : ( 0 or N )
/ = alternative
= one of ...
   
  all bold texts represent keywords or command syntax

IDVAL
#<5 dec digits [ 0-9 ]>-<8 hex digits [ 0-9 A-F ]>
  example:
  #00020-34F2A80E

COMMENT
// <any character until the end of the line(\n \r)>
  example:
  // My single line comment

LONGCOMMENT
/* <any character> */
 

example:
  /* My multi line comment starts here
  continue here
  and finish here */


DATETIME
<year 4 digits>[ - /. ]<month 2 digits>[ - /. ]<day 2 digits>
  examples:
   2009-12-23    2009/03/19   2009.11.14
<year 4 digits>[ - /. ]<month 2 digits>[ - /. ]<day 2 digits> <hours>:<minutes>:[<seconds>]
  examples:
   2009-12-23 10:23   2009/03/19 16:03:34  2009.11.14 00:20:04

NUMBER
[+-]<decimal digits [ 0-9 ]>
  examples:
   -1203   +276   25

BOOLEANVAL
true / false

REALNUMBER
[+-]<decimal digits [ 0-9 ]>.<decimal digits [ 0-9 ]>[E(+-)<esponent [0-9]>]
  example:
   -37.837   +2.3874   13.887   1.4862E-04

QUOTED_STRING
"<any character>"
  example:
   "my quoted string"

SQUOTED_STRING
'<any character>'
  example:
   'my single quoted string'

IDENTIFIER
<one or more of [ a-z A-Z ]><zero or more of [ a-z A-Z 0-9 _ ]>
  example:
   Var1    object_Name_02

VARIABLE
$<one o more of [ a-z A-Z 0-9 ]><zero or more of [ a-z A-Z 0-9 _ ]>
 

example:
   $1   $var_02    $1b


STRINGVAL
<one or more of [ a-z A-Z 0-9 -_ $ ? @ | ~ % & / = : + \ # ' ]>
  a string not recognized as identifier

PATTERNIDENTIFIER
<a string with * (match 0 or more characters) and ? (match 1 character) wildcards>
  example:
   mypa*er?_ide?ti*

© 2008-2015 MS Enterprise Solutions | Website Templates by IceTemplates.com
Please Read: Privacy Policy and Terms of Use