You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flex.apache.org by ah...@apache.org on 2015/04/09 01:05:33 UTC

[14/47] git commit: [flex-asjs] [refs/heads/develop] - add @this annotations

add @this annotations


Project: http://git-wip-us.apache.org/repos/asf/flex-asjs/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-asjs/commit/7bb9e9a5
Tree: http://git-wip-us.apache.org/repos/asf/flex-asjs/tree/7bb9e9a5
Diff: http://git-wip-us.apache.org/repos/asf/flex-asjs/diff/7bb9e9a5

Branch: refs/heads/develop
Commit: 7bb9e9a54d0c878973db26842b7ee2aac8b65935
Parents: 19f8cb2
Author: Alex Harui <ah...@apache.org>
Authored: Mon Mar 16 23:52:56 2015 -0700
Committer: Alex Harui <ah...@apache.org>
Committed: Mon Mar 16 23:52:56 2015 -0700

----------------------------------------------------------------------
 .../js/FlexJS/src/org/apache/cordova/Weinre.js  |  48 ++---
 .../org/apache/flex/binding/GenericBinding.js   |  28 +--
 .../src/org/apache/flex/core/Application.js     |  22 +-
 .../src/org/apache/flex/core/BeadViewBase.js    |  34 ++-
 .../src/org/apache/flex/core/CallLaterBead.js   |  20 +-
 .../org/apache/flex/core/HTMLElementWrapper.js  |  15 +-
 .../js/FlexJS/src/org/apache/flex/core/IBead.js |  14 +-
 .../flex/core/ItemRendererClassFactory.js       |   2 +-
 .../FlexJS/src/org/apache/flex/core/ListBase.js |  90 +++-----
 .../org/apache/flex/core/SimpleCSSValuesImpl.js |   2 +-
 .../org/apache/flex/core/SimpleStatesImpl.js    |  32 +--
 .../org/apache/flex/core/ViewBaseDataBinding.js |  24 +--
 .../src/org/apache/flex/createjs/CheckBox.js    |  62 ++----
 .../src/org/apache/flex/createjs/TextButton.js  |  30 ++-
 .../org/apache/flex/createjs/core/ViewBase.js   |  29 +--
 .../org/apache/flex/effects/PlatformWiper.js    |  70 +++----
 .../src/org/apache/flex/events/MouseEvent.js    |   4 +-
 .../js/FlexJS/src/org/apache/flex/html/Alert.js |  78 ++++---
 .../src/org/apache/flex/html/DropDownList.js    |  83 ++++----
 .../js/FlexJS/src/org/apache/flex/html/Image.js |  30 ++-
 .../js/FlexJS/src/org/apache/flex/html/List.js  | 116 ++++------
 .../src/org/apache/flex/html/NumericStepper.js  | 152 +++++---------
 .../src/org/apache/flex/html/SimpleList.js      | 115 +++++-----
 .../FlexJS/src/org/apache/flex/html/Slider.js   | 157 +++++---------
 .../FlexJS/src/org/apache/flex/html/Spinner.js  |  38 ++--
 .../FlexJS/src/org/apache/flex/html/TitleBar.js |  60 ++----
 .../flex/html/accessories/TextPromptBead.js     |  52 ++---
 .../org/apache/flex/html/beads/ButtonBarView.js |  21 +-
 .../org/apache/flex/html/beads/ContainerView.js |  34 ++-
 .../apache/flex/html/beads/ImageButtonView.js   |  17 +-
 .../src/org/apache/flex/html/beads/ImageView.js |  27 ++-
 .../src/org/apache/flex/html/beads/ListView.js  | 107 +++++-----
 .../src/org/apache/flex/html/beads/PanelView.js |  84 ++++----
 .../flex/html/beads/ScrollingContainerView.js   |  83 +++-----
 .../apache/flex/html/beads/SliderThumbView.js   |  50 ++---
 .../apache/flex/html/beads/SliderTrackView.js   |  50 ++---
 .../flex/html/beads/TextInputWithBorderView.js  |  16 +-
 .../flex/html/beads/layouts/ButtonBarLayout.js  |  73 +++----
 .../beads/layouts/NonVirtualHorizontalLayout.js |  52 +++--
 .../flex/html/beads/layouts/TileLayout.js       | 118 ++++-------
 .../html/beads/models/ArraySelectionModel.js    | 186 +++++++---------
 .../flex/html/beads/models/DataGridModel.js     |  49 ++---
 .../apache/flex/html/beads/models/ImageModel.js |  48 ++---
 .../html/beads/models/ListPresentationModel.js  |  48 ++---
 .../apache/flex/html/beads/models/PanelModel.js | 126 +++++------
 .../apache/flex/html/beads/models/RangeModel.js | 210 +++++++------------
 .../apache/flex/html/beads/models/TextModel.js  |  48 ++---
 .../flex/html/beads/models/TitleBarModel.js     | 126 +++++------
 .../flex/html/supportClasses/DataGridColumn.js  | 120 ++++-------
 .../html/supportClasses/UIItemRendererBase.js   | 184 +++++-----------
 .../src/org/apache/flex/html5/RadioButton.js    |  90 +++-----
 .../src/org/apache/flex/html5/TextButton.js     |  30 ++-
 .../src/org/apache/flex/jquery/RadioButton.js   |   3 +-
 .../src/org/apache/flex/jquery/TextButton.js    |  30 ++-
 .../org/apache/flex/jquery/ToggleTextButton.js  |   3 +-
 .../apache/flex/maps/google/beads/MapView.js    |  43 ++--
 .../apache/flex/maps/google/models/MapModel.js  | 136 ++++--------
 .../flex/net/dataConverters/LazyCollection.js   | 138 +++++-------
 .../src/org/apache/flex/svg/TextButton.js       |  30 ++-
 .../src/org/apache/flex/utils/MixinManager.js   |  44 ++--
 .../src/org/apache/flex/utils/PointUtils.js     |   4 +-
 .../flex/utils/ViewSourceContextMenuOption.js   |  12 +-
 62 files changed, 1522 insertions(+), 2325 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/7bb9e9a5/frameworks/js/FlexJS/src/org/apache/cordova/Weinre.js
----------------------------------------------------------------------
diff --git a/frameworks/js/FlexJS/src/org/apache/cordova/Weinre.js b/frameworks/js/FlexJS/src/org/apache/cordova/Weinre.js
index 5aed42d..afaab0a 100644
--- a/frameworks/js/FlexJS/src/org/apache/cordova/Weinre.js
+++ b/frameworks/js/FlexJS/src/org/apache/cordova/Weinre.js
@@ -32,33 +32,27 @@ org_apache_cordova_Weinre = function() {
 };
 
 
-/**
- * @expose
- * @param {Object} value The new host.
- */
-org_apache_cordova_Weinre.prototype.set_strand =
-function(value) {
-
-  this.strand_ = value;
-};
-
-
-/**
- * @expose
- * @param {string} value The new guid.
- */
-org_apache_cordova_Weinre.prototype.set_guid =
-function(value) {
-
-  var scriptNode = document.createElement('SCRIPT');
-  scriptNode.type = 'text/javascript';
-  scriptNode.src = 'http://debug.phonegap.com/target/target-script-min.js#' + value;
-
-  var headNode = document.getElementsByTagName('HEAD');
-  if (headNode[0] != null)
-    headNode[0].appendChild(scriptNode);
-
-};
+Object.defineProperties(org_apache_cordova_Weinre.prototype, {
+    'strand': {
+ 		/** @this {org_apache_cordova_Weinre} */
+        set: function(value) {
+            this.strand_ = value;
+        }
+    },
+    'guid': {
+ 		/** @this {org_apache_cordova_Weinre} */
+        set: function(value) {
+
+            var scriptNode = document.createElement('SCRIPT');
+            scriptNode.type = 'text/javascript';
+            scriptNode.src = 'http://debug.phonegap.com/target/target-script-min.js#' + value;
+
+            var headNode = document.getElementsByTagName('HEAD');
+            if (headNode[0] != null)
+              headNode[0].appendChild(scriptNode);
+		}
+	}
+});
 
 
 /**

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/7bb9e9a5/frameworks/js/FlexJS/src/org/apache/flex/binding/GenericBinding.js
----------------------------------------------------------------------
diff --git a/frameworks/js/FlexJS/src/org/apache/flex/binding/GenericBinding.js b/frameworks/js/FlexJS/src/org/apache/flex/binding/GenericBinding.js
index f162f9b..357aee0 100644
--- a/frameworks/js/FlexJS/src/org/apache/flex/binding/GenericBinding.js
+++ b/frameworks/js/FlexJS/src/org/apache/flex/binding/GenericBinding.js
@@ -54,20 +54,20 @@ org_apache_flex_binding_GenericBinding.prototype.destinationData = null;
 org_apache_flex_binding_GenericBinding.prototype.destinationFunction = null;
 
 
-/**
- * @expose
- * @param {Object} value The strand (owner) of the bead.
- */
-org_apache_flex_binding_GenericBinding.prototype.set_strand =
-    function(value) {
-  this.destination = value;
-
-  try {
-    var val = this.getValueFromSource();
-    this.applyValue(val);
-  } catch (e) {
-  }
-};
+Object.defineProperties(org_apache_flex_binding_GenericBinding.prototype, {
+    'strand': {
+        /** @this {org_apache_flex_binding_GenericBinding} */
+        set: function(value) {
+            this.destination = value;
+
+            try {
+              var val = this.getValueFromSource();
+              this.applyValue(val);
+            } catch (e) {
+            }
+		}
+	}
+});
 
 
 /**

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/7bb9e9a5/frameworks/js/FlexJS/src/org/apache/flex/core/Application.js
----------------------------------------------------------------------
diff --git a/frameworks/js/FlexJS/src/org/apache/flex/core/Application.js b/frameworks/js/FlexJS/src/org/apache/flex/core/Application.js
index 89dc4cd..fdf34d4 100644
--- a/frameworks/js/FlexJS/src/org/apache/flex/core/Application.js
+++ b/frameworks/js/FlexJS/src/org/apache/flex/core/Application.js
@@ -65,17 +65,17 @@ org_apache_flex_core_Application.prototype.initialView = null;
 org_apache_flex_core_Application.prototype.model = null;
 
 
-/**
- * @expose
- * @param {org_apache_flex_core_IValuesImpl} value The IValuesImpl.
- */
-org_apache_flex_core_Application.prototype.set_valuesImpl =
-    function(value) {
-  org_apache_flex_core_ValuesManager.valuesImpl = value;
-  if (value.init) {
-    value.init(this);
-  }
-};
+Object.defineProperties(org_apache_flex_core_Application.prototype, {
+    'valuesImpl': {
+        /** @this {org_apache_flex_core_Application} */
+        set: function() {
+            org_apache_flex_core_ValuesManager.valuesImpl = value;
+            if (value.init) {
+              value.init(this);
+            }
+		}
+	}
+});
 
 
 /**

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/7bb9e9a5/frameworks/js/FlexJS/src/org/apache/flex/core/BeadViewBase.js
----------------------------------------------------------------------
diff --git a/frameworks/js/FlexJS/src/org/apache/flex/core/BeadViewBase.js b/frameworks/js/FlexJS/src/org/apache/flex/core/BeadViewBase.js
index cf11f90..f4cbabe 100644
--- a/frameworks/js/FlexJS/src/org/apache/flex/core/BeadViewBase.js
+++ b/frameworks/js/FlexJS/src/org/apache/flex/core/BeadViewBase.js
@@ -50,23 +50,21 @@ org_apache_flex_core_BeadViewBase.prototype.FLEXJS_CLASS_INFO =
 org_apache_flex_core_BeadViewBase.prototype._strand = null;
 
 
-/**
- * @expose
- * @param {Object} value The new strand.
- */
-org_apache_flex_core_BeadViewBase.prototype.set_strand =
-function(value) {
-  if (this._strand !== value) {
-    this._strand = value;
-  }
-};
+Object.defineProperties(org_apache_flex_core_BeadViewBase.prototype, {
+    'strand': {
+        /** @this {org_apache_flex_core_BeadViewBase} */
+        set: function(value) {
+            if (this._strand !== value) {
+              this._strand = value;
+            }
+		}
+	},
+	'host': {
+        /** @this {org_apache_flex_core_BeadViewBase} */
+		get: function() {
+            return this._strand;
+		}
+	}
+});
 
 
-/**
- * @expose
- * @return {Object} value The strand.
- */
-org_apache_flex_core_BeadViewBase.prototype.get_host =
-function() {
-  return this._strand;
-};

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/7bb9e9a5/frameworks/js/FlexJS/src/org/apache/flex/core/CallLaterBead.js
----------------------------------------------------------------------
diff --git a/frameworks/js/FlexJS/src/org/apache/flex/core/CallLaterBead.js b/frameworks/js/FlexJS/src/org/apache/flex/core/CallLaterBead.js
index 27a2c7b..fecfba4 100644
--- a/frameworks/js/FlexJS/src/org/apache/flex/core/CallLaterBead.js
+++ b/frameworks/js/FlexJS/src/org/apache/flex/core/CallLaterBead.js
@@ -46,16 +46,16 @@ org_apache_flex_core_CallLaterBead.prototype.FLEXJS_CLASS_INFO =
                 qName: 'org_apache_flex_core_CallLaterBead'}] };
 
 
