OOQL language feature

extended property for administrative objects or
a relationship between two administrative objects



define - create new feature definition

  feature define   AdminName Feature_DefineOption [ value GenericValue ] [force];

edit - update the feature properties

  feature edit   AdminName  Feature_DefineOption [ value GenericValue ] [force];

show - print the feature properties

  feature show   AdminName  Feature_DefineOption [Feature_GetOption]  
                                     [Token_Option] [ExportFile_Option] ;

undefine - remove a feature from the database

  feature undefine AdminName Feature_DefineOption ;


Feature_DefineOption
for Feature_AdminType [ AdminName ]
between Feature_AdminType [ AdminName ] and Feature_AdminType [ AdminName ]

Feature_AdminType
objectspace
filespace
localarea
field
class
linktype
user
team
assignment
filetype
program
webservice
lifecycle
workflow
menu
command
form
view
autonumber
query
graph
metricsystem
unitmeasure

Feature_GetOption
get [Feature_GetBasicOption]
   
  Feature_GetBasicOption
  { Feature_GetBasicToken [as IDENTIFIER] { Feature_GetBasicToken [as IDENTIFIER] } }
  Feature_GetBasicToken [as IDENTIFIER]
     
    Feature_GetBasicToken
    name  
    value  
    to.type  
    to.name  


KEYWORDs
between .. and defines a relationship between two aministrative objects
for defines an extended property for an aministrative object
force this flag allows to ignore errors during the creation/update (for example if the from/to administrative object is not yet defined)
name the feature name
to.name the name of the "to side" object
to.type the type of the "to side" object
value the value associated to this feature


SAMPLES


feature define MYFEAT for filetype[ FT01] value 87 ;

feature define MYFEAT1 between filetype[ FT02] and class[CL09] value 78 ;

feature define MYFEAT2 between filetype[ FT02] and localarea[ LA0 ] value "myloc" ;

feature edit MYFEAT2 between filetype[ FT02] and localarea[ LA0 ] value "XYZ";

feature show MYFEAT for filetype[FT01] token xml;

feature show MYFEAT1 between filetype[FT02] and filetype[FT03] ;

feature show MYFEAT2 between program[ PRG01 ] and localarea[ LA1 ] get { name value } token "|";


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
xml
xml-
xml+

ExportFile_Option
exportfile FileName [append] [xml]

ImportFile_Option
importfile FileName [xml / 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-2014 Mirko Solazzi | Website Templates by IceTemplates.com
Please Read: Privacy Policy and Terms of Use