JeeWiz Home  
The Model-Driven System Builder

JeeWiz Architect's Guide
 
Contents  >   16.  'JeeWiz' Reference
 


16.10 MetaProperty Object

Used on
metaFactor
SuperclassmetaPropertyBase
DescriptionA property on a [meta-]meta-class.

The property is added to a meta-class (or meta-factor) via a nested '<property>' element; see the 'property' list in meta-factor
Contained
Lists
1
Name  choice
Type  metaChoice
Inherited from  metaPropertyBase
Inherited
properties
name from metaElementBase.name

description (base property)

template (base property)

text (base property)

jwpattern (base property)

advanced from metaElementBase.advanced

alias from metaPropertyBase.alias

required from metaPropertyBase.required

type from metaPropertyBase.type

pattern from metaPropertyBase.pattern

patternMessage from metaPropertyBase.patternMessage

delegate from metaPropertyBase.delegate

needsTextArea from metaPropertyBase.needsTextArea

hide from metaPropertyBase.hide

fixed from metaPropertyBase.fixed

generateSetterDespiteHide from metaPropertyBase.generateSetterDespiteHide

filterCode from metaPropertyBase.filterCode

default from metaPropertyBase.default

useInUml from metaPropertyBase.useInUml

exportInXmi from metaPropertyBase.exportInXmi

delayedDefaultExpression from metaPropertyBase.delayedDefaultExpression

 16.10.1  Property 'reimplement'
 16.10.2  Property 'supportElementInputs'
 16.10.3  Property 'elementRequired'

16.10.1  Property 'reimplement'
DescriptionBy default, if nothing has changed in the redefinition of a property except the description, the original property is not overridden - just the help text is changed (e.g. in the manual, or in an editor help). If you really want to have a new implementation, and this is realistic in some contexts - then set reimplement to 'true'.
Typeboolean
Defaultfalse

16.10.2  Property 'supportElementInputs'
DescriptionThe 'supportElementInputs' allows a String property to be input as a nested element, e.g.
<object>
   <property>value</property>
</object>
If 'supportElementInputs' is set, code for an 'adder' will be generated, which will construct a list of named elements. This would be in addition to the setter. The value returned if supportElementInputs is set is

  • the value set by the XML attribute, or, failing that,
  • the first item in the subelement list, or, failing that,
  • null.
If 'supportElementInputs' is not set (which is the default), no 'adder' code is generated - only the setter. Therefore, the property would have to be specified as an element attribute:
<object property="value"/>
Typeboolean
Defaultfalse

16.10.3  Property 'elementRequired'
Description'element-required' is used in conjunction with supportElementInputs. In this case, setting 'element-required' true means

'require there to be an element specified for this property'

This is subtly different from setting 'required', which requires a non-null value.

A property specified by "<property/>" will
  • fail validation if 'required' is set, because the value will be null
  • pass validation if 'element-required' is set, because the required element has been specified.
This distinction is important in handling XML structures defined by XML Schema.
Typeboolean
Defaultfalse
 


Copyright (c) 2001-2008 New Technology/enterprise Ltd.