-/**
- * @expose
- * @param {Object} value The new host.
- */
-org_apache_flex_core_CallLaterBead.prototype.set_strand =
-    function(value) {
-  if (this.strand_ !== value) {
-    this.strand_ = value;
-  }
-};
+Object.defineProperties(org_apache_flex_binding_GenericBinding.prototype, {
+    'strand': {
+        /** @this {org_apache_flex_binding_GenericBinding} */
+        set: function(value) {
+            if (this.strand_ !== value) {
+              this.strand_ = value;
+            }
+		}
+	}
+});
 
 
 /**

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/7bb9e9a5/frameworks/js/FlexJS/src/org/apache/flex/core/HTMLElementWrapper.js
----------------------------------------------------------------------
diff --git a/frameworks/js/FlexJS/src/org/apache/flex/core/HTMLElementWrapper.js b/frameworks/js/FlexJS/src/org/apache/flex/core/HTMLElementWrapper.js
index 0171ef3..f33d7c3 100644
--- a/frameworks/js/FlexJS/src/org/apache/flex/core/HTMLElementWrapper.js
+++ b/frameworks/js/FlexJS/src/org/apache/flex/core/HTMLElementWrapper.js
@@ -98,14 +98,13 @@ org_apache_flex_core_HTMLElementWrapper.prototype.getBeadByType =
 };
 
 
-/**
- * @expose
- * @return {Array} The array of descriptors.
- */
-org_apache_flex_core_HTMLElementWrapper.prototype.get_MXMLDescriptor =
-    function() {
-  return null;
-};
+Object.defineProperties(org_apache_flex_core_HTMLElementWrapper.prototype, {
+    'MXMLDescriptor': {
+        get: function() {
+            return null;
+		}
+	}
+});
 
 
 /**

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/7bb9e9a5/frameworks/js/FlexJS/src/org/apache/flex/core/IBead.js
----------------------------------------------------------------------
diff --git a/frameworks/js/FlexJS/src/org/apache/flex/core/IBead.js b/frameworks/js/FlexJS/src/org/apache/flex/core/IBead.js
index f599591..3bba849 100644
--- a/frameworks/js/FlexJS/src/org/apache/flex/core/IBead.js
+++ b/frameworks/js/FlexJS/src/org/apache/flex/core/IBead.js
@@ -40,11 +40,9 @@ org_apache_flex_core_IBead.prototype.FLEXJS_CLASS_INFO =
                 qName: 'org_apache_flex_core_IBead' }] };
 
 
-/**
- * strand
- *
- * @expose
- * @param {org_apache_flex_core_IStrand} value The new host.
- */
-org_apache_flex_core_IBead.prototype.set_strand =
-    function(value) {};
+Object.defineProperties(org_apache_flex_core_IBead.prototype, {
+    'strand': {
+        /** @this {org_apache_flex_binding_GenericBinding} */
+        set: function(value) {}
+	}
+});
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/7bb9e9a5/frameworks/js/FlexJS/src/org/apache/flex/core/ItemRendererClassFactory.js
----------------------------------------------------------------------
diff --git a/frameworks/js/FlexJS/src/org/apache/flex/core/ItemRendererClassFactory.js b/frameworks/js/FlexJS/src/org/apache/flex/core/ItemRendererClassFactory.js
index 4170827..32a6069 100644
--- a/frameworks/js/FlexJS/src/org/apache/flex/core/ItemRendererClassFactory.js
+++ b/frameworks/js/FlexJS/src/org/apache/flex/core/ItemRendererClassFactory.js
@@ -52,7 +52,7 @@ Object.defineProperties(org_apache_flex_core_ItemRendererClassFactory.prototype,
 
             // see if the _strand has an itemRenderer property that isn't empty. if that's
             // true, use that value instead of pulling it from the the style
-            if (this.strand_.get_itemRenderer) {
+            if (this.strand_.hasOwnProperty('itemRenderer')) {
               this.itemRendererClassFactory = this.strand_.itemRenderer;
               if (this.itemRendererClassFactory) {
                 this.createFunction = this.createFromClass;

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/7bb9e9a5/frameworks/js/FlexJS/src/org/apache/flex/core/ListBase.js
----------------------------------------------------------------------
diff --git a/frameworks/js/FlexJS/src/org/apache/flex/core/ListBase.js b/frameworks/js/FlexJS/src/org/apache/flex/core/ListBase.js
index e5af761..d04df78 100644
--- a/frameworks/js/FlexJS/src/org/apache/flex/core/ListBase.js
+++ b/frameworks/js/FlexJS/src/org/apache/flex/core/ListBase.js
@@ -71,64 +71,38 @@ org_apache_flex_core_ListBase.prototype.createElement = function() {
 };
 
 
-/**
- * @expose
- * @return {Array.<Object>} The collection of data.
- */
-org_apache_flex_core_ListBase.prototype.get_dataProvider =
-    function() {
-  return this.model.dataProvider;
-};
-
-
-/**
- * @expose
- * @param {Array.<Object>} value The text setter.
- */
-org_apache_flex_core_ListBase.prototype.set_dataProvider =
-    function(value) {
-  this.model.dataProvider = value;
-};
-
-
-/**
- * @expose
- * @return {number} The selected index.
- */
-org_apache_flex_core_ListBase.prototype.get_selectedIndex =
-    function() {
-  return this.model.selectedIndex;
-};
-
-
-/**
- * @expose
- * @param {number} value The selected index.
- */
-org_apache_flex_core_ListBase.prototype.set_selectedIndex =
-    function(value) {
-  this.model.selectedIndex = value;
-};
-
-
-/**
- * @expose
- * @return {Object} The selected item.
- */
-org_apache_flex_core_ListBase.prototype.get_selectedItem =
-    function() {
-  return this.model.selectedItem;
-};
-
-
-/**
- * @expose
- * @param {Object} value The selected item.
- */
-org_apache_flex_core_ListBase.prototype.set_selectedItem =
-    function(value) {
-  this.model.selectedItem = value;
-};
+Object.defineProperties(org_apache_flex_core_ListBase.prototype, {
+    'dataProvider': {
+        /** @this {org_apache_flex_core_ListBase} */
+        get: function() {
+            return this.model.dataProvider;
+        },
+        /** @this {org_apache_flex_core_ListBase} */
+		set: function(value) {
+            this.model.dataProvider = value;
+		}
+	},
+    'selectedIndex': {
+        /** @this {org_apache_flex_core_ListBase} */
+        get: function() {
+            return this.model.selectedIndex;
+		},
+        /** @this {org_apache_flex_core_ListBase} */
+        set: function(value) {
+            this.model.selectedIndex = value;
+		}
+	},
+    'selectedItem': {
+        /** @this {org_apache_flex_core_ListBase} */
+        get: function() {
+            return this.model.selectedItem;
+		},
+        /** @this {org_apache_flex_core_ListBase} */
+        set: function(value) {
+            this.model.selectedItem = value;
+		}
+	}
+});
 
 
 /**

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/7bb9e9a5/frameworks/js/FlexJS/src/org/apache/flex/core/SimpleCSSValuesImpl.js
----------------------------------------------------------------------
diff --git a/frameworks/js/FlexJS/src/org/apache/flex/core/SimpleCSSValuesImpl.js b/frameworks/js/FlexJS/src/org/apache/flex/core/SimpleCSSValuesImpl.js
index f930f0a..f1dce9f 100644
--- a/frameworks/js/FlexJS/src/org/apache/flex/core/SimpleCSSValuesImpl.js
+++ b/frameworks/js/FlexJS/src/org/apache/flex/core/SimpleCSSValuesImpl.js
@@ -74,7 +74,7 @@ org_apache_flex_core_SimpleCSSValuesImpl.prototype.getValue =
   var cName;
   var selectorName;
 
-  if (typeof(thisObject.get_style) === 'function')
+  if (typeof(thisObject.hasOwnPropertY('style')) === 'function')
   {
     var style = thisObject.style;
     if (style != null)

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/7bb9e9a5/frameworks/js/FlexJS/src/org/apache/flex/core/SimpleStatesImpl.js
----------------------------------------------------------------------
diff --git a/frameworks/js/FlexJS/src/org/apache/flex/core/SimpleStatesImpl.js b/frameworks/js/FlexJS/src/org/apache/flex/core/SimpleStatesImpl.js
index d95219c..7e37110 100644
--- a/frameworks/js/FlexJS/src/org/apache/flex/core/SimpleStatesImpl.js
+++ b/frameworks/js/FlexJS/src/org/apache/flex/core/SimpleStatesImpl.js
@@ -57,22 +57,22 @@ org_apache_flex_core_SimpleStatesImpl.prototype.FLEXJS_CLASS_INFO =
                    org_apache_flex_core_IStatesImpl] };
 
 
-/**
- * @expose
- * @param {org_apache_flex_core_IStrand} value The new host.
- */
-org_apache_flex_core_SimpleStatesImpl.prototype.set_strand =
-    function(value) {
-  if (this.strand_ !== value) {
-    this.strand_ = value;
-    if (this.strand_.addEventListener) {
-      this.strand_.addEventListener('currentStateChange',
-          goog.bind(this.stateChangeHandler_, this));
-      this.strand_.addEventListener('initComplete',
-          goog.bind(this.initialStateHandler_, this));
-    }
-  }
-};
+Object.defineProperties(org_apache_flex_core_SimpleStatesImpl.prototype, {
+    'strand': {
+        /** @this {org_apache_flex_core_SimpleStatesImpl} */
+        set: function(value) {
+            if (this.strand_ !== value) {
+              this.strand_ = value;
+              if (this.strand_.addEventListener) {
+                this.strand_.addEventListener('currentStateChange',
+                goog.bind(this.stateChangeHandler_, this));
+                    this.strand_.addEventListener('initComplete',
+                goog.bind(this.initialStateHandler_, this));
+              }
+            }
+		}
+	}
+});
 
 
 /**

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/7bb9e9a5/frameworks/js/FlexJS/src/org/apache/flex/core/ViewBaseDataBinding.js
----------------------------------------------------------------------
diff --git a/frameworks/js/FlexJS/src/org/apache/flex/core/ViewBaseDataBinding.js b/frameworks/js/FlexJS/src/org/apache/flex/core/ViewBaseDataBinding.js
index 7562f22..b4872a1 100644
--- a/frameworks/js/FlexJS/src/org/apache/flex/core/ViewBaseDataBinding.js
+++ b/frameworks/js/FlexJS/src/org/apache/flex/core/ViewBaseDataBinding.js
@@ -53,18 +53,18 @@ org_apache_flex_core_ViewBaseDataBinding.prototype.FLEXJS_CLASS_INFO =
                 qName: 'org_apache_flex_core_ViewBaseDataBinding'}] };
 
 
-/**
- * @expose
- * @param {Object} value The new host.
- */
-org_apache_flex_core_ViewBaseDataBinding.prototype.set_strand =
-    function(value) {
-  if (this.strand_ !== value) {
-    this.strand_ = value;
-    this.strand_.addEventListener('initComplete',
-        goog.bind(this.initCompleteHandler, this));
-  }
-};
+Object.defineProperties(org_apache_flex_core_ViewBaseDataBinding.prototype, {
+    'strand': {
+        /** @this {org_apache_flex_core_ViewBaseDataBinding} */
+        set: function(value) {
+            if (this.strand_ !== value) {
+              this.strand_ = value;
+              this.strand_.addEventListener('initComplete',
+              goog.bind(this.initCompleteHandler, this));
+            }
+		}
+	}
+});
 
 
 /**

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/7bb9e9a5/frameworks/js/FlexJS/src/org/apache/flex/createjs/CheckBox.js
----------------------------------------------------------------------
diff --git a/frameworks/js/FlexJS/src/org/apache/flex/createjs/CheckBox.js b/frameworks/js/FlexJS/src/org/apache/flex/createjs/CheckBox.js
index ff0c40d..d183ef6 100644
--- a/frameworks/js/FlexJS/src/org/apache/flex/createjs/CheckBox.js
+++ b/frameworks/js/FlexJS/src/org/apache/flex/createjs/CheckBox.js
@@ -93,45 +93,29 @@ org_apache_flex_createjs_CheckBox.prototype.createElement =
 };
 
 
-/**
- * @expose
- * @return {string} The text getter.
- */
-org_apache_flex_createjs_CheckBox.prototype.get_text =
-    function() {
-  return this.checkBoxLabel.text;
-};
-
-
-/**
- * @expose
- * @param {string} value The text setter.
- */
-org_apache_flex_createjs_CheckBox.prototype.set_text =
-    function(value) {
-  this.checkBoxLabel.text = value;
-};
-
-
-/**
- * @expose
- * @return {bool} The selected getter.
- */
-org_apache_flex_createjs_CheckBox.prototype.get_selected =
-    function() {
-  return this.selected;
-};
-
-
-/**
- * @expose
- * @param {bool} value The selected setter.
- */
-org_apache_flex_createjs_CheckBox.prototype.set_selected =
-    function(value) {
-  this.checkMark.visible = this.selected = value;
-  this.element.getStage().update();
-};
+Object.defineProperties(org_apache_flex_createjs_CheckBox.prototype, {
+    'text': {
+        /** @this {org_apache_flex_createjs_CheckBox} */
+        get: function() {
+            return this.checkBoxLabel.text;
+		},
+        /** @this {org_apache_flex_createjs_CheckBox} */
+        set: function(value) {
+            this.checkBoxLabel.text = value;
+		}
+	},
+    'selected': {
+        /** @this {org_apache_flex_createjs_CheckBox} */
+        get: function() {
+            return this.selected;
+		},
+        /** @this {org_apache_flex_createjs_CheckBox} */
+        set: function(value) {
+            this.checkMark.visible = this.selected = value;
+            this.element.getStage().update();
+		}
+	}
+});
 
 
 /**

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/7bb9e9a5/frameworks/js/FlexJS/src/org/apache/flex/createjs/TextButton.js
----------------------------------------------------------------------
diff --git a/frameworks/js/FlexJS/src/org/apache/flex/createjs/TextButton.js b/frameworks/js/FlexJS/src/org/apache/flex/createjs/TextButton.js
index 691edca..894971e 100644
--- a/frameworks/js/FlexJS/src/org/apache/flex/createjs/TextButton.js
+++ b/frameworks/js/FlexJS/src/org/apache/flex/createjs/TextButton.js
@@ -75,21 +75,15 @@ org_apache_flex_createjs_TextButton.prototype.createElement =
 };
 
 
-/**
- * @expose
- * @return {string} The text getter.
- */
-org_apache_flex_createjs_TextButton.prototype.get_text =
-    function() {
-  return this.buttonLabel.text;
-};
-
-
-/**
- * @expose
- * @param {string} value The text setter.
- */
-org_apache_flex_createjs_TextButton.prototype.set_text =
-    function(value) {
-  this.buttonLabel.text = value;
-};
+Object.defineProperties(org_apache_flex_createjs_TextButton.prototype, {
+    'text': {
+        /** @this {org_apache_flex_createjs_TextButton} */
+        get: function() {
+            return this.buttonLabel.text;
+		},
+        /** @this {org_apache_flex_createjs_TextButton} */
+        set: function(value) {
+            this.buttonLabel.text = value;
+		}
+	}
+});

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/7bb9e9a5/frameworks/js/FlexJS/src/org/apache/flex/createjs/core/ViewBase.js
----------------------------------------------------------------------
diff --git a/frameworks/js/FlexJS/src/org/apache/flex/createjs/core/ViewBase.js b/frameworks/js/FlexJS/src/org/apache/flex/createjs/core/ViewBase.js
index 2c1ff4a..b4071cf 100644
--- a/frameworks/js/FlexJS/src/org/apache/flex/createjs/core/ViewBase.js
+++ b/frameworks/js/FlexJS/src/org/apache/flex/createjs/core/ViewBase.js
@@ -36,24 +36,17 @@ goog.inherits(org_apache_flex_createjs_core_ViewBase,
     org_apache_flex_createjs_core_UIBase);
 
 
-/**
- * @expose
- * @return {Object} Returns the application model.
- */
-org_apache_flex_createjs_core_ViewBase.prototype.get_applicationModel =
-    function() {
-  return this.applicationModel;
-};
-
-
-/**
- * @expose
- * @param {Object} value The application model.
- */
-org_apache_flex_createjs_core_ViewBase.prototype.set_applicationModel =
-    function(value) {
-  this.applicationModel = value;
-};
+Object.defineProperties(org_apache_flex_createjs_core_ViewBase.prototype, {
+    'applicationModel': {
+        /** @this {org_apache_flex_createjs_core_ViewBase} */
+        get: function() {
+            return this.applicationModel_;
+		},
+        set: function(value) {
+            this.applicationModel = value;
+		}
+	}
+});
 
 
 /**

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/7bb9e9a5/frameworks/js/FlexJS/src/org/apache/flex/effects/PlatformWiper.js
----------------------------------------------------------------------
diff --git a/frameworks/js/FlexJS/src/org/apache/flex/effects/PlatformWiper.js b/frameworks/js/FlexJS/src/org/apache/flex/effects/PlatformWiper.js
index f62cb42..109c287 100644
--- a/frameworks/js/FlexJS/src/org/apache/flex/effects/PlatformWiper.js
+++ b/frameworks/js/FlexJS/src/org/apache/flex/effects/PlatformWiper.js
@@ -49,41 +49,35 @@ org_apache_flex_effects_PlatformWiper.prototype.FLEXJS_CLASS_INFO =
                 qName: 'org_apache_flex_effects_PlatformWiper'}] };
 
 
-/**
- * @expose
- * Sets the target for the Wipe.
- * @param {Object} target The target for the Wipe effect.
- */
-org_apache_flex_effects_PlatformWiper.prototype.set_target =
-    function(target) {
-  if (target == null) {
-    if (this.overflow_ == null)
-      delete this.target_.positioner.style.overflow;
-    else
-      this.target_.positioner.style.overflow = this.overflow_;
-  }
-  this.target_ = target;
-  if (target != null) {
-    this.overflow_ = this.target_.positioner.style.overflow;
-  }
-};
-
-
-/**
- * @expose
- * Clips the Object.
- * @param {org_apache_flex_geom_Rectangle} rect The visible area.
- */
-org_apache_flex_effects_PlatformWiper.prototype.set_visibleRect =
-    function(rect) {
-  /*
-  var styleString = 'rect(';
-  styleString += rect.top.toString() + 'px,';
-  styleString += rect.width.toString() + 'px,';
-  styleString += rect.height.toString() + 'px,';
-  styleString += rect.left.toString() + 'px)';
-  this.target_.positioner.style.clip = styleString;
-  */
-  this.target_.positioner.style.height = rect.height.toString() + 'px';
-  this.target_.positioner.style.overflow = 'hidden';
-};
+Object.defineProperties(org_apache_flex_effects_PlatformWiper.prototype, {
+    'target': {
+        /** @this {org_apache_flex_effects_PlatformWiper} */
+        set: function(target) {
+			if (target == null) {
+			  if (this.overflow_ == null)
+				delete this.target_.positioner.style.overflow;
+			  else
+				this.target_.positioner.style.overflow = this.overflow_;
+			}
+			this.target_ = target;
+			if (target != null) {
+			  this.overflow_ = this.target_.positioner.style.overflow;
+			}
+		}
+	},
+    'visibleRect': {
+        /** @this {org_apache_flex_effects_PlatformWiper} */
+        set: function(rect) {
+			/*
+			var styleString = 'rect(';
+			styleString += rect.top.toString() + 'px,';
+			styleString += rect.width.toString() + 'px,';
+			styleString += rect.height.toString() + 'px,';
+			styleString += rect.left.toString() + 'px)';
+			this.target_.positioner.style.clip = styleString;
+			*/
+			this.target_.positioner.style.height = rect.height.toString() + 'px';
+			this.target_.positioner.style.overflow = 'hidden';
+		}
+	}
+});

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/7bb9e9a5/frameworks/js/FlexJS/src/org/apache/flex/events/MouseEvent.js
----------------------------------------------------------------------
diff --git a/frameworks/js/FlexJS/src/org/apache/flex/events/MouseEvent.js b/frameworks/js/FlexJS/src/org/apache/flex/events/MouseEvent.js
index d182d4e..962245e 100644
--- a/frameworks/js/FlexJS/src/org/apache/flex/events/MouseEvent.js
+++ b/frameworks/js/FlexJS/src/org/apache/flex/events/MouseEvent.js
@@ -123,7 +123,7 @@ org_apache_flex_events_MouseEvent.mouseOverHandler = function(e) {
   }
   else {
     var newTargets = [target];
-    if (target.get_parent === undefined)
+    if (target.hasOwnProperty('parent') === undefined)
       parent = null;
     else
       parent = target.parent;
@@ -131,7 +131,7 @@ org_apache_flex_events_MouseEvent.mouseOverHandler = function(e) {
       index = targets.indexOf(parent);
       if (index == -1) {
         newTargets.unshift(parent);
-        if (parent.get_parent === undefined)
+        if (parent.hasOwnProperty('parent') === undefined)
           break;
         parent = parent.parent;
       }

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/7bb9e9a5/frameworks/js/FlexJS/src/org/apache/flex/html/Alert.js
----------------------------------------------------------------------
diff --git a/frameworks/js/FlexJS/src/org/apache/flex/html/Alert.js b/frameworks/js/FlexJS/src/org/apache/flex/html/Alert.js
index d36c65c..c0d8f59 100644
--- a/frameworks/js/FlexJS/src/org/apache/flex/html/Alert.js
+++ b/frameworks/js/FlexJS/src/org/apache/flex/html/Alert.js
@@ -141,52 +141,46 @@ Object.defineProperties(org_apache_flex_html_Alert.prototype, {
  		/** @this {org_apache_flex_html_Alert} */
         get: function() {
             return this.flags;
-        }
-    }
+        },
+ 		/** @this {org_apache_flex_html_Alert} */
+        set: function(value) {
+			this.flags = value;
+		  
+			// add buttons based on flags
+			if (this.flags & org_apache_flex_html_Alert.OK) {
+			  var ok = new org_apache_flex_html_TextButton();
+			  this.buttonArea.addElement(ok);
+			  ok.text = 'OK';
+			  goog.events.listen(/** @type {EventTarget} */ (ok.element), 'click',
+				  goog.bind(this.dismissAlert, this));
+			}
+			if (this.flags & org_apache_flex_html_Alert.CANCEL) {
+			  var cancel = new org_apache_flex_html_TextButton();
+			  this.buttonArea.addElement(cancel);
+			  cancel.text = 'Cancel';
+			  goog.events.listen(/** @type {EventTarget} */ (cancel.element), 'click',
+				  goog.bind(this.dismissAlert, this));
+			}
+			if (this.flags & org_apache_flex_html_Alert.YES) {
+			  var yes = new org_apache_flex_html_TextButton();
+			  this.buttonArea.addElement(yes);
+			  yes.text = 'YES';
+			  goog.events.listen(/** @type {EventTarget} */ (yes.element), 'click',
+				  goog.bind(this.dismissAlert, this));
+			}
+			if (this.flags & org_apache_flex_html_Alert.NO) {
+			  var nob = new org_apache_flex_html_TextButton();
+			  this.buttonArea.addElement(nob);
+			  nob.text = 'NO';
+			  goog.events.listen(/** @type {EventTarget} */ (nob.element), 'click',
+				  goog.bind(this.dismissAlert, this));
+			}
+		}
+	}
 });
 
 
 /**
- * @param {number} value The button options.
- */
-org_apache_flex_html_Alert.prototype.set_flags =
-    function(value)
-    {
-  this.flags = value;
-
-  // add buttons based on flags
-  if (this.flags & org_apache_flex_html_Alert.OK) {
-    var ok = new org_apache_flex_html_TextButton();
-    this.buttonArea.addElement(ok);
-    ok.text = 'OK';
-    goog.events.listen(/** @type {EventTarget} */ (ok.element), 'click',
-        goog.bind(this.dismissAlert, this));
-  }
-  if (this.flags & org_apache_flex_html_Alert.CANCEL) {
-    var cancel = new org_apache_flex_html_TextButton();
-    this.buttonArea.addElement(cancel);
-    cancel.text = 'Cancel';
-    goog.events.listen(/** @type {EventTarget} */ (cancel.element), 'click',
-        goog.bind(this.dismissAlert, this));
-  }
-  if (this.flags & org_apache_flex_html_Alert.YES) {
-    var yes = new org_apache_flex_html_TextButton();
-    this.buttonArea.addElement(yes);
-    yes.text = 'YES';
-    goog.events.listen(/** @type {EventTarget} */ (yes.element), 'click',
-        goog.bind(this.dismissAlert, this));
-  }
-  if (this.flags & org_apache_flex_html_Alert.NO) {
-    var nob = new org_apache_flex_html_TextButton();
-    this.buttonArea.addElement(nob);
-    nob.text = 'NO';
-    goog.events.listen(/** @type {EventTarget} */ (nob.element), 'click',
-        goog.bind(this.dismissAlert, this));
-  }
-};
-
-
-/**
  * @param {Object} event The event object.
  */
 org_apache_flex_html_Alert.prototype.dismissAlert =

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/7bb9e9a5/frameworks/js/FlexJS/src/org/apache/flex/html/DropDownList.js
----------------------------------------------------------------------
diff --git a/frameworks/js/FlexJS/src/org/apache/flex/html/DropDownList.js b/frameworks/js/FlexJS/src/org/apache/flex/html/DropDownList.js
index f7e7762..5ebe2e3 100644
--- a/frameworks/js/FlexJS/src/org/apache/flex/html/DropDownList.js
+++ b/frameworks/js/FlexJS/src/org/apache/flex/html/DropDownList.js
@@ -57,30 +57,43 @@ org_apache_flex_html_DropDownList.prototype.
 };
 
 
-/**
- * @expose
- * @param {Object} value The new dataProvider.
- */
-org_apache_flex_html_DropDownList.prototype.
-    set_dataProvider = function(value) {
-  var dp, i, n, opt;
-
-  this.model.dataProvider = value;
-
-  dp = this.element.options;
-  n = dp.length;
-  for (i = 0; i < n; i++) {
-    dp.remove(0);
-  }
-
-  n = value.length;
-  for (i = 0; i < n; i++) {
-    opt = document.createElement('option');
-    opt.text = value[i];
-    dp.add(opt);
-  }
-
-};
+Object.defineProperties(org_apache_flex_html_DropDownList.prototype, {
+	'dataProvider': {
+ 		/** @this {org_apache_flex_html_DropDownList} */
+        set: function(value) {
+            var dp, i, n, opt;
+
+            this.model.dataProvider = value;
+
+            dp = this.element.options;
+            n = dp.length;
+            for (i = 0; i < n; i++) {
+              dp.remove(0);
+            }
+
+            n = value.length;
+            for (i = 0; i < n; i++) {
+              opt = document.createElement('option');
+              opt.text = value[i];
+              dp.add(opt);
+            }
+		}
+	},
+    'selectedIndex': {
+ 		/** @this {org_apache_flex_html_DropDownList} */
+		set: function(value) {
+            this.model.selectedIndex = value;
+            this.element.selectedIndex = value;
+		}
+	},
+    'selectedItem': {
+ 		/** @this {org_apache_flex_html_DropDownList} */
+		get: function(value) {
+            this.model.selectedItem = value;
+            this.element.selectedIndex = this.selectedIndex;
+		}
+	}
+});
 
 
 /**
@@ -91,25 +104,3 @@ org_apache_flex_html_DropDownList.prototype.changeHandler =
   this.model.selectedIndex = this.element.selectedIndex;
   this.dispatchEvent('change');
 };
-
-
-/**
- * @expose
- * @param {number} value The new selected index.
- */
-org_apache_flex_html_DropDownList.prototype.
-    set_selectedIndex = function(value) {
-  this.model.selectedIndex = value;
-  this.element.selectedIndex = value;
-};
-
-
-/**
- * @expose
- * @param {Object} value The new selected item.
- */
-org_apache_flex_html_DropDownList.prototype.
-    set_selectedItem = function(value) {
-  this.model.selectedItem = value;
-  this.element.selectedIndex = this.selectedIndex;
-};

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/7bb9e9a5/frameworks/js/FlexJS/src/org/apache/flex/html/Image.js
----------------------------------------------------------------------
diff --git a/frameworks/js/FlexJS/src/org/apache/flex/html/Image.js b/frameworks/js/FlexJS/src/org/apache/flex/html/Image.js
index 22f85df..8be3163 100644
--- a/frameworks/js/FlexJS/src/org/apache/flex/html/Image.js
+++ b/frameworks/js/FlexJS/src/org/apache/flex/html/Image.js
@@ -66,21 +66,15 @@ org_apache_flex_html_Image.prototype.createElement =
 };
 
 
-/**
- * @expose
- * @return {String} The source identifier for the Image.
- */
-org_apache_flex_html_Image.prototype.
-    get_source = function() {
-  return this.model.source;
-};
-
-
-/**
- * @expose
- * @param {String} value The source identifier for the Image.
- */
-org_apache_flex_html_Image.prototype.
-    set_source = function(value) {
-  this.model.source = value;
-};
+Object.defineProperties(org_apache_flex_html_Image.prototype, {
+	'source': {
+ 		/** @this {org_apache_flex_html_Image} */
+        get: function() {
+            return this.model.source;
+		},
+ 		/** @this {org_apache_flex_html_Image} */
+		set: function(value) {
+            this.model.source = value;
+		}
+	}
+});

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/7bb9e9a5/frameworks/js/FlexJS/src/org/apache/flex/html/List.js
----------------------------------------------------------------------
diff --git a/frameworks/js/FlexJS/src/org/apache/flex/html/List.js b/frameworks/js/FlexJS/src/org/apache/flex/html/List.js
index 953e5e2..4801bde 100644
--- a/frameworks/js/FlexJS/src/org/apache/flex/html/List.js
+++ b/frameworks/js/FlexJS/src/org/apache/flex/html/List.js
@@ -51,79 +51,49 @@ org_apache_flex_html_List.prototype.FLEXJS_CLASS_INFO =
                 qName: 'org_apache_flex_html_List' }] };
 
 
