Index: lutingenerator/src/java/org/codelutin/generator/models/ui/javaxml/UIModelChildImpl.java diff -u /dev/null lutingenerator/src/java/org/codelutin/generator/models/ui/javaxml/UIModelChildImpl.java:1.1 --- /dev/null Thu Aug 5 16:03:20 2004 +++ lutingenerator/src/java/org/codelutin/generator/models/ui/javaxml/UIModelChildImpl.java Thu Aug 5 16:03:15 2004 @@ -0,0 +1,108 @@ +/* *##% + * Copyright (C) 2002, 2003 Code Lutin + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + *##%*/ + +/* * + * UIModelChildImpl.java + * + * Created: Jun 4, 2004 + * + * @author Benjamin Poussin + * Copyright Code Lutin + * @version $Revision: 1.1 $ + * + * Mise a jour: $Date: 2004/08/05 16:03:15 $ + * par : $Author: mazelier $ + */ + +package org.codelutin.generator.models.ui.javaxml; + +import org.codelutin.generator.models.ui.UIModel; +import org.codelutin.generator.models.ui.UIModelObject; +import org.codelutin.generator.models.ui.UIModelChild; +import org.codelutin.generator.models.ui.UIModelConstraint; + +public class UIModelChildImpl extends UIModelStatementImpl +implements UIModelChild { // UIModelChildImpl + + protected UIModel model = null; + protected UIModelObject parent = null; + + protected UIModelObject object = null; + protected UIModelConstraintImpl constraint = null; + protected String methodName = null; + + public UIModelChildImpl(UIModel model, UIModelObject parent) { + this.model = model; + this.parent = parent; + } + + public void parsetMethod(String methodName){ + this.methodName = methodName; + } + + public UIModelObject parsetObject(UIModelObject object) { + if(object == null) { + return new UIModelObjectImpl(model, parent); + } + + this.object = object; + return object; + } + + public UIModelConstraintImpl parsetObject(UIModelConstraintImpl constraint) { + if (constraint == null) + return new UIModelConstraintImpl(model, parent); + + this.constraint = constraint; + return constraint; + } + + /** + * Returns a UIModelObject for this child. + * @see UIModelObject + * + * @return a UIModelObject for this child. + */ + public UIModelObject getObject() { + return object; + } + + /** + * Returns a UIModelConstraint for this child + * @see UIModelConstraint + * + * @return a UIModelConstraint for this child. + */ + public UIModelConstraint getConstraint() { + return constraint; + } + + public String getMethodName() { + return methodName; + } + + public boolean isChild(){ + return true; + } + + public boolean isProperty(){ + return false; + } + +} // UIModelChildImpl + Index: lutingenerator/src/java/org/codelutin/generator/models/ui/javaxml/UIModelConstraintImpl.java diff -u /dev/null lutingenerator/src/java/org/codelutin/generator/models/ui/javaxml/UIModelConstraintImpl.java:1.1 --- /dev/null Thu Aug 5 16:03:20 2004 +++ lutingenerator/src/java/org/codelutin/generator/models/ui/javaxml/UIModelConstraintImpl.java Thu Aug 5 16:03:15 2004 @@ -0,0 +1,87 @@ +/* *##% + * Copyright (C) 2002, 2003 Code Lutin + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + *##%*/ + +/******************************************************************************* + * UIModelConstraintImpl.java + * + * Created: Jun 4, 2004 + * + * @author Benjamin Poussin Copyright Code Lutin + * + * @version $Revision: 1.1 $ + * + * Mise a jour: $Date: 2004/08/05 16:03:15 $ par : $Author: mazelier $ + */ + +package org.codelutin.generator.models.ui.javaxml; + +import org.codelutin.generator.models.ui.UIModel; +import org.codelutin.generator.models.ui.UIModelObject; +import org.codelutin.generator.models.ui.UIModelConstraint; + +public class UIModelConstraintImpl implements UIModelConstraint { // UIModelConstraintImpl + + protected UIModel model = null; + protected UIModelObject parent = null; + + // valeur de la constraint de type UIModelObject ou String (cas du + // borderLayout) + protected Object value = null; + + public UIModelConstraintImpl(UIModel model, UIModelObject parent) { + this.model = model; + this.parent = parent; + } + + public UIModelObjectImpl parsetObject(UIModelObjectImpl value) { + if (value == null) { + return new UIModelObjectImpl(model, parent); + } + + this.value = value; + return value; + } + + public void parsetString(String value) { + this.value = value; + } + + /** + * Returns the value of this constraint. the value returned can be an + * instance of UIModelObject or String or null + * + * @return the value of this constraint. + */ + public Object getValue() { + return value; + } + + /** + * Returns the value of this constraint if the type is String else return + * null + * + * @return the value of this constraint. + */ + public String getStringValue() { + if (value instanceof String) + return (String) value; + return null; + } + +} // UIModelConstraintImpl + Index: lutingenerator/src/java/org/codelutin/generator/models/ui/javaxml/UIModelEventImpl.java diff -u /dev/null lutingenerator/src/java/org/codelutin/generator/models/ui/javaxml/UIModelEventImpl.java:1.1 --- /dev/null Thu Aug 5 16:03:20 2004 +++ lutingenerator/src/java/org/codelutin/generator/models/ui/javaxml/UIModelEventImpl.java Thu Aug 5 16:03:15 2004 @@ -0,0 +1,111 @@ +/* *##% + * Copyright (C) 2002, 2003 Code Lutin + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + *##%*/ + +/* * + * UIModelEventImpl.java + * + * Created: Jun 4, 2004 + * + * @author Benjamin Poussin + * Copyright Code Lutin + * @version $Revision: 1.1 $ + * + * Mise a jour: $Date: 2004/08/05 16:03:15 $ + * par : $Author: mazelier $ + */ + +package org.codelutin.generator.models.ui.javaxml; + +import org.codelutin.generator.models.ui.UIModel; +import org.codelutin.generator.models.ui.UIModelEvent; + +public class UIModelEventImpl implements UIModelEvent { // UIModelEventImpl + + protected UIModel model = null; + + protected String addMethod = null; + protected String source = null; + protected String action = null; + protected String handler = null; + protected String argument = null; + + public UIModelEventImpl(UIModel model) { + this.model = model; + } + + public void parsetAddmethod(String addMethod) { + this.addMethod = addMethod; + } + + public void parsetSource(String source) { + this.source = source; + } + + public void parsetAction(String action) { + this.action = action; + } + + public void parsetHandler(String handler) { + this.handler = handler; + } + + public void parsetArgument(String argument) { + this.argument = argument; + } + + /** + * Return the method which will have the EventHandler in parameter + * @return String + */ + public String getAddMethod() { + return addMethod; + } + + /** + * Return the listener interface to create a proxy for + * @return String + */ + public String getSource() { + return source; + } + + /** + * Return the name of the method in the listener interface that should trigger the action + * @return String + */ + public String getAction() { + return action; + } + + /** + * Return the name of a writable method on the target + * @return String + */ + public String getHandler() { + return handler; + } + + /** + * Return the name of a readable property of the incoming event + * @return String + */ + public String getArgument() { + return argument; + } +} // UIModelEventImpl + Index: lutingenerator/src/java/org/codelutin/generator/models/ui/javaxml/UIModelImpl.java diff -u /dev/null lutingenerator/src/java/org/codelutin/generator/models/ui/javaxml/UIModelImpl.java:1.1 --- /dev/null Thu Aug 5 16:03:21 2004 +++ lutingenerator/src/java/org/codelutin/generator/models/ui/javaxml/UIModelImpl.java Thu Aug 5 16:03:15 2004 @@ -0,0 +1,122 @@ +/* *##% + * Copyright (C) 2002, 2003 Code Lutin + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + *##%*/ + +/* * + * UIModelImpl.java + * + * Created: Jun 4, 2004 + * + * @author Benjamin Poussin + * Copyright Code Lutin + * @version $Revision: 1.1 $ + * + * Mise a jour: $Date: 2004/08/05 16:03:15 $ + * par : $Author: mazelier $ + */ + +package org.codelutin.generator.models.ui.javaxml; + +import java.util.HashMap; +import java.util.Collection; +import org.codelutin.generator.models.ui.UIModel; +import org.codelutin.generator.models.ui.UIModelObject; + +public class UIModelImpl implements UIModel { // UIModelImpl + + protected String version = null; + protected String packageUIModel = null; + protected UIModelObjectImpl root = null; + + /** Contient tous les objets du model. + * key: nom de l'objet; value: l'objet + */ + protected HashMap objects = new HashMap(); + + public UIModelImpl() { + } + + public void parsetVersion(String version) { + this.version = version; + } + + public UIModelObjectImpl parsetObject(UIModelObjectImpl object) { + if (object == null) { + return new UIModelObjectImpl(this, null); + } + root = object; + addObject(root); + return object; + } + + /** + * Method used to add objects in this model + * @see UIModelObject + * + */ + public void addObject(UIModelObject object) { + if(object.getName() != null){ + objects.put(object.getName(), object); + } + } + + /** + * Returns the version of this model. + * + * @return the version of this model. + */ + public String getVersion() { + return version; + } + + /** + * Returns the package of this model. + * + * @return the package of this model. + */ + public String getPackage() { + return packageUIModel; + } + + /** + * Return the object root defined in this ui model. + * @see UIModelObject + * + * @return the object root defined in this ui model. + */ + public UIModelObject getRoot(){ + return root; + } + + + /** + * Returns all objects defined in this ui model. + * @see UIModelObject + * + * @return a Collection containing all UIModelObjects for this ui model. + */ + public Collection getObjects() { + return objects.values(); + } + + public UIModelObject getObject(String name) { + return (UIModelObject)objects.get(name); + } + + +} // UIModelImpl + Index: lutingenerator/src/java/org/codelutin/generator/models/ui/javaxml/UIModelObjectImpl.java diff -u /dev/null lutingenerator/src/java/org/codelutin/generator/models/ui/javaxml/UIModelObjectImpl.java:1.1 --- /dev/null Thu Aug 5 16:03:21 2004 +++ lutingenerator/src/java/org/codelutin/generator/models/ui/javaxml/UIModelObjectImpl.java Thu Aug 5 16:03:15 2004 @@ -0,0 +1,293 @@ +/* *##% + * Copyright (C) 2002, 2003 Code Lutin + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + *##%*/ + +/******************************************************************************* + * UIModelObjectImpl.java + * + * Created: Jun 4, 2004 + * + * @author Benjamin Poussin Copyright Code Lutin + * + * @version $Revision: 1.1 $ + * + * Mise a jour: $Date: 2004/08/05 16:03:15 $ par : $Author: mazelier $ + */ + +package org.codelutin.generator.models.ui.javaxml; + +import java.util.ArrayList; +import java.util.Collection; + +import org.codelutin.generator.models.ui.UIModel; +import org.codelutin.generator.models.ui.UIModelConstraint; +import org.codelutin.generator.models.ui.UIModelEvent; +import org.codelutin.generator.models.ui.UIModelObject; +import org.codelutin.generator.models.ui.UIModelProperty; + +public class UIModelObjectImpl implements UIModelObject { // UIModelObjectImpl + + protected UIModel model = null; + + protected UIModelObject parent = null; + + protected UIModelConstraint constraint = null; + + protected String type = null; + + protected String name = null; + + protected ArrayList arguments = new ArrayList(); + + protected ArrayList properties = new ArrayList(); + + protected ArrayList events = new ArrayList(); + + /** Collection de UIModelObject */ + protected ArrayList children = new ArrayList(); + + public UIModelObjectImpl(UIModel model, UIModelObject parent) { + this.model = model; + this.parent = parent; + } + + public void parsetClass(String type) { + this.type = type; + } + + public UIModelStatementImpl parsetVoid(UIModelStatementImpl statement) { + + if (statement.isProperty()){ + UIModelPropertyImpl property = + (UIModelPropertyImpl)statement; + properties.add(property); + + if (property.getName().equals("name")) { + name = property.getStringValue(); + } + + }else if(statement.isChild()){ + UIModelChildImpl child = (UIModelChildImpl)statement; + if (child.getMethodName().equals("addLayoutComponent")){ + UIModelObjectImpl childObject = (UIModelObjectImpl) + child.getObject(); + UIModelConstraintImpl childConstraint = (UIModelConstraintImpl) + child.getConstraint(); + + childObject.setConstraint(childConstraint); + getUIModel().addObject(childObject); + + children.add(childObject); + } + } + + return statement; + } + + public UIModelEventImpl parsetEvent(UIModelEventImpl event) { + if (event == null) { + return new UIModelEventImpl(model); + } + + events.add(event); + return event; + } + + public UIModelObject parsetObject(UIModelObject value) { + if(value == null) { + return new UIModelObjectImpl(model, parent); + } + + arguments.add(value); + return value; + } + + public void parsetNull(){ + arguments.add(null); + } + + public void parsetInt(Integer value) { + arguments.add(value); + } + + public void parsetBoolean(Boolean value) { + arguments.add(value); + } + + public void parsetChar(Character value) { + arguments.add(value); + } + + public void parsetString(String value) { + arguments.add(value); + } + + public void parsetLong(Long value) { + arguments.add(value); + } + + public void parsetFloat(Float value) { + arguments.add(value); + } + + public void parsetByte(Byte value) { + arguments.add(value); + } + + public void parsetShort(Short value) { + arguments.add(value); + } + + public void parsetDouble(Double value) { + arguments.add(value); + } + + /** + * Returns the uimodel of this object. + * + * @return the uimodel of this object. + */ + public UIModel getUIModel() { + return model; + } + + public void setConstraint(UIModelConstraintImpl constraint) { + this.constraint = constraint; + } + + /** + * Returns the parent of this object. Returns null if this object is root + * + * @return the parent of this object. + */ + public UIModelObject getParent() { + return parent; + } + + /** + * Returns the type of this object. + * + * @return the type of this object. + */ + public String getType() { + return type; + } + + /** + * Returns the value of the property "name" of this object + * + * @return the name of this object. + */ + public String getName() { + return name; + } + + /** + * Returns the constraint of this object + * + * @see UIModelConstraint + * + * @return the constraint of this object. + */ + public UIModelConstraint getConstraint() { + return constraint; + } + + /** + * Returns a arguments list. + * This list can contain UIModelObject or a primitive type + * + * @return a arguments list. + */ + public Collection getArguments(){ + return arguments; + } + + /** + * Returns all properties defined on this object. + * + * @see UIModelProperty + * + * @return a Collection containing all UIModelProperties for this object. + */ + public Collection getProperties() { + return properties; + } + + /** + * Returns the property defined on this object. + * + * @see UIModelProperty + * @param String + * the name of the property which must be returned + * @return a UIModelProperty for this object with the . + */ + public UIModelProperty getProperty(String name) { + + UIModelProperty property = null; + int position = 0; + + while (position < properties.size()) { + + property = (UIModelProperty) properties.get(position); + + if (property.getName().equals(name)) { + break; + } + position++; + } + + if (position >= properties.size()) { + throw new IllegalStateException("Propriete " + name + + " inexistante pour l'objet " + this.name); + } + return property; + } + + /** + * Returns all events defined on this object. + * + * @see UIModelEvent + * + * @return a Collection containing all UIModelEvents for this object. + */ + public Collection getEvents() { + return events; + } + + /** + * Returns all children defined on this object. + * + * @return a Collection containing all UIModelObject for this object. + */ + public Collection getChildren() { + return children; + } + + /** + * Returns the uimodel of this object. + * + * @see UIModel + * + * @return the uimodel of this object. + */ + public UIModel getModel() { + return model; + } + +} // UIModelObjectImpl + Index: lutingenerator/src/java/org/codelutin/generator/models/ui/javaxml/UIModelPropertyImpl.java diff -u /dev/null lutingenerator/src/java/org/codelutin/generator/models/ui/javaxml/UIModelPropertyImpl.java:1.1 --- /dev/null Thu Aug 5 16:03:21 2004 +++ lutingenerator/src/java/org/codelutin/generator/models/ui/javaxml/UIModelPropertyImpl.java Thu Aug 5 16:03:15 2004 @@ -0,0 +1,184 @@ +/* *##% + * Copyright (C) 2002, 2003 Code Lutin + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + *##%*/ + +/* * + * UIModelPropertyImpl.java + * + * Created: Jun 4, 2004 + * + * @author Benjamin Poussin + * Copyright Code Lutin + * @version $Revision: 1.1 $ + * + * Mise a jour: $Date: 2004/08/05 16:03:15 $ + * par : $Author: mazelier $ + */ + +package org.codelutin.generator.models.ui.javaxml; + +import org.codelutin.generator.models.ui.UIModel; +import org.codelutin.generator.models.ui.UIModelObject; +import org.codelutin.generator.models.ui.UIModelProperty; +import java.util.ArrayList; + +public class UIModelPropertyImpl extends UIModelStatementImpl +implements UIModelProperty { // UIModelPropertyImpl + + protected UIModel model = null; + protected UIModelObject parent = null; + + protected String name = null; + protected UIModelObjectImpl object = null; + + + public UIModelPropertyImpl(UIModel model, UIModelObject parent) { + this.model = model; + this.parent = parent; + } + + public void parsetProperty(String name) { + this.name = name; + } + + public UIModelObjectImpl parsetVoid(UIModelObjectImpl object) { + if (object == null) { + return new UIModelObjectImpl(model, parent); + } + + this.object = object; + return object; + } + + /** + * Returns the name of this property. + * + * @return the name of this property. + */ + public String getName() { + return name; + } + + /** + * Returns the value of this property. + * the value returned can be an instance of UIModelObject + * or String or Integer or Boolean or Character + * @return the value of this property. + */ + public Object getValue() { + int i = (object.getArguments().size())-1; + return ((ArrayList)object.getArguments()).get(i); + } + + /** + * Returns the index of this property if it's indexed property + * + * @return the index of this property. + */ + public int getIndex() throws Exception{ + if (isIndexed()) { + return ((Integer)((ArrayList)object.getArguments()).get(0)).intValue(); + } + throw new Exception("Impossible d'obtenir l'index d'une propriete non indexee"); + } + + public boolean isIndexed() { + return object.getArguments().size() >= 2; + } + + /** + * Returns the value of this property if the type is int + * @return the value of this property. + */ + public int getIntValue() { + return ((Integer)getValue()).intValue(); + } + + /** + * Returns the value of this property if the type is boolean + * @return the value of this property. + */ + public boolean getBooleanValue() { + return ((Boolean)getValue()).booleanValue(); + } + + /** + * Returns the value of this property if the type is char + * @return the value of this property. + */ + public char getCharValue() { + return ((Character)getValue()).charValue(); + } + + /** + * Returns the value of this property if the type is String + * @return the value of this property. + */ + public String getStringValue() { + return getValue().toString(); + } + + /** + * Returns the value of this property if the type is byte + * @return the value of this property. + */ + public byte getByteValue() { + return ((Byte)getValue()).byteValue(); + } + + /** + * Returns the value of this property if the type is long + * @return the value of this property. + */ + public long getLongValue() { + return ((Long)getValue()).longValue(); + } + + /** + * Returns the value of this property if the type is short + * @return the value of this property. + */ + public short getShortValue() { + return ((Short)getValue()).shortValue(); + } + + /** + * Returns the value of this property if the type is float + * @return the value of this property. + */ + public float getFloatValue() { + return ((Float)getValue()).floatValue(); + } + + /** + * Returns the value of this property if the type is double + * @return the value of this property. + */ + public double getDoubleValue() { + return ((Double)getValue()).doubleValue(); + } + + public boolean isChild(){ + return false; + } + + public boolean isProperty(){ + return true; + } + +} // UIModelPropertyImpl + Index: lutingenerator/src/java/org/codelutin/generator/models/ui/javaxml/UIModelStatementImpl.java diff -u /dev/null lutingenerator/src/java/org/codelutin/generator/models/ui/javaxml/UIModelStatementImpl.java:1.1 --- /dev/null Thu Aug 5 16:03:21 2004 +++ lutingenerator/src/java/org/codelutin/generator/models/ui/javaxml/UIModelStatementImpl.java Thu Aug 5 16:03:15 2004 @@ -0,0 +1,40 @@ +/* *##% + * Copyright (C) 2002, 2003 Code Lutin + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + *##%*/ + +/* * + * UIModelStatementImpl.java + * + * Created: Aug 5, 2004 + * + * @author Benjamin Poussin + * Copyright Code Lutin + * @version $Revision: 1.1 $ + * + * Mise a jour: $Date: 2004/08/05 16:03:15 $ + * par : $Author: mazelier $ + */ + +package org.codelutin.generator.models.ui.javaxml; + +public abstract class UIModelStatementImpl { // UIModelStatementImpl + + abstract public boolean isChild(); + abstract public boolean isProperty(); + +} // UIModelStatementImpl +