MDrivenText
No edit summary
No edit summary
Line 15: Line 15:
     column NameOfAColumn3{ValueOfThatColumn}   
     column NameOfAColumn3{ValueOfThatColumn}   
     }   
     }   
  } 
   
   nesting ValueOfFirstColumnOfNestedObject{     
   nesting ValueOfFirstColumnOfNestedObject{     
     column NameOfAColumn{ValueOfThatColumn}   
     column NameOfAColumn{ValueOfThatColumn}   
Line 22: Line 22:
     column NameOfAColumn3{ValueOfThatColumn}   
     column NameOfAColumn3{ValueOfThatColumn}   
     }   
     }   
  }   
}   
}
 
An Example if the ViewModel is named "class", has a nesting "attribute" and another nesting "role"
An Example if the ViewModel is named "class", has a nesting "attribute" and another nesting "role"
  class Thing{   
  class Thing{   
Line 37: Line 37:
     RoleClass{TheRoleClass}  }  
     RoleClass{TheRoleClass}  }  
  }
  }
Definition of format
classifier+space+Key{ ===content===}
The ===content=== is defined as:  [classifier+space+]Key{===content===}
Every key must unique in its list
Format treat multi or single relation the same
<nowiki>A list property can be set in 2 ways; classifier+space+key repeated with unique keys , or nameoflist{key1{} key2{} key3{}}</nowiki>
How does the format differ from json?
How does the format differ from json?
* - json has "" on identifiers and some values
* - json has "" on identifiers and some values

Revision as of 11:38, 22 March 2020

Proposed new ViewModel data textual representation.

Goals: Text based modeling, more to-the-point, less bloated, easier to write format than json (specially true if you consider attribute values that in turn are strings that may have special chars like ',",{ etc )

How does the format look:

viewmodel ValueOfFirstColumn{  
  column NameOfAColumn{ValueOfThatColumn}  
  column NameOfAColumn1{ValueOfThatColumn}  
  column NameOfAColumn2{ValueOfThatColumn}  
  column NameOfAColumn3{ValueOfThatColumn}  
  nesting ValueOfFirstColumnOfNestedObject{    
    column NameOfAColumn{ValueOfThatColumn}  
    column NameOfAColumn1{ValueOfThatColumn}  
    column NameOfAColumn2{ValueOfThatColumn}  
    column NameOfAColumn3{ValueOfThatColumn}  
    }  
    
  nesting ValueOfFirstColumnOfNestedObject{    
    column NameOfAColumn{ValueOfThatColumn}  
    column NameOfAColumn1{ValueOfThatColumn}  
    column NameOfAColumn2{ValueOfThatColumn}  
    column NameOfAColumn3{ValueOfThatColumn}  
    }  
}  

An Example if the ViewModel is named "class", has a nesting "attribute" and another nesting "role"

class Thing{  
  SuperClass{SomeSuper}  
  attribute Attribute1{    Type{string}  }  
  role Detail2{  
    Cardinality{0..*}    
    TargetType{Detail}      
    BackName{Thing2}
    BackCardinality{0..1}
    Aggregation{composite}
    IsNavigable{true}
    RoleClass{TheRoleClass}  } 
}

Definition of format

classifier+space+Key{ ===content===}

The ===content=== is defined as: [classifier+space+]Key{===content===}

Every key must unique in its list

Format treat multi or single relation the same

A list property can be set in 2 ways; classifier+space+key repeated with unique keys , or nameoflist{key1{} key2{} key3{}}

How does the format differ from json?

  • - json has "" on identifiers and some values
  • - json will make it problematic to have values that have special chars like "
  • - json handles arrays differently than properties with [ enclosures
  • - MDrivenText has special meaning ViewModel/Nesting classifier seperate from other properties
  • - json must handle mulltilinks as arrays - MDrivenText collects based in Nesting classifier to build lists

What are the use-cases?

Initially it will be used in MDrivenDesigner to provide textbased editing of classes, statemachines, viewmodels and actions. This in turn will be the initial format when experimenting with other ways (than MDrivenDesigner) to change the model

How will the format be implemented - is this a new transformation?

We will use TajSon functionality and route all logic through the TajSon Mechanisms

This page was edited 46 days ago on 03/26/2024. What links here