-/**
- * @expose
- * @return {mx_core_IFactory} The itemRenderer generator.
- */
-org_apache_flex_html_List.prototype.get_itemRenderer =
-function() {
-  return this.itemRenderer_;
-};
-
-
-/**
- * @expose
- * @param {mx_core_IFactory} value The itemRenderer generator.
- */
-org_apache_flex_html_List.prototype.set_itemRenderer =
-function(value) {
-  this.itemRenderer_ = value;
-};
-
-
-/**
- * @expose
- * @return {String} The name of the field to use as a label.
- */
-org_apache_flex_html_List.prototype.get_labelField =
-function() {
-  return this.model.labelField;
-};
-
-
-/**
- * @expose
- * @param {String} value The name of the field to use as a label.
- */
-org_apache_flex_html_List.prototype.set_labelField =
-function(value) {
-  this.model.labelField = value;
-};
-
-
-/**
- * @expose
- * @return {number} The height of each row.
- */
-org_apache_flex_html_List.prototype.get_rowHeight =
-function() {
-  return this.presentationModel.rowHeight;
-};
-
-
-/**
- * @expose
- * @param {number} value The height of each row.
- */
-org_apache_flex_html_List.prototype.set_rowHeight =
-function(value) {
-  this.presentationModel.rowHeight = value;
-};
-
-
-/**
- * @expose
- * @return {Object} The model used to present some of the list's visual properties.
- */
-org_apache_flex_html_List.prototype.get_presentationModel =
-function() {
-  var presModel = this.getBeadByType(org_apache_flex_core_IListPresentationModel);
-  if (presModel == null) {
-    presModel = new org_apache_flex_html_beads_models_ListPresentationModel();
-    this.addBead(presModel);
-  }
-  return presModel;
-};
+Object.defineProperties(org_apache_flex_html_List.prototype, {
+	'itemRenderer': {
+ 		/** @this {org_apache_flex_html_List} */
+        get: function() {
+            return this.itemRenderer_;
+		},
+ 		/** @this {org_apache_flex_html_List} */
+        set: function(value) {
+            this.itemRenderer_ = value;
+		}
+	},
+    'labelField': {
+ 		/** @this {org_apache_flex_html_List} */
+        get: function() {
+            return this.model.labelField;
+		},
+ 		/** @this {org_apache_flex_html_List} */
+        set: function(value) {
+            this.model.labelField = value;
+		}
+	},
+    'rowHeight': {
+ 		/** @this {org_apache_flex_html_List} */
+        get: function() {
+            return this.presentationModel.rowHeight;
+		},
+ 		/** @this {org_apache_flex_html_List} */
+		set: function(value) {
+            this.presentationModel.rowHeight = value;
+		}
+	},
+    'presentationModel': {
+ 		/** @this {org_apache_flex_html_List} */
+        get: function() {
+            var presModel = this.getBeadByType(org_apache_flex_core_IListPresentationModel);
+            if (presModel == null) {
+              presModel = new org_apache_flex_html_beads_models_ListPresentationModel();
+              this.addBead(presModel);
+            }
+            return presModel;
+		}
+	}
+});
 
 
 /**

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/7bb9e9a5/frameworks/js/FlexJS/src/org/apache/flex/html/NumericStepper.js
----------------------------------------------------------------------
diff --git a/frameworks/js/FlexJS/src/org/apache/flex/html/NumericStepper.js b/frameworks/js/FlexJS/src/org/apache/flex/html/NumericStepper.js
index 49ea822..39fecaa 100644
--- a/frameworks/js/FlexJS/src/org/apache/flex/html/NumericStepper.js
+++ b/frameworks/js/FlexJS/src/org/apache/flex/html/NumericStepper.js
@@ -100,103 +100,57 @@ org_apache_flex_html_NumericStepper.prototype.spinnerChange =
 };
 
 
-/**
- * @expose
- * @return {Number} The current minimum value.
- */
-org_apache_flex_html_NumericStepper.prototype.get_minimum =
-    function() {
-  return this.model.minimum;
-};
-
-
-/**
- * @expose
- * @param {Number} value The new minimum value.
- */
-org_apache_flex_html_NumericStepper.prototype.set_minimum =
-    function(value) {
-  this.model.minimum = value;
-};
-
-
-/**
- * @expose
- * @return {Number} The current maximum value.
- */
-org_apache_flex_html_NumericStepper.prototype.get_maximum =
-    function() {
-  return this.model.maximum;
-};
-
-
-/**
- * @expose
- * @param {Number} value The new maximum value.
- */
-org_apache_flex_html_NumericStepper.prototype.set_maximum =
-    function(value) {
-  this.model.maximum = value;
-};
-
-
-/**
- * @expose
- * @return {Number} The current value.
- */
-org_apache_flex_html_NumericStepper.prototype.get_value =
-    function() {
-  return this.model.value;
-};
-
-
-/**
- * @expose
- * @param {Number} newValue The new value.
- */
-org_apache_flex_html_NumericStepper.prototype.set_value =
-    function(newValue) {
-  this.model.value = newValue;
-  this.spinner.value = newValue;
-};
-
-
-/**
- * @expose
- * @return {Number} The current snapInterval value.
- */
-org_apache_flex_html_NumericStepper.prototype.get_snapInterval =
-    function() {
-  return this.model.snapInterval;
-};
-
-
-/**
- * @expose
- * @param {Number} value The new snapInterval value.
- */
-org_apache_flex_html_NumericStepper.prototype.set_snapInterval =
-    function(value) {
-  this.model.snapInterval = value;
-};
-
-
-/**
- * @expose
- * @return {Number} The current stepSize value.
- */
-org_apache_flex_html_NumericStepper.prototype.get_stepSize =
-    function() {
-  return this.model.stepSize;
-};
-
-
-/**
- * @expose
- * @param {Number} value The new stepSize value.
- */
-org_apache_flex_html_NumericStepper.prototype.set_stepSize =
-    function(value) {
-  this.model.stepSize = value;
-};
+Object.defineProperties(org_apache_flex_html_NumericStepper.prototype, {
+	'minimum': {
+ 		/** @this {org_apache_flex_html_NumericStepper} */
+        get: function() {
+            return this.model.minimum;
+		},
+ 		/** @this {org_apache_flex_html_NumericStepper} */
+        set: function(value) {
+            this.model.minimum = value;
+		}
+	},
+    'maximum': {
+ 		/** @this {org_apache_flex_html_NumericStepper} */
+        get: function() {
+            return this.model.maximum;
+		},
+ 		/** @this {org_apache_flex_html_NumericStepper} */
+        set: function(value) {
+            this.model.maximum = value;
+		}
+	},
+    'value': {
+ 		/** @this {org_apache_flex_html_NumericStepper} */
+        get: function() {
+            return this.model.value;
+		},
+ 		/** @this {org_apache_flex_html_NumericStepper} */
+        set: function(newValue) {
+            this.model.value = newValue;
+            this.spinner.value = newValue;
+		}
+	},
+    'snapInterval': {
+ 		/** @this {org_apache_flex_html_NumericStepper} */
+        get: function() {
+            return this.model.snapInterval;
+		},
+ 		/** @this {org_apache_flex_html_NumericStepper} */
+		set: function(value) {
+            this.model.snapInterval = value;
+		}
+	},
+    'stepSize': {
+ 		/** @this {org_apache_flex_html_NumericStepper} */
+        get: function() {
+            return this.model.stepSize;
+		},
+ 		/** @this {org_apache_flex_html_NumericStepper} */
+        set: function(value) {
+            this.model.stepSize = value;
+		}
+	}
+});
 

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/7bb9e9a5/frameworks/js/FlexJS/src/org/apache/flex/html/SimpleList.js
----------------------------------------------------------------------
diff --git a/frameworks/js/FlexJS/src/org/apache/flex/html/SimpleList.js b/frameworks/js/FlexJS/src/org/apache/flex/html/SimpleList.js
index ddeec61..69d6c07 100644
--- a/frameworks/js/FlexJS/src/org/apache/flex/html/SimpleList.js
+++ b/frameworks/js/FlexJS/src/org/apache/flex/html/SimpleList.js
@@ -57,72 +57,51 @@ org_apache_flex_html_SimpleList.prototype.
 };
 
 
