OOQL language link

connection between two object instances


edit - update the link properties

  link
edit LinkName { Link_EditOption } ;

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

  link
clone LinkName { Link_EditOption } ;

show - print the properties for one or more links

  link
show LinkName { , LinkName } [ Link_GetOption ] [ Token_Option ] [ ExportFile_Option ];

destroy
- remove a link

  link destroy
LinkName ;


LinkName
object ObjectIdName  ( to / from )  ObjectIdName  linktype  AdminName
IDVAL

Link_EditOption
newtype AdminName
history add  Link_HistoryOption GenericValue [ note GenericValue ]
history remove Link_HistoryOption [ user AdminName ] [ date Date_Range ]
active
inactive
field[ AdminName ]  GenericValue
[! /not] hidden

Link_HistoryOption
create
edit
custom

Link_GetNavOption
getlink [Link_GetBasicOption]
   
Link_GetOption
get [Link_GetBasicOption]
getlink [Link_GetBasicOption]
view AdminName
   
  Link_GetBasicOption
  { Link_GetBasicToken [ as IDENTIFIER ] { Link_GetBasicToken [ as IDENTIFIER ] } }
  Link_GetBasicToken [ as IDENTIFIER ]
     
    Link_GetBasicToken
    id  
    linktype  
    origdate  
    hidden  
    active  
    field [. Field_GetBasicOption]
    field[] [. Field_GetBasicOption]
    field[ AdminName ] [. Field_GetBasicOption]
    fieldvalues  
    to. Object_GetBasicOption  
    from. Object_GetBasicOption  
    both. Object_GetBasicOption  
    history [ Link_HistoryOption ] [ user AdminName ] [ date Date_Range ]
    null  


KEYWORDs
active a flag used at application level to mark enabled connections
both. both from/to connected objects
date timestamp of a event inside the link history
field a link field or the list of field names
fieldvalues returns the list of link fields with their values
from identifies a outgoing link
from. the from side object
id the link ID
inactive a flag used at application level to mark disabled connections
linktype the link type (refers to the administration object)
newtype the new link-type (in change-type operation)
note a comment entered for a event inside the link history
null empty value
origdate the link creation date
to identifies a incoming link
to. the to side object
user user actor associated to a event inside the link history


SAMPLES

link edit object CL04 'ObjName' 03 to CL04 'ObjName' 02 linktype LT01 newtype LT002;

link edit #00001-00000010 history remove edit date < 2008-05-31;

link clone #00002-00000006 field[ATTR1] 2005-03-01 ;

link show #00001-00000000B token xml;

link show object CL04 'ObjName' 04 to CL04 'ObjName' 03 linktype LT01 ;

link show object CL04 'ObjName' 02 to CL04 'ObjName' 04 linktype LT01 getlink to.{ class name revision id } token { "" "|" } ;

link show object CL04 'ObjName' 04 to CL04 'ObjName' 03 linktype LT01 getlink { id from.stage to.holder to.{ holder description} } token { "|" "," } ;

link show object CL04 "ObjName" 01 to #00003-00000004 linktype LT01 getlink { from.{ class name revision description id } } token { "|" ";" };

link show #00001-0000001D,#00001-0000001B,#00001-0000001C,#00001-0000001E getlink { field[ATTR1] } token {'|' ';' ','} ;

link show #00001-0000001D,#00001-0000001B,#00001-0000001C,#00001-0000001E getlink { id linktype active field[ATTR1] } token {'|' ';' ','} ;

link show #00001-0000001D getlink { linktype from.{name null} to.{name null} fieldvalues } 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
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 o more of [ a-z A-Z ]><zero or more of [ a-z A-Z 0-9 _ ]>
  example:
   Var1    object_Name_02

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-2012 Mirko Solazzi | Website Templates by IceTemplates.com
Please Read: Privacy Policy and Terms of Use