All Downloads are FREE. Search and download functionalities are using the official Maven repository.

models.dsl.InclusiveProperties.rapid Maven / Gradle / Ivy

There is a newer version: 1.4.2
Show newest version

/* 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




© 2015 - 2024 Weber Informatics LLC | Privacy Policy