-/**
- * @override
- */
-org_apache_flex_html_SimpleList.prototype.
-    get_dataProvider = function() {
-  return this.model.dataProvider;
-};
-
-
-/**
- * @override
- */
-org_apache_flex_html_SimpleList.prototype.
-    set_dataProvider = function(value) {
-  var dp, i, n, opt;
-
-  this.model.dataProvider = value;
-
-  dp = this.element.options;
-  n = dp.length;
-  for (i = 0; i < n; i++) {
-    dp.remove(0);
-  }
-
-  n = value.length;
-  for (i = 0; i < n; i++) {
-    opt = document.createElement('option');
-    opt.text = value[i].toString();
-    dp.add(opt);
-  }
-
-};
-
-
-/**
- * @override
- */
-org_apache_flex_html_SimpleList.prototype.
-    get_selectedIndex = function() {
-  return this.model.selectedIndex;
-};
-
-
-/**
- * @override
- */
-org_apache_flex_html_SimpleList.prototype.
-    set_selectedIndex = function(value) {
-  this.model.selectedIndex = value;
-};
-
-
-/**
- * @override
- */
-org_apache_flex_html_SimpleList.prototype.
-    get_selectedItem = function() {
-  return this.model.selectedItem;
-};
-
-
-/**
- * @override
- */
-org_apache_flex_html_SimpleList.prototype.
-    set_selectedItem = function(value) {
-  this.model.selectedItem = value;
-};
+Object.defineProperties(org_apache_flex_html_SimpleList.prototype, {
+	'dataProvider': {
+ 		/** @this {org_apache_flex_html_SimpleList} */
+		get: function() {
+            return this.model.dataProvider;
+		},
+ 		/** @this {org_apache_flex_html_SimpleList} */
+        set: function(value) {
+            var dp, i, n, opt;
+
+            this.model.dataProvider = value;
+
+            dp = this.element.options;
+            n = dp.length;
+            for (i = 0; i < n; i++) {
+              dp.remove(0);
+            }
+
+            n = value.length;
+            for (i = 0; i < n; i++) {
+              opt = document.createElement('option');
+              opt.text = value[i].toString();
+              dp.add(opt);
+            }
+		}
+	},
+    'selectedIndex': {
+ 		/** @this {org_apache_flex_html_SimpleList} */
+	    get: function() {
+            return this.model.selectedIndex;
+	    },
+ 		/** @this {org_apache_flex_html_SimpleList} */
+        set: function(value) {
+            this.model.selectedIndex = value;
+		}
+	},
+    'selectedItem': {
+ 		/** @this {org_apache_flex_html_SimpleList} */
+		get: function() {
+            return this.model.selectedItem;
+		},
+ 		/** @this {org_apache_flex_html_SimpleList} */
+        set: function(value) {
+            this.model.selectedItem = value;
+		}
+	}
+});
 

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/7bb9e9a5/frameworks/js/FlexJS/src/org/apache/flex/html/Slider.js
----------------------------------------------------------------------
diff --git a/frameworks/js/FlexJS/src/org/apache/flex/html/Slider.js b/frameworks/js/FlexJS/src/org/apache/flex/html/Slider.js
index 8aa17b8..85a58fa 100644
--- a/frameworks/js/FlexJS/src/org/apache/flex/html/Slider.js
+++ b/frameworks/js/FlexJS/src/org/apache/flex/html/Slider.js
@@ -73,110 +73,59 @@ org_apache_flex_html_Slider.prototype.createElement =
 };
 
 
