models.dsl.InclusiveProperties.rapid Maven / Gradle / Ivy
/* Test model to exercise syntax for property lists. ZEN-1124 introduces inclusive property
lists with an optional exclusion list. It also updates the syntax for the current
exclusive property list.
*/
rapidModel ZEN_1124_InclusivePropertyList
resourceAPI ZEN_1124_InclusivePropertyListInterface baseURI "http://my-namespace.com"
objectResource PersonObject type Person
// Exclusive property lists ====================================================
/* Basic objectResource with no property list. All TaxFiling properties
should be included.
*/
objectResource NoPropertyList type TaxFiling
/* Old syntax for exclusive property list.
Only specified properties should be included.
*/
objectResource ExclusivePropertyListOldSyntax type TaxFiling
only properties
filingID, jurisdiction, year, taxpayer
/* New syntax in concise form for exclusive property list.
Only specified properties should be included.
*/
objectResource ExclusivePropertyListConciseSyntax type TaxFiling
properties
filingID, jurisdiction, year, taxpayer
/* New syntax in fluent form for exclusive property list.
Only specified properties should be included.
*/
objectResource ExclusivePropertyListFluentSyntax type TaxFiling
with only properties
filingID, jurisdiction, year, taxpayer
/* Line-separated syntax for exclusive property list.
Only specified properties should be included.
*/
objectResource ExclusivePropertyListLineSeparated type TaxFiling
properties
filingID
jurisdiction
year
taxpayer
/* New syntax with cardinality overrides.
Only specified properties should be included, cardinality as overridden
*/
objectResource ExclusivePropertyListCardOverride type Person
properties
taxpayerID
firstName
lastName
otherNames?
// Inclusive property lists
/* Inclusive property list in concise form.
All properties should be included.
*/
objectResource InclusivePropertyListConciseSyntax type TaxFiling
all properties
filingID, jurisdiction, year, taxpayer
/* Inclusive property list in fluent form.
All properties should be included.
*/
objectResource InclusivePropertyListFluentSyntax type TaxFiling
with all properties including
filingID, jurisdiction, year, taxpayer
/* Inclusive property list in line-separated format.
All properties should be included.
*/
objectResource InclusivePropertyListLineSeparated type TaxFiling
all properties
filingID
jurisdiction
year
taxpayer
/* Inclusive property list with a cardinality.
All properties should be included, cardinality as overridden
*/
objectResource InclusivePropertyListCardOverride type Person
all properties
otherNames?
/* Inclusive property list with reference treatment.
All properties should be included, taxpayer should be embedded
*/
objectResource InclusivePropertyListReferenceTreatment type TaxFiling
all properties
filingID
year
referenceEmbed >taxpayer
// Inclusive property list with exclusions
/* Inclusive property list with exclusions in concise form.
All non-excluded properties should be included.
*/
objectResource ListWithExclusionsConciseSyntax type TaxFiling
all properties
excluding
taxpayer, period, taxDue, currency
/* Inclusive property list with exclusions in fluent form.
All non-excluded properties should be included.
*/
objectResource ListWithExclusionsFluentSyntax type TaxFiling
with all properties
excluding
taxpayer, period, taxDue, currency
/* Inclusive property list with exclusions in line-separated format.
All non-excluded properties should be included.
*/
objectResource ListWithExclusionsLineSeparated type TaxFiling
with all properties
excluding
taxpayer
period
taxDue
currency
/* Inclusive property list with exclusions with a cardinality override.
All properties should be included, cardinality as overridden
*/
objectResource ListWithExclusionsCardOverride type Person
all properties
otherNames?
// excluding
// dob
/* Inclusive property list with exclusions with reference treatment.
All properties should be included, taxpayer should be embedded
*/
objectResource ListWithExclusionsReferenceTreatment type TaxFiling
with all properties
excluding
period
taxDue
currency
referenceEmbed >taxpayer
targetProperties
taxpayerID
firstName
lastName
// Data Model
dataModel TaxBlasterDataModel
structure TaxFiling
filingID : string
jurisdiction : string
year : gYear
period : int
taxDue : decimal
currency : string
taxpayer : reference to Person
structure Person
taxpayerID : string
firstName : string
lastName : string
otherNames : string*
dob : date