OOQL language link

connection between two object instances

create - generate a new link instance between two object instances with a specific Linktype

  object create ObjectIdName (to/from/both)  ObjectIdName linktype AdminName { Link_CreateOption };

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 } ;

undo - undo the last changes on field values

  link
undo LinkName [ iteration[ NUMBER ] ] ;

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 [ sync NUMBER ]
IDVAL [ sync NUMBER ]

Link_CreateOption
holder AdminName
altholder AdminName { AdminName }
active
inactive
field[ AdminName ]  GenericValue
[! /not] hidden

Link_EditOption
newtype AdminName
holder AdminName
altholder Edit_Operator AdminName { Edit_Operator 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
changetype
changeholder
edit
undo
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 [. LinkType_GetBasicOption]
    origdate  
    moddate  
    holder [. User_GetBasicOption]
    altholder [. User_GetBasicOption]
    altholder[] [. User_GetBasicOption]
    altholder[ AdminName ] [. User_GetBasicOption]
    hidden  
    active  
    counter  
    field [. Field_GetBasicOption]
    field[] [. Field_GetBasicOption]
    field[ AdminName ] [. Field_GetBasicOption]
    fieldvalues  
    to. Object_GetBasicOption  
    from. Object_GetBasicOption  
    both. Object_GetBasicOption  
    iteration  
    iteration[ NUMBER ]  
    useraccess  
    useraccess[ AdminName ]  
    history [ Link_HistoryOption ] [ user AdminName ] [ date Date_Range ]
    null  


KEYWORDs
active a flag used at application level to mark enabled connections
altholder the link alternative holders/owners
both. both from/to connected objects
counter the synchronization counter
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
holder the link holder/owner
id the link ID
inactive a flag used at application level to mark disabled connections
iteration represents an internal revision number, increased after an edit command
linktype the link type (refers to the administration object)
moddate the last modification date (timestamp)
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
useraccess list of accesses for the framework (or for a specific) user
sync the synchronization counter
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
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