-/**
- * @expose
- * @return {number} The value getter.
- */
-org_apache_flex_html_Slider.prototype.get_value =
-    function() {
-  return this.model.value;
-};
-
-
-/**
- * @expose
- * @param {Object} newValue The new value.
- * @return {void} The value setter.
- */
-org_apache_flex_html_Slider.prototype.set_value =
-    function(newValue) {
-  this.model.value = newValue;
-  this.setThumbFromValue(this.model.value);
-};
-
-
-/**
- * @expose
- * @return {number} The minimum getter.
- */
-org_apache_flex_html_Slider.prototype.get_minimum =
-    function() {
-  return this.model.minimum;
-};
-
-
-/**
- * @expose
- * @param {Object} value The new minimum value.
- * @return {void} The minimum setter.
- */
-org_apache_flex_html_Slider.prototype.set_minimum =
-    function(value) {
-  this.model.minimum = value;
-};
-
-
-/**
- * @expose
- * @return {number} The maximum getter.
- */
-org_apache_flex_html_Slider.prototype.get_maximum =
-    function() {
-  return this.model.maximum;
-};
-
-
-/**
- * @expose
- * @param {Object} value The new maximum value.
- * @return {void} The maximum setter.
- */
-org_apache_flex_html_Slider.prototype.set_maximum =
-    function(value) {
-  this.model.maximum = value;
-};
-
-
-/**
- * @expose
- * @return {number} The snapInterval getter.
- */
-org_apache_flex_html_Slider.prototype.get_snapInterval =
-    function() {
-  return this.model.snapInterval;
-};
-
-
-/**
- * @expose
- * @param {Object} value The new snapInterval value.
- * @return {void} The snapInterval setter.
- */
-org_apache_flex_html_Slider.prototype.set_snapInterval =
-    function(value) {
-  this.model.snapInterval = value;
-};
-
-
-/**
- * @expose
- * @return {number} The stepSize getter.
- */
-org_apache_flex_html_Slider.prototype.get_stepSize =
-    function() {
-  return this.model.stepSize;
-};
-
-
-/**
- * @expose
- * @param {Object} value The new stepSize value.
- * @return {void} The stepSize setter.
- */
-org_apache_flex_html_Slider.prototype.set_stepSize =
-    function(value) {
-  this.model.stepSize = value;
-};
+Object.defineProperties(org_apache_flex_html_Slider.prototype, {
+	'value': {
+ 		/** @this {org_apache_flex_html_Slider} */
+		get: function() {
+            return this.model.value;
+		},
+ 		/** @this {org_apache_flex_html_Slider} */
+        set: function(newValue) {
+            this.model.value = newValue;
+            this.setThumbFromValue(this.model.value);
+		}
+	},
+    'minimum': {
+ 		/** @this {org_apache_flex_html_Slider} */
+		get: function() {
+            return this.model.minimum;
+		},
+ 		/** @this {org_apache_flex_html_Slider} */
+        set: function(value) {
+            this.model.minimum = value;
+		}
+	},
+    'maximum': {
+ 		/** @this {org_apache_flex_html_Slider} */
+        get: function() {
+            return this.model.maximum;
+		},
+ 		/** @this {org_apache_flex_html_Slider} */
+		set: function(value) {
+            this.model.maximum = value;
+		}
+	},
+	'snapInterval': {
+ 		/** @this {org_apache_flex_html_Slider} */
+        get: function() {
+            return this.model.snapInterval;
+		},
+ 		/** @this {org_apache_flex_html_Slider} */
+        set: function(value) {
+            this.model.snapInterval = value;
+		}
+	},
+    'stepSize': {
+ 		/** @this {org_apache_flex_html_Slider} */
+        get: function() {
+            return this.model.stepSize;
+		},
+ 		/** @this {org_apache_flex_html_Slider} */
+		set: function(value) {
+            this.model.stepSize = value;
+		}
+	}
+});
 
 
 /**

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/7bb9e9a5/frameworks/js/FlexJS/src/org/apache/flex/html/Spinner.js
----------------------------------------------------------------------
diff --git a/frameworks/js/FlexJS/src/org/apache/flex/html/Spinner.js b/frameworks/js/FlexJS/src/org/apache/flex/html/Spinner.js
index 40954c1..c4eb4cb 100644
--- a/frameworks/js/FlexJS/src/org/apache/flex/html/Spinner.js
+++ b/frameworks/js/FlexJS/src/org/apache/flex/html/Spinner.js
@@ -74,29 +74,6 @@ org_apache_flex_html_Spinner.prototype.createElement =
 };
 
 
-/**
- * @expose
- * @return {number} The current value.
- */
-org_apache_flex_html_Spinner.prototype.get_value =
-    function() {
-  return this.value_;
-};
-
-
-/**
- * @expose
- * @param {number} value The new value.
- */
-org_apache_flex_html_Spinner.prototype.set_value =
-    function(value) {
-  if (value != this.value_) {
-    this.value_ = value;
-    this.dispatchEvent('valueChange');
-  }
-};
-
-
 Object.defineProperties(org_apache_flex_html_Spinner.prototype, {
     'minimum': {
         /** @this {org_apache_flex_html_Spinner} */
@@ -149,7 +126,20 @@ Object.defineProperties(org_apache_flex_html_Spinner.prototype, {
               this.dispatchEvent('stepSizeChanged');
             }
         }
-    }
+    },
+    'value': {
+        /** @this {org_apache_flex_html_Spinner} */
+        get: function() {
+            return this.value_;
+		},
+        /** @this {org_apache_flex_html_Spinner} */
+    	set: function(value) {
+            if (value != this.value_) {
+              this.value_ = value;
+              this.dispatchEvent('valueChange');
+            }
+		}
+	}
 });
 
 

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/7bb9e9a5/frameworks/js/FlexJS/src/org/apache/flex/html/TitleBar.js
----------------------------------------------------------------------
diff --git a/frameworks/js/FlexJS/src/org/apache/flex/html/TitleBar.js b/frameworks/js/FlexJS/src/org/apache/flex/html/TitleBar.js
index 65d92f7..3ca1f03 100644
--- a/frameworks/js/FlexJS/src/org/apache/flex/html/TitleBar.js
+++ b/frameworks/js/FlexJS/src/org/apache/flex/html/TitleBar.js
@@ -60,41 +60,25 @@ org_apache_flex_html_TitleBar.prototype.createElement =
 };
 
 
-/**
- * @expose
- * @return {string} The title getter.
- */
-org_apache_flex_html_TitleBar.prototype.get_title =
-    function() {
-  return this.model.title;
-};
-
-
-/**
- * @expose
- * @param {string} value The title setter.
- */
-org_apache_flex_html_TitleBar.prototype.set_title =
-    function(value) {
-  this.model.title = value;
-};
-
-
-/**
- * @expose
- * @return {string} The showCloseButton getter.
- */
-org_apache_flex_html_TitleBar.prototype.get_showCloseButton =
-    function() {
-  return this.model.showCloseButton;
-};
-
-
-/**
- * @expose
- * @param {string} value The title setter.
- */
-org_apache_flex_html_TitleBar.prototype.set_showCloseButton =
-    function(value) {
-  this.model.showCloseButton = value;
-};
+Object.defineProperties(org_apache_flex_html_TitleBar.prototype, {
+    'title': {
+ 		/** @this {org_apache_flex_html_TitleBar} */
+        get: function() {
+            return this.model.title;
+		},
+ 		/** @this {org_apache_flex_html_TitleBar} */
+        set: function(value) {
+            this.model.title = value;
+		}
+	},
+    'showCloseButton': {
+ 		/** @this {org_apache_flex_html_TitleBar} */
+        get: function() {
+            return this.model.showCloseButton;
+		},
+ 		/** @this {org_apache_flex_html_TitleBar} */
+		set: function(value) {
+            this.model.showCloseButton = value;
+		}
+	}
+});

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/7bb9e9a5/frameworks/js/FlexJS/src/org/apache/flex/html/accessories/TextPromptBead.js
----------------------------------------------------------------------
diff --git a/frameworks/js/FlexJS/src/org/apache/flex/html/accessories/TextPromptBead.js b/frameworks/js/FlexJS/src/org/apache/flex/html/accessories/TextPromptBead.js
index 3011b66..5070da4 100644
--- a/frameworks/js/FlexJS/src/org/apache/flex/html/accessories/TextPromptBead.js
+++ b/frameworks/js/FlexJS/src/org/apache/flex/html/accessories/TextPromptBead.js
@@ -39,34 +39,24 @@ org_apache_flex_html_accessories_TextPromptBead.prototype.FLEXJS_CLASS_INFO =
                 qName: 'org_apache_flex_html_accessories_TextPromptBead' }] };
 
 
-/**
- * @expose
- * @return {string} value The new prompt.
- */
-org_apache_flex_html_accessories_TextPromptBead.prototype.
-    get_prompt = function() {
-  return this.prompt;
-};
-
-
-/**
- * @expose
- * @param {string} value The new prompt.
- */
-org_apache_flex_html_accessories_TextPromptBead.prototype.
-    set_prompt = function(value) {
-  this.prompt = value;
-};
-
-
-/**
- * @expose
- * @param {Object} value The new host.
- */
-org_apache_flex_html_accessories_TextPromptBead.prototype.
-    set_strand = function(value) {
-  if (this.strand_ !== value) {
-    this.strand_ = value;
-    value.element.placeholder = this.prompt;
-  }
-};
+Object.defineProperties(org_apache_flex_html_accessories_TextPromptBead.prototype, {
+    'strand': {
+        /** @this {org_apache_flex_html_accessories_TextPromptBead} */
+        set: function(value) {
+			if (this.strand_ !== value) {
+			  this.strand_ = value;
+			  value.element.placeholder = this.prompt;
+			}
+		}
+	},
+    'prompt': {
+        /** @this {org_apache_flex_html_accessories_TextPromptBead} */
+		get: function() {
+            return this.prompt;
+		},
+        /** @this {org_apache_flex_html_accessories_TextPromptBead} */
+        set: function(value) {
+            this.prompt = value;
+        }
+	}
+});

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/7bb9e9a5/frameworks/js/FlexJS/src/org/apache/flex/html/beads/ButtonBarView.js
----------------------------------------------------------------------
diff --git a/frameworks/js/FlexJS/src/org/apache/flex/html/beads/ButtonBarView.js b/frameworks/js/FlexJS/src/org/apache/flex/html/beads/ButtonBarView.js
index 5555e60..97a7dfa 100644
--- a/frameworks/js/FlexJS/src/org/apache/flex/html/beads/ButtonBarView.js
+++ b/frameworks/js/FlexJS/src/org/apache/flex/html/beads/ButtonBarView.js
@@ -15,6 +15,7 @@
 goog.provide('org_apache_flex_html_beads_ButtonBarView');
 
 goog.require('org_apache_flex_html_beads_ListView');
+goog.require('org_apache_flex_utils_Language');
 
 
 
@@ -43,13 +44,13 @@ org_apache_flex_html_beads_ButtonBarView.prototype.FLEXJS_CLASS_INFO =
                 qName: 'org_apache_flex_html_beads_ButtonBarView' }] };
 
 
-/**
- * @expose
- * @param {Object} value The new host.
- */
-org_apache_flex_html_beads_ButtonBarView.prototype.set_strand =
-    function(value) {
-
-  org_apache_flex_html_beads_ButtonBarView.base(this, 'set_strand', value);
-  this.strand_ = value;
-};
+Object.defineProperties(org_apache_flex_html_beads_ButtonBarView.prototype, {
+    'strand': {
+        /** @this {org_apache_flex_html_beads_ButtonBarView} */
+        set: function(value) {
+            org_apache_flex_utils_Language.superSetter(
+			    org_apache_flex_html_beads_ButtonBarView, this, 'strand', value);
+            this.strand_ = value;
+		}
+	}
+});

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/7bb9e9a5/frameworks/js/FlexJS/src/org/apache/flex/html/beads/ContainerView.js
----------------------------------------------------------------------
diff --git a/frameworks/js/FlexJS/src/org/apache/flex/html/beads/ContainerView.js b/frameworks/js/FlexJS/src/org/apache/flex/html/beads/ContainerView.js
index 6d76e9b..d78f78d 100644
--- a/frameworks/js/FlexJS/src/org/apache/flex/html/beads/ContainerView.js
+++ b/frameworks/js/FlexJS/src/org/apache/flex/html/beads/ContainerView.js
@@ -46,23 +46,17 @@ org_apache_flex_html_beads_ContainerView.prototype.FLEXJS_CLASS_INFO =
     };
 
 
-/**
- * @expose
- * @return {Object} value The content view.
- */
-org_apache_flex_html_beads_ContainerView.prototype.get_contentView =
-    function() {
-
-  return this._strand;
-};
-
-
-/**
- * @expose
- * @return {Object} value The resizeable view.
- */
-org_apache_flex_html_beads_ContainerView.prototype.get_resizableView =
-function() {
-
-  return this._strand;
-};
+Object.defineProperties(org_apache_flex_html_beads_ContainerView.prototype, {
+    'contentView': {
+        /** @this {org_apache_flex_html_beads_ContainerView} */
+        get: function() {
+            return this._strand;
+		}
+	},
+    'resizableView': {
+        /** @this {org_apache_flex_html_beads_ContainerView} */
+        get: function() {
+            return this._strand;
+		}
+	}
+});

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/7bb9e9a5/frameworks/js/FlexJS/src/org/apache/flex/html/beads/ImageButtonView.js
----------------------------------------------------------------------
diff --git a/frameworks/js/FlexJS/src/org/apache/flex/html/beads/ImageButtonView.js b/frameworks/js/FlexJS/src/org/apache/flex/html/beads/ImageButtonView.js
index 3f17c84..400ad90 100644
--- a/frameworks/js/FlexJS/src/org/apache/flex/html/beads/ImageButtonView.js
+++ b/frameworks/js/FlexJS/src/org/apache/flex/html/beads/ImageButtonView.js
@@ -34,12 +34,11 @@ org_apache_flex_html_beads_ImageButtonView
                 qName: 'org_apache_flex_html_beads_ImageButtonView'}] };
 
 
-/**
- * @expose
- * @param {Object} value The new host.
- */
-org_apache_flex_html_beads_ImageButtonView.prototype.set_strand =
-    function(value) {
-
-  this.strand_ = value;
-};
+Object.defineProperties(org_apache_flex_html_beads_ImageButtonView.prototype, {
+    'strand': {
+        /** @this {org_apache_flex_html_beads_ImageButtonView} */
+        set: function(value) {
+            this.strand_ = value;
+		}
+	}
+});

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/7bb9e9a5/frameworks/js/FlexJS/src/org/apache/flex/html/beads/ImageView.js
----------------------------------------------------------------------
diff --git a/frameworks/js/FlexJS/src/org/apache/flex/html/beads/ImageView.js b/frameworks/js/FlexJS/src/org/apache/flex/html/beads/ImageView.js
index 888f6ff..c926cdb 100644
--- a/frameworks/js/FlexJS/src/org/apache/flex/html/beads/ImageView.js
+++ b/frameworks/js/FlexJS/src/org/apache/flex/html/beads/ImageView.js
@@ -37,20 +37,19 @@ org_apache_flex_html_beads_ImageView
                 qName: 'org_apache_flex_html_beads_ImageView'}] };
 
 
-/**
- * @expose
- * @param {Object} value The new host.
- */
-org_apache_flex_html_beads_ImageView.prototype.set_strand =
-    function(value) {
-
-  this.strand_ = value;
-
-  this.model = value.getBeadByType(
-      org_apache_flex_html_beads_models_ImageModel);
-  this.model.addEventListener('sourceChanged',
-      goog.bind(this.sourceChangeHandler, this));
-};
+Object.defineProperties(org_apache_flex_html_beads_ImageView.prototype, {
+    'strand': {
+        /** @this {org_apache_flex_html_beads_ImageView} */
+        set: function(value) {
+            this.strand_ = value;
+
+            this.model = value.getBeadByType(
+                org_apache_flex_html_beads_models_ImageModel);
+            this.model.addEventListener('sourceChanged',
+                goog.bind(this.sourceChangeHandler, this));
+		}
+	}
+});
 
 
 /**

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/7bb9e9a5/frameworks/js/FlexJS/src/org/apache/flex/html/beads/ListView.js
----------------------------------------------------------------------
diff --git a/frameworks/js/FlexJS/src/org/apache/flex/html/beads/ListView.js b/frameworks/js/FlexJS/src/org/apache/flex/html/beads/ListView.js
index 135a1ab..0d763b7 100644
--- a/frameworks/js/FlexJS/src/org/apache/flex/html/beads/ListView.js
+++ b/frameworks/js/FlexJS/src/org/apache/flex/html/beads/ListView.js
@@ -50,65 +50,54 @@ org_apache_flex_html_beads_ListView.prototype.
       interfaces: [org_apache_flex_html_beads_IListView, org_apache_flex_core_ILayoutParent] };
 
 
-/**
- * @expose
- * @param {Object} value The new host.
- */
-org_apache_flex_html_beads_ListView.prototype.set_strand =
-    function(value) {
-
-  this.strand_ = value;
-
-  this.strand_.addEventListener('sizeChanged',
-      goog.bind(this.handleSizeChange, this));
-  this.strand_.addEventListener('widthChanged',
-      goog.bind(this.handleSizeChange, this));
-  this.strand_.addEventListener('heightChanged',
-      goog.bind(this.handleSizeChange, this));
-
-  this.model = this.strand_.model;
-  this.model.addEventListener('selectedIndexChanged',
-      goog.bind(this.selectionChangeHandler, this));
-  this.model.addEventListener('dataProviderChanged',
-      goog.bind(this.dataProviderChangeHandler, this));
-
-  if (this.dataGroup_ == null) {
-    var m2 = org_apache_flex_core_ValuesManager.valuesImpl.
-        getValue(this.strand_, 'iDataGroup');
-    this.dataGroup_ = new m2();
-  }
-  this.dataGroup_.strand = this;
-  this.strand_.addElement(this.dataGroup_);
-
-  if (this.strand_.getBeadByType(org_apache_flex_core_IBeadLayout) == null) {
-    var m3 = org_apache_flex_core_ValuesManager.valuesImpl.getValue(this.strand_, 'iBeadLayout');
-    this.layout_ = new m3();
-    this.strand_.addBead(this.layout_);
-    //this.layout_.strand = this.strand_;
-  }
-
-  this.handleSizeChange(null);
-};
-
-
-/**
- * @expose
- * @return {Object} The DataGroup instance.
- */
-org_apache_flex_html_beads_ListView.prototype.get_dataGroup =
-    function() {
-  return this.dataGroup_;
-};
-
-
-/**
- * @expose
- * @param {Object} value The DataGroup instance.
- */
-org_apache_flex_html_beads_ListView.prototype.set_dataGroup =
-    function(value) {
-  this.dataGroup_ = value;
-};
+Object.defineProperties(org_apache_flex_html_beads_ListView.prototype, {
+    'strand': {
+        /** @this {org_apache_flex_html_beads_ListView} */
+        set: function(value) {
+			this.strand_ = value;
+		  
+			this.strand_.addEventListener('sizeChanged',
+				goog.bind(this.handleSizeChange, this));
+			this.strand_.addEventListener('widthChanged',
+				goog.bind(this.handleSizeChange, this));
+			this.strand_.addEventListener('heightChanged',
+				goog.bind(this.handleSizeChange, this));
+		  
+			this.model = this.strand_.model;
+			this.model.addEventListener('selectedIndexChanged',
+				goog.bind(this.selectionChangeHandler, this));
+			this.model.addEventListener('dataProviderChanged',
+				goog.bind(this.dataProviderChangeHandler, this));
+		  
+			if (this.dataGroup_ == null) {
+			  var m2 = org_apache_flex_core_ValuesManager.valuesImpl.
+				  getValue(this.strand_, 'iDataGroup');
+			  this.dataGroup_ = new m2();
+			}
+			this.dataGroup_.strand = this;
+			this.strand_.addElement(this.dataGroup_);
+		  
+			if (this.strand_.getBeadByType(org_apache_flex_core_IBeadLayout) == null) {
+			  var m3 = org_apache_flex_core_ValuesManager.valuesImpl.getValue(this.strand_, 'iBeadLayout');
+			  this.layout_ = new m3();
+			  this.strand_.addBead(this.layout_);
+			  //this.layout_.strand = this.strand_;
+			}
+		  
+			this.handleSizeChange(null);
+		}
+	},
+    'dataGroup': {
+        /** @this {org_apache_flex_html_beads_ListView} */
+        get: function() {
+            return this.dataGroup_;
+		},
+        /** @this {org_apache_flex_html_beads_ListView} */
+        set: function(value) {
+            this.dataGroup_ = value;
+		}
+	}
+});
 
 
 /**

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/7bb9e9a5/frameworks/js/FlexJS/src/org/apache/flex/html/beads/PanelView.js
----------------------------------------------------------------------
diff --git a/frameworks/js/FlexJS/src/org/apache/flex/html/beads/PanelView.js b/frameworks/js/FlexJS/src/org/apache/flex/html/beads/PanelView.js
index b921f67..4962de2 100644
--- a/frameworks/js/FlexJS/src/org/apache/flex/html/beads/PanelView.js
+++ b/frameworks/js/FlexJS/src/org/apache/flex/html/beads/PanelView.js
@@ -48,34 +48,42 @@ org_apache_flex_html_beads_PanelView
       interfaces: [org_apache_flex_core_IBeadView] };
 
 
-/**
- * @expose
- * @param {Object} value The new host.
- */
-org_apache_flex_html_beads_PanelView.prototype.set_strand =
-    function(value) {
-
-  this.strand_ = value;
-
-  if (!this.titleBar_)
-    this.titleBar_ = new org_apache_flex_html_TitleBar();
-
-  this.strand_.titleBar = this.titleBar_;
-  this.titleBar_.id = 'titleBar';
-  this.titleBar_.model = this.strand_.model;
-
-  this.strand_.controlBar =
-      new org_apache_flex_html_ControlBar();
-
-  this.strand_.addEventListener('childrenAdded',
-      goog.bind(this.changeHandler, this));
-
-  // listen for changes to the strand's model so items can be changed
-  // in the view
-  this.strand_.model.addEventListener('titleChange',
-      goog.bind(this.changeHandler, this));
-
-};
+Object.defineProperties(org_apache_flex_html_beads_PanelView.prototype, {
+    'strand': {
+        /** @this {org_apache_flex_html_beads_PanelView} */
+        set: function(value) {
+            this.strand_ = value;
+
+			if (!this.titleBar_)
+			  this.titleBar_ = new org_apache_flex_html_TitleBar();
+		  
+			this.strand_.titleBar = this.titleBar_;
+			this.titleBar_.id = 'titleBar';
+			this.titleBar_.model = this.strand_.model;
+		  
+			this.strand_.controlBar =
+				new org_apache_flex_html_ControlBar();
+		  
+			this.strand_.addEventListener('childrenAdded',
+				goog.bind(this.changeHandler, this));
+		  
+			// listen for changes to the strand's model so items can be changed
+			// in the view
+			this.strand_.model.addEventListener('titleChange',
+				goog.bind(this.changeHandler, this));
+		}
+	},
+    'titleBar': {
+        /** @this {org_apache_flex_html_beads_PanelView} */
+        get: function() {
+            return this.titleBar_;
+		},
+        /** @this {org_apache_flex_html_beads_PanelView} */
+		set: function(value) {
+            this.titleBar_ = value;
+		}
+	}
+});
 
 
 /**
@@ -117,23 +125,3 @@ org_apache_flex_html_beads_PanelView.prototype.changeHandler =
   }
   this.strand_.dispatchEvent('layoutNeeded');
 };
-
-
-/**
- * @expose
- * @return {Object} The titleBar getter.
- */
-org_apache_flex_html_beads_PanelView.prototype.get_titleBar =
-    function() {
-  return this.titleBar_;
-};
-
-
-/**
- * @expose
- * @param {Object} value The titleBar setter.
- */
-org_apache_flex_html_beads_PanelView.prototype.set_titleBar =
-    function(value) {
-  this.titleBar_ = value;
-};

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/7bb9e9a5/frameworks/js/FlexJS/src/org/apache/flex/html/beads/ScrollingContainerView.js
----------------------------------------------------------------------
diff --git a/frameworks/js/FlexJS/src/org/apache/flex/html/beads/ScrollingContainerView.js b/frameworks/js/FlexJS/src/org/apache/flex/html/beads/ScrollingContainerView.js
index abce5f8..ef3161a 100644
--- a/frameworks/js/FlexJS/src/org/apache/flex/html/beads/ScrollingContainerView.js
+++ b/frameworks/js/FlexJS/src/org/apache/flex/html/beads/ScrollingContainerView.js
@@ -45,56 +45,33 @@ org_apache_flex_html_beads_ScrollingContainerView.prototype.FLEXJS_CLASS_INFO =
     };
 
 
-/**
- * @expose
- * @return {Object} value The content view.
- */
-org_apache_flex_html_beads_ScrollingContainerView.prototype.get_contentView =
-    function() {
-
-  return this._strand;
-};
-
-
-/**
- * @expose
- * @return {Object} value The resizeable view.
- */
-org_apache_flex_html_beads_ScrollingContainerView.prototype.get_resizableView =
-function() {
-
-  return this._strand;
-};
-
-
-/**
- * @expose
- * @return {number} value The resizeable view.
- */
-org_apache_flex_html_beads_ScrollingContainerView.prototype.get_verticalScrollPosition =
-function() {
-
-  return this._strand.scrollTop;
-};
-
-
-/**
- * @expose
- * @param {number} value The resizeable view.
- */
-org_apache_flex_html_beads_ScrollingContainerView.prototype.set_verticalScrollPosition =
-function(value) {
-
-  this._strand.scrollTop = value;
-};
-
-
-/**
- * @expose
- * @return {number} value The resizeable view.
- */
-org_apache_flex_html_beads_ScrollingContainerView.prototype.get_maxVerticalScrollPosition =
-function() {
-
-  return this._strand.scrollHeight - this._strand.clientHeight;
-};
+Object.defineProperties(org_apache_flex_html_beads_ScrollingContainerView.prototype, {
+    'contentView': {
+        /** @this {org_apache_flex_html_beads_SliderThumbView} */
+        get: function() {
+            return this._strand;
+		}
+	},
+    'resizableView': {
+        /** @this {org_apache_flex_html_beads_SliderThumbView} */
+        get: function() {
+            return this._strand;
+		}
+	},
+    'verticalScrollPosition': {
+        /** @this {org_apache_flex_html_beads_SliderThumbView} */
+        get: function() {
+           return this._strand.scrollTop;
+		},
+        /** @this {org_apache_flex_html_beads_SliderThumbView} */
+		set: function(value) {
+           this._strand.scrollTop = value;
+		}
+	},
+    'maxVerticalScrollPosition':  {
+        /** @this {org_apache_flex_html_beads_SliderThumbView} */
+        get: function() {
+            return this._strand.scrollHeight - this._strand.clientHeight;
+		}
+	}
+});

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/7bb9e9a5/frameworks/js/FlexJS/src/org/apache/flex/html/beads/SliderThumbView.js
----------------------------------------------------------------------
diff --git a/frameworks/js/FlexJS/src/org/apache/flex/html/beads/SliderThumbView.js b/frameworks/js/FlexJS/src/org/apache/flex/html/beads/SliderThumbView.js
index 99c2def..96df74a 100644
--- a/frameworks/js/FlexJS/src/org/apache/flex/html/beads/SliderThumbView.js
+++ b/frameworks/js/FlexJS/src/org/apache/flex/html/beads/SliderThumbView.js
@@ -34,28 +34,28 @@ org_apache_flex_html_beads_SliderThumbView
                 qName: 'org_apache_flex_html_beads_SliderThumbView'}] };
 
 
-/**
- * @expose
- * @param {Object} value The strand.
- */
-org_apache_flex_html_beads_SliderThumbView.prototype.
-    set_strand = function(value) {
-  this.strand_ = value;
-
-  this.element = document.createElement('div');
-  this.element.className = 'SliderThumb';
-  this.element.id = 'thumb';
-  this.element.style.backgroundColor = '#949494';
-  this.element.style.border = 'thin solid #747474';
-  this.element.style.position = 'relative';
-  this.element.style.height = '30px';
-  this.element.style.width = '10px';
-  this.element.style.zIndex = '2';
-  this.element.style.top = '-10px';
-  this.element.style.left = '20px';
-
-  this.strand_.element.appendChild(this.element);
-
-  this.positioner = this.element;
-  this.element.flexjs_wrapper = this;
-};
+Object.defineProperties(org_apache_flex_html_beads_SliderThumbView.prototype, {
+    'strand': {
+        /** @this {org_apache_flex_html_beads_SliderThumbView} */
+        set: function(value) {
+			this.strand_ = value;
+		  
+			this.element = document.createElement('div');
+			this.element.className = 'SliderThumb';
+			this.element.id = 'thumb';
+			this.element.style.backgroundColor = '#949494';
+			this.element.style.border = 'thin solid #747474';
+			this.element.style.position = 'relative';
+			this.element.style.height = '30px';
+			this.element.style.width = '10px';
+			this.element.style.zIndex = '2';
+			this.element.style.top = '-10px';
+			this.element.style.left = '20px';
+		  
+			this.strand_.element.appendChild(this.element);
+		  
+			this.positioner = this.element;
+			this.element.flexjs_wrapper = this;
+		}
+	}
+});

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/7bb9e9a5/frameworks/js/FlexJS/src/org/apache/flex/html/beads/SliderTrackView.js
----------------------------------------------------------------------
diff --git a/frameworks/js/FlexJS/src/org/apache/flex/html/beads/SliderTrackView.js b/frameworks/js/FlexJS/src/org/apache/flex/html/beads/SliderTrackView.js
index faaa611..39479ec 100644
--- a/frameworks/js/FlexJS/src/org/apache/flex/html/beads/SliderTrackView.js
+++ b/frameworks/js/FlexJS/src/org/apache/flex/html/beads/SliderTrackView.js
@@ -34,28 +34,28 @@ org_apache_flex_html_beads_SliderTrackView
                 qName: 'org_apache_flex_html_beads_SliderTrackView'}] };
 
 
-/**
- * @expose
- * @param {Object} value The strand.
- */
-org_apache_flex_html_beads_SliderTrackView.prototype.
-    set_strand = function(value) {
-  this.strand_ = value;
-
-  this.element = document.createElement('div');
-  this.element.className = 'SliderTrack';
-  this.element.id = 'track';
-  this.element.style.backgroundColor = '#E4E4E4';
-  this.element.style.height = '10px';
-  this.element.style.width = '200px';
-  this.element.style.border = 'thin solid #C4C4C4';
-  this.element.style.position = 'relative';
-  this.element.style.left = '0px';
-  this.element.style.top = '10px';
-  this.element.style.zIndex = '1';
-
-  this.strand_.element.appendChild(this.element);
-
-  this.positioner = this.element;
-  this.element.flexjs_wrapper = this;
-};
+Object.defineProperties(org_apache_flex_html_beads_SliderTrackView.prototype, {
+    'strand': {
+        /** @this {org_apache_flex_html_beads_SliderTrackView} */
+        set: function(value) {
+            this.strand_ = value;
+
+            this.element = document.createElement('div');
+			this.element.className = 'SliderTrack';
+			this.element.id = 'track';
+			this.element.style.backgroundColor = '#E4E4E4';
+			this.element.style.height = '10px';
+			this.element.style.width = '200px';
+			this.element.style.border = 'thin solid #C4C4C4';
+			this.element.style.position = 'relative';
+			this.element.style.left = '0px';
+			this.element.style.top = '10px';
+			this.element.style.zIndex = '1';
+		  
+			this.strand_.element.appendChild(this.element);
+		  
+			this.positioner = this.element;
+			this.element.flexjs_wrapper = this;
+		}
+	}
+});

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/7bb9e9a5/frameworks/js/FlexJS/src/org/apache/flex/html/beads/TextInputWithBorderView.js
----------------------------------------------------------------------
diff --git a/frameworks/js/FlexJS/src/org/apache/flex/html/beads/TextInputWithBorderView.js b/frameworks/js/FlexJS/src/org/apache/flex/html/beads/TextInputWithBorderView.js
index e6ad132..c5b4af5 100644
--- a/frameworks/js/FlexJS/src/org/apache/flex/html/beads/TextInputWithBorderView.js
+++ b/frameworks/js/FlexJS/src/org/apache/flex/html/beads/TextInputWithBorderView.js
@@ -34,11 +34,11 @@ org_apache_flex_html_beads_TextInputWithBorderView
                 qName: 'org_apache_flex_html_beads_TextInputWithBorderView'}] };
 
 
-/**
- * @expose
- * @param {Object} value The strand.
- */
-org_apache_flex_html_beads_TextInputWithBorderView.prototype.
-    set_strand = function(value) {
-  this.strand_ = value;
-};
+Object.defineProperties(org_apache_flex_html_beads_TextInputWithBorderView.prototype, {
+    'strand': {
+        /** @this {org_apache_flex_html_beads_TextInputWithBorderView} */
+        set: function(value) {
+            this.strand_ = value;
+		}
+	}
+});

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/7bb9e9a5/frameworks/js/FlexJS/src/org/apache/flex/html/beads/layouts/ButtonBarLayout.js
----------------------------------------------------------------------
diff --git a/frameworks/js/FlexJS/src/org/apache/flex/html/beads/layouts/ButtonBarLayout.js b/frameworks/js/FlexJS/src/org/apache/flex/html/beads/layouts/ButtonBarLayout.js
index 20e8977..4adaa02 100644
--- a/frameworks/js/FlexJS/src/org/apache/flex/html/beads/layouts/ButtonBarLayout.js
+++ b/frameworks/js/FlexJS/src/org/apache/flex/html/beads/layouts/ButtonBarLayout.js
@@ -43,48 +43,37 @@ org_apache_flex_html_beads_layouts_ButtonBarLayout
       interfaces: [org_apache_flex_core_IBeadLayout] };
 
 
-/**
- * @expose
- * @param {Array} value A set of widths to use for each button (optional).
- */
-org_apache_flex_html_beads_layouts_ButtonBarLayout.prototype.set_buttonWidths =
-function(value) {
-  this.buttonWidths_ = value;
-};
-
-
-/**
- * @expose
- * @return {Array} A set of widths to use for each button.
- */
-org_apache_flex_html_beads_layouts_ButtonBarLayout.prototype.get_buttonWidths =
-function() {
-  return this.buttonWidths_;
-};
-
-
-/**
- * @expose
- * @param {Object} value The new host.
- */
-org_apache_flex_html_beads_layouts_ButtonBarLayout.
-    prototype.set_strand =
-    function(value) {
-  if (this.strand_ !== value) {
-    this.strand_ = value;
-    this.strand_.addEventListener('childrenAdded',
-        goog.bind(this.changeHandler, this));
-    this.strand_.addEventListener('itemsCreated',
-        goog.bind(this.changeHandler, this));
-    this.strand_.addEventListener('widthChanged',
-        goog.bind(this.changeHandler, this));
-    this.strand_.addEventListener('heightChanged',
-        goog.bind(this.changeHandler, this));
-    this.strand_.addEventListener('sizeChanged',
-        goog.bind(this.changeHandler, this));
-    this.strand_.element.style.display = 'block';
-  }
-};
+Object.defineProperties(org_apache_flex_html_beads_layouts_ButtonBarLayout.prototype, {
+    'strand': {
+        /** @this {org_apache_flex_html_beads_layouts_ButtonBarLayout} */
+        set: function(value) {
+			if (this.strand_ !== value) {
+			  this.strand_ = value;
+			  this.strand_.addEventListener('childrenAdded',
+				  goog.bind(this.changeHandler, this));
+			  this.strand_.addEventListener('itemsCreated',
+				  goog.bind(this.changeHandler, this));
+			  this.strand_.addEventListener('widthChanged',
+				  goog.bind(this.changeHandler, this));
+			  this.strand_.addEventListener('heightChanged',
+				  goog.bind(this.changeHandler, this));
+			  this.strand_.addEventListener('sizeChanged',
+				  goog.bind(this.changeHandler, this));
+			  this.strand_.element.style.display = 'block';
+			}
+		}
+	},
+    'buttonWidths': {
+        /** @this {org_apache_flex_html_beads_layouts_ButtonBarLayout} */
+        set: function(value) {
+            this.buttonWidths_ = value;
+		},
+        /** @this {org_apache_flex_html_beads_layouts_ButtonBarLayout} */
+        get: function() {
+            return this.buttonWidths_;
+		}
+	}
+});
 
 
 /**

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/7bb9e9a5/frameworks/js/FlexJS/src/org/apache/flex/html/beads/layouts/NonVirtualHorizontalLayout.js
----------------------------------------------------------------------
diff --git a/frameworks/js/FlexJS/src/org/apache/flex/html/beads/layouts/NonVirtualHorizontalLayout.js b/frameworks/js/FlexJS/src/org/apache/flex/html/beads/layouts/NonVirtualHorizontalLayout.js
index 984a62c..fa6a77b 100644
--- a/frameworks/js/FlexJS/src/org/apache/flex/html/beads/layouts/NonVirtualHorizontalLayout.js
+++ b/frameworks/js/FlexJS/src/org/apache/flex/html/beads/layouts/NonVirtualHorizontalLayout.js
@@ -41,33 +41,31 @@ org_apache_flex_html_beads_layouts_NonVirtualHorizontalLayout.
       interfaces: [org_apache_flex_core_IBeadLayout] };
 
 
-/**
- * @expose
-          NonVirtualHorizontalLayout}
- * @param {Object} value The new host.
- */
-org_apache_flex_html_beads_layouts_NonVirtualHorizontalLayout.
-    prototype.set_strand =
-    function(value) {
-  if (this.strand_ !== value) {
-    this.strand_ = value;
-    if (this.strand_.isWidthSizedToContent() &&
-        this.strand_.isHeightSizedToContent())
-      this.addOtherListeners();
-    else {
-      this.strand_.addEventListener('heightChanged',
-          goog.bind(this.changeHandler, this));
-      this.strand_.addEventListener('widthChanged',
-          goog.bind(this.changeHandler, this));
-      this.strand_.addEventListener('sizeChanged',
-          goog.bind(this.sizeChangeHandler, this));
-      if (!isNaN(this.strand_.explicitWidth) &&
-          !isNaN(this.strand_.explicitHeight))
-          this.addOtherListeners();
-    }
-    this.strand_.element.style.display = 'block';
-  }
-};
+Object.defineProperties(org_apache_flex_html_beads_layouts_NonVirtualHorizontalLayout.prototype, {
+    'strand': {
+        /** @this {org_apache_flex_html_beads_layouts_NonVirtualHorizontalLayout} */
+        set: function(value) {
+			if (this.strand_ !== value) {
+			  this.strand_ = value;
+			  if (this.strand_.isWidthSizedToContent() &&
+				  this.strand_.isHeightSizedToContent())
+				this.addOtherListeners();
+			  else {
+				this.strand_.addEventListener('heightChanged',
+					goog.bind(this.changeHandler, this));
+				this.strand_.addEventListener('widthChanged',
+					goog.bind(this.changeHandler, this));
+				this.strand_.addEventListener('sizeChanged',
+					goog.bind(this.sizeChangeHandler, this));
+				if (!isNaN(this.strand_.explicitWidth) &&
+					!isNaN(this.strand_.explicitHeight))
+					this.addOtherListeners();
+			  }
+			  this.strand_.element.style.display = 'block';
+			}
+		}
+	}
+});
 
 
 /**

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/7bb9e9a5/frameworks/js/FlexJS/src/org/apache/flex/html/beads/layouts/TileLayout.js
----------------------------------------------------------------------
diff --git a/frameworks/js/FlexJS/src/org/apache/flex/html/beads/layouts/TileLayout.js b/frameworks/js/FlexJS/src/org/apache/flex/html/beads/layouts/TileLayout.js
index fa05b7c..e27d77d 100644
--- a/frameworks/js/FlexJS/src/org/apache/flex/html/beads/layouts/TileLayout.js
+++ b/frameworks/js/FlexJS/src/org/apache/flex/html/beads/layouts/TileLayout.js
@@ -40,80 +40,50 @@ org_apache_flex_html_beads_layouts_TileLayout.prototype.FLEXJS_CLASS_INFO =
       interfaces: [org_apache_flex_core_IBeadLayout] };
 
 
-/**
- * @expose
- * @return {number} The number of columns wide for the layout.
- */
-org_apache_flex_html_beads_layouts_TileLayout.prototype.
-  get_numColumns = function() {
-  return this._numColumns;
-};
-
-
-/**
- * @expose
- * @param {number} value The number of columns wide for the layout.
- */
-org_apache_flex_html_beads_layouts_TileLayout.prototype.
-  set_numColumns = function(value) {
-  this._numColumns = value;
-};
-
-
-/**
- * @expose
- * @return {number} The width of each column in the layout.
- */
-org_apache_flex_html_beads_layouts_TileLayout.prototype.
-  get_columnWidth = function() {
-  return this._columnWidth;
-};
-
-
-/**
- * @expose
- * @param {number} value The width of each column in the layout.
- */
-org_apache_flex_html_beads_layouts_TileLayout.prototype.
-  set_columnWidth = function(value) {
-  this._columnWidth = value;
-};
-
-
-/**
- * @expose
- * @return {number} The height of each row of the layout.
- */
-org_apache_flex_html_beads_layouts_TileLayout.prototype.
-  get_rowHeight = function() {
-  return this._rowHeight;
-};
-
-
-/**
- * @expose
- * @param {number} value The height of each row of the Tile layout.
- */
-org_apache_flex_html_beads_layouts_TileLayout.prototype.
-  set_rowHeight = function(value) {
-  this._rowHeight = value;
-};
-
-
-/**
- * @expose
- * @param {Object} value The new host.
- */
-org_apache_flex_html_beads_layouts_TileLayout.prototype.
-  set_strand = function(value) {
-  if (this.strand_ !== value) {
-    this.strand_ = value;
-    this.strand_.addEventListener('childrenAdded',
-        goog.bind(this.changeHandler, this));
-    this.strand_.addEventListener('layoutNeeded',
-        goog.bind(this.changeHandler, this));
-  }
-};
+Object.defineProperties(org_apache_flex_html_beads_layouts_TileLayout.prototype, {
+    'strand': {
+        /** @this {org_apache_flex_html_beads_layouts_TileLayout} */
+        set: function(value) {
+            if (this.strand_ !== value) {
+              this.strand_ = value;
+              this.strand_.addEventListener('childrenAdded',
+                  goog.bind(this.changeHandler, this));
+              this.strand_.addEventListener('layoutNeeded',
+                  goog.bind(this.changeHandler, this));
+            }
+		}
+	},
+    'numColumns': {
+        /** @this {org_apache_flex_html_beads_layouts_TileLayout} */
+		get: function() {
+            return this._numColumns;
+		},
+        /** @this {org_apache_flex_html_beads_layouts_TileLayout} */
+        set: function(value) {
+            this._numColumns = value;
+		}
+	},
+    'columnWidth': {
+        /** @this {org_apache_flex_html_beads_layouts_TileLayout} */
+		get: function() {
+            return this._columnWidth;
+		},
+        /** @this {org_apache_flex_html_beads_layouts_TileLayout} */
+        set: function(value) {
+            this._columnWidth = value;
+		}
+	},
+    'rowHeight': {
+        /** @this {org_apache_flex_html_beads_layouts_TileLayout} */
+		get: function() {
+            return this._rowHeight;
+		},
+        /** @this {org_apache_flex_html_beads_layouts_TileLayout} */
+        set: function(value) {
+            this._rowHeight = value;
+		}
+	}
+});
 
 
 /**