flex-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From aha...@apache.org
Subject [19/21] move AS code into a projects/FlexJSUI
Date Mon, 18 Nov 2013 21:03:14 GMT
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/mx/binding/PropertyWatcher.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/mx/binding/PropertyWatcher.as b/frameworks/as/projects/FlexJSUI/src/mx/binding/PropertyWatcher.as
new file mode 100644
index 0000000..6bad414
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/mx/binding/PropertyWatcher.as
@@ -0,0 +1,148 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package mx.binding
+{
+
+[ExcludeClass]
+
+/**
+ * @private
+ * This class is used to satisfy old MXML codegen
+ * for both Falcon and MXML, but in FlexJS with mxml.children-as-data output
+ * it isn't needed so there is no JS equivalent
+ */
+public class PropertyWatcher extends Watcher
+{
+
+	//--------------------------------------------------------------------------
+	//
+	//  Constructor
+	//
+	//--------------------------------------------------------------------------
+
+    /**
+     *  Create a PropertyWatcher
+     *
+     *  @param prop The name of the property to watch.
+     *  @param event The event type that indicates the property has changed.
+     *  @param listeners The binding objects that are listening to this Watcher.
+     *  @param propertyGetter A helper function used to access non-public variables.
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public function PropertyWatcher(propertyName:String,
+                                    events:Object,
+                                    listeners:Array,
+                                    propertyGetter:Function = null)
+    {
+		super(listeners);
+
+    }
+
+	//--------------------------------------------------------------------------
+	//
+	//  Variables
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+     *  The parent object of this property.
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    private var parentObj:Object;
+
+    /**
+     *  The events that indicate the property has changed
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    protected var events:Object;
+
+    /**
+     *  Storage for the propertyGetter property.
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    protected var propertyGetter:Function;
+
+	//--------------------------------------------------------------------------
+	//
+	//  Properties
+	//
+	//--------------------------------------------------------------------------
+
+	//----------------------------------
+	//  propertyName
+	//----------------------------------
+
+	/**
+     *  Storage for the propertyName property.
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    private var _propertyName:String;
+    
+    /**
+     *  The name of the property this Watcher is watching.
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public function get propertyName():String
+    {
+        return _propertyName;
+    }
+
+	//----------------------------------
+	//  useRTTI
+	//----------------------------------
+
+    /**
+     *	If compiler can't determine bindability from static type,
+	 *  use RTTI on runtime values.
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    private var useRTTI:Boolean;
+
+}
+
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/mx/binding/RepeaterComponentWatcher.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/mx/binding/RepeaterComponentWatcher.as b/frameworks/as/projects/FlexJSUI/src/mx/binding/RepeaterComponentWatcher.as
new file mode 100644
index 0000000..b16f2ae
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/mx/binding/RepeaterComponentWatcher.as
@@ -0,0 +1,74 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package mx.binding
+{
+
+
+[ExcludeClass]
+
+/**
+ *  @private
+ */
+public class RepeaterComponentWatcher extends PropertyWatcher
+{
+
+	//--------------------------------------------------------------------------
+	//
+	//  Constructor
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  @private
+     *
+     *  Create a RepeaterComponentWatcher
+     *
+     *  @param prop The name of the property to watch.
+     *  @param event The event type that indicates the property has changed.
+     *  @param listeners The binding objects that are listening to this Watcher.
+     *  @param propertyGetter A helper function used to access non-public variables.
+	 */
+    public function RepeaterComponentWatcher(propertyName:String,
+                                             events:Object,
+                                             listeners:Array,
+                                             propertyGetter:Function = null)
+    {
+		super(propertyName, events, listeners, propertyGetter);
+    }
+
+	//--------------------------------------------------------------------------
+	//
+	//  Properties
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  @private
+	 */
+    private var clones:Array;
+
+	/**
+	 *  @private
+	 */
+    private var original:Boolean = true;
+
+}
+
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/mx/binding/RepeaterItemWatcher.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/mx/binding/RepeaterItemWatcher.as b/frameworks/as/projects/FlexJSUI/src/mx/binding/RepeaterItemWatcher.as
new file mode 100644
index 0000000..8d5e8e2
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/mx/binding/RepeaterItemWatcher.as
@@ -0,0 +1,74 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package mx.binding
+{
+
+[ExcludeClass]
+
+/**
+ * @private
+ * This class is used to satisfy old MXML codegen
+ * for both Falcon and MXML, but in FlexJS with mxml.children-as-data output
+ * it isn't needed so there is no JS equivalent
+ */
+public class RepeaterItemWatcher extends Watcher
+{
+
+	//--------------------------------------------------------------------------
+	//
+	//  Constructor
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  @private
+	 *  Constructor.
+	 */
+    public function RepeaterItemWatcher(dataProviderWatcher:PropertyWatcher)
+    {
+		super();
+
+        this.dataProviderWatcher = dataProviderWatcher;
+    }
+
+	//--------------------------------------------------------------------------
+	//
+	//  Properties
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  @private
+	 */
+    private var dataProviderWatcher:PropertyWatcher;
+
+	/**
+	 *  @private
+	 */
+    private var clones:Array;
+
+	/**
+	 *  @private
+	 */
+    private var original:Boolean = true;
+
+}
+
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/mx/binding/StaticPropertyWatcher.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/mx/binding/StaticPropertyWatcher.as b/frameworks/as/projects/FlexJSUI/src/mx/binding/StaticPropertyWatcher.as
new file mode 100644
index 0000000..726211a
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/mx/binding/StaticPropertyWatcher.as
@@ -0,0 +1,136 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package mx.binding
+{
+
+[ExcludeClass]
+
+/**
+ * @private
+ * This class is used to satisfy old MXML codegen
+ * for both Falcon and MXML, but in FlexJS with mxml.children-as-data output
+ * it isn't needed so there is no JS equivalent
+ */
+public class StaticPropertyWatcher extends Watcher
+{
+
+    //--------------------------------------------------------------------------
+    //
+    //  Constructor
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Create a StaticPropertyWatcher
+     *
+     *  @param prop The name of the static property to watch.
+     *  @param event The event type that indicates the static property has changed.
+     *  @param listeners The binding objects that are listening to this Watcher.
+     *  @param propertyGetter A helper function used to access non-public variables.
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public function StaticPropertyWatcher(propertyName:String,
+                                          events:Object,
+                                          listeners:Array,
+                                          propertyGetter:Function = null)
+    {
+        super(listeners);
+
+        _propertyName = propertyName;
+        this.events = events;
+        this.propertyGetter = propertyGetter;
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Variables
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  The parent class of this static property.
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    private var parentObj:Class;
+
+    /**
+     *  The events that indicate the static property has changed
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    protected var events:Object;
+
+    /**
+     *  Storage for the propertyGetter property.
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    private var propertyGetter:Function;
+
+    //--------------------------------------------------------------------------
+    //
+    //  Properties
+    //
+    //--------------------------------------------------------------------------
+
+    //----------------------------------
+    //  propertyName
+    //----------------------------------
+
+    /**
+     *  Storage for the propertyName property.
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    private var _propertyName:String;
+
+    /**
+     *  The name of the property this Watcher is watching.
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public function get propertyName():String
+    {
+        return _propertyName;
+    }
+
+}
+
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/mx/binding/Watcher.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/mx/binding/Watcher.as b/frameworks/as/projects/FlexJSUI/src/mx/binding/Watcher.as
new file mode 100644
index 0000000..39df030
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/mx/binding/Watcher.as
@@ -0,0 +1,88 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package mx.binding
+{
+
+[ExcludeClass]
+
+/**
+ * @private
+ * This class is used to satisfy old MXML codegen
+ * for both Falcon and MXML, but in FlexJS with mxml.children-as-data output
+ * it isn't needed so there is no JS equivalent
+ */
+public class Watcher
+{
+
+	//--------------------------------------------------------------------------
+	//
+	//  Constructor
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  Constructor.
+	 *  
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
+	 */
+    public function Watcher(listeners:Array = null)
+    {
+		super();
+
+        this.listeners = listeners;
+    }
+
+	//--------------------------------------------------------------------------
+	//
+	//  Variables
+	//
+	//--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     *  The binding objects that are listening to this Watcher.
+     *  The standard event mechanism isn't used because it's too heavyweight.
+     */
+    protected var listeners:Array;
+
+    /**
+     *  @private
+     *  Children of this watcher are watching sub values.
+     */
+    protected var children:Array;
+
+    /**
+     *  @private
+     *  The value itself.
+     */
+    public var value:Object;
+
+    /**
+     *  @private
+     *  Keep track of cloning when used in Repeaters.
+     */
+    protected var cloneIndex:int;
+
+}
+
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/mx/binding/XMLWatcher.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/mx/binding/XMLWatcher.as b/frameworks/as/projects/FlexJSUI/src/mx/binding/XMLWatcher.as
new file mode 100644
index 0000000..b324638
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/mx/binding/XMLWatcher.as
@@ -0,0 +1,106 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package mx.binding 
+{
+
+[ExcludeClass]
+
+/**
+ * @private
+ * This class is used to satisfy old MXML codegen
+ * for both Falcon and MXML, but in FlexJS with mxml.children-as-data output
+ * it isn't needed so there is no JS equivalent
+ */
+public class XMLWatcher extends Watcher
+{
+
+	//--------------------------------------------------------------------------
+	//
+	//  Constructor
+	//
+	//--------------------------------------------------------------------------
+
+    /**
+	 *  Constructor.
+	 *  
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
+	 */
+	public function XMLWatcher(propertyName:String, listeners:Array)
+    {
+		super(listeners);
+
+        _propertyName = propertyName;
+    }
+
+	//--------------------------------------------------------------------------
+	//
+	//  Variables
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+     *  The parent object of this property.
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    private var parentObj:Object;
+
+	//--------------------------------------------------------------------------
+	//
+	//  Properties
+	//
+	//--------------------------------------------------------------------------
+
+	//----------------------------------
+	//  propertyName
+	//----------------------------------
+
+	/**
+     *  Storage for the propertyName property.
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    private var _propertyName:String;
+
+    /**
+     *  The name of the property this Watcher is watching.
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public function get propertyName():String
+    {
+        return _propertyName;
+    }
+
+}
+
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/mx/core/ClassFactory.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/mx/core/ClassFactory.as b/frameworks/as/projects/FlexJSUI/src/mx/core/ClassFactory.as
new file mode 100644
index 0000000..8ca4e79
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/mx/core/ClassFactory.as
@@ -0,0 +1,100 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package mx.core
+{
+/**
+ * @private
+ * This class is used to satisfy old MXML codegen
+ * for both Falcon and MXML, but in FlexJS with mxml.children-as-data output
+ * it isn't needed so there is no JS equivalent
+ */
+public class ClassFactory implements IFactory
+{
+
+	//--------------------------------------------------------------------------
+	//
+	//  Constructor
+	//
+	//--------------------------------------------------------------------------
+
+    /**
+     *  Constructor.
+     *
+     *  @param generator The Class that the <code>newInstance()</code> method uses
+	 *  to generate objects from this factory object.
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public function ClassFactory(generator:Class = null)
+    {
+		super();
+    }
+
+	//--------------------------------------------------------------------------
+	//
+	//  Properties
+	//
+	//--------------------------------------------------------------------------
+
+	//----------------------------------
+	//  generator
+	//----------------------------------
+
+    /**
+     *  The Class that the <code>newInstance()</code> method uses
+	 *  to generate objects from this factory object.
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public var generator:Class;
+
+	//----------------------------------
+	//  properties
+	//----------------------------------
+
+	/**
+	 *	An Object whose name/value pairs specify the properties to be set
+	 *  on each object generated by the <code>newInstance()</code> method.
+	 *
+	 *  <p>For example, if you set <code>properties</code> to
+	 *  <code>{ text: "Hello", width: 100 }</code>, then every instance
+	 *  of the <code>generator</code> class that is generated by calling
+	 *  <code>newInstance()</code> will have its <code>text</code> set to
+	 *  <code>"Hello"</code> and its <code>width</code> set to
+	 *  <code>100</code>.</p>
+	 *
+	 *  @default null
+	 *  
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
+	 */
+	public var properties:Object = null;
+
+}
+
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/mx/core/DeferredInstanceFromClass.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/mx/core/DeferredInstanceFromClass.as b/frameworks/as/projects/FlexJSUI/src/mx/core/DeferredInstanceFromClass.as
new file mode 100644
index 0000000..9893d34
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/mx/core/DeferredInstanceFromClass.as
@@ -0,0 +1,115 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package mx.core
+{
+
+/**
+ * @private
+ * This class is used to satisfy old MXML codegen
+ * for both Falcon and MXML, but in FlexJS with mxml.children-as-data output
+ * it isn't needed so there is no JS equivalent
+ */
+public class DeferredInstanceFromClass
+{
+    //--------------------------------------------------------------------------
+    //
+    //  Constructor
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Constructor.
+     *
+     *  @param generator The class whose instance the <code>getInstance()</code>
+     *  method creates and returns.
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public function DeferredInstanceFromClass(generator:Class)
+    {
+        super();
+
+        this.generator = generator;
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Variables
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     *  The generator class.
+     */
+    private var generator:Class;
+
+    /**
+     *  @private
+     *  The generated value.
+     */
+    private var instance:Object = null;
+
+    //--------------------------------------------------------------------------
+    //
+    //  Methods
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Creates and returns an instance of the class specified in the
+     *  DeferredInstanceFromClass constructor, if it does not yet exist;
+     *  otherwise, returns the already-created class instance.
+     *
+     *  @return An instance of the class specified in the
+     *  DeferredInstanceFromClass constructor.
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public function getInstance():Object
+    {
+        if (!instance)
+            instance = new generator();
+
+        return instance;
+    }
+    
+    /**
+     *  Resets the state of our factory to the initial, uninitialized state.
+     *  The reference to our cached instance is cleared.
+     * 
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 4
+     */
+    public function reset():void
+    {
+        instance = null;
+    }
+}
+
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/mx/core/DeferredInstanceFromFunction.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/mx/core/DeferredInstanceFromFunction.as b/frameworks/as/projects/FlexJSUI/src/mx/core/DeferredInstanceFromFunction.as
new file mode 100644
index 0000000..b93a277
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/mx/core/DeferredInstanceFromFunction.as
@@ -0,0 +1,131 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package mx.core
+{
+
+/**
+ * @private
+ * This class is used to satisfy old MXML codegen
+ * for both Falcon and MXML, but in FlexJS with mxml.children-as-data output
+ * it isn't needed so there is no JS equivalent
+ */
+public class DeferredInstanceFromFunction
+{
+
+    //--------------------------------------------------------------------------
+    //
+    //  Constructor
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Constructor.
+     *
+     *  @param generator A function that creates and returns an instance
+     *  of the required object.
+     *
+     *  @param destructor An optional function used to cleanup outstanding
+     *  references when <code>reset()</code> is called.
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public function DeferredInstanceFromFunction(generator:Function,
+        destructor:Function = null )
+    {
+        super();
+
+        this.generator = generator;
+        this.destructor = destructor;
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Variables
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     *  The generator function.
+     */
+    private var generator:Function;
+
+    /**
+     *  @private
+     *  The generated value.
+     */
+    private var instance:Object = null;
+
+    /**
+     *  @private
+     *  An optional function used to cleanup outstanding
+     *  references when reset() is invoked
+     */
+    private var destructor:Function;
+
+    //--------------------------------------------------------------------------
+    //
+    //  Methods
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Returns a reference to an instance of the desired object.
+     *  If no instance of the required object exists, calls the function
+     *  specified in this class' <code>generator</code> constructor parameter.
+     * 
+     *  @return An instance of the object.
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public function getInstance():Object
+    {
+        if (!instance)
+            instance = generator();
+
+        return instance;
+    }
+    
+    /**
+     *  Resets the state of our factory to the initial, uninitialized state.
+     *  The reference to our cached instance is cleared.
+     * 
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 4
+     */
+    public function reset():void
+    {
+        instance = null;
+        
+        if (destructor != null)
+            destructor();
+    }
+
+}
+
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/mx/core/IDeferredInstance.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/mx/core/IDeferredInstance.as b/frameworks/as/projects/FlexJSUI/src/mx/core/IDeferredInstance.as
new file mode 100644
index 0000000..e3ac094
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/mx/core/IDeferredInstance.as
@@ -0,0 +1,51 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package mx.core
+{
+
+/**
+ * @private
+ * This class is used to satisfy old MXML codegen
+ * for both Falcon and MXML, but in FlexJS with mxml.children-as-data output
+ * it isn't needed so there is no JS equivalent
+ */
+public interface IDeferredInstance
+{
+    //--------------------------------------------------------------------------
+    //
+    //  Methods
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Creates an instance Object from a class or function,
+     *  if the instance does not yet exist.
+     *  
+     *  @return The instance Object.
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    function getInstance():Object;
+}
+
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/mx/core/IFactory.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/mx/core/IFactory.as b/frameworks/as/projects/FlexJSUI/src/mx/core/IFactory.as
new file mode 100644
index 0000000..205200b
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/mx/core/IFactory.as
@@ -0,0 +1,39 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package mx.core
+{
+
+/**
+ * @private
+ * This class is used to satisfy old MXML codegen
+ * for both Falcon and MXML, but in FlexJS with mxml.children-as-data output
+ * it isn't needed so there is no JS equivalent
+ */
+public interface IFactory
+{
+	//--------------------------------------------------------------------------
+	//
+	//  Methods
+	//
+	//--------------------------------------------------------------------------
+
+}
+
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/mx/core/IFlexModuleFactory.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/mx/core/IFlexModuleFactory.as b/frameworks/as/projects/FlexJSUI/src/mx/core/IFlexModuleFactory.as
new file mode 100644
index 0000000..536c92a
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/mx/core/IFlexModuleFactory.as
@@ -0,0 +1,147 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package mx.core
+{
+
+/**
+ * @private
+ * This class is used to satisfy old MXML codegen
+ * for both Falcon and MXML, but in FlexJS with mxml.children-as-data output
+ * it isn't needed so there is no JS equivalent
+ */
+public interface IFlexModuleFactory
+{
+
+    
+    /**
+     *  Calls the <code>Security.allowDomain()</code> method for the SWF 
+     *  associated with this IFlexModuleFactory plus all the SWFs associated
+     *  with RSLs preloaded by this IFlexModuleFactory. RSLs loaded after this
+     *  call will, by default, allow the same domains as have been allowed by
+     *  previous calls to this method. This behavior is controlled by the <code>
+     *  allowDomainsInNewRSLs</code> property.
+     *
+     *  @param domains One or more strings or URLRequest objects that name 
+     *  the domains from which you want to allow access. 
+     *  You can specify the special domain "&#42;" to allow access from all domains. 
+     *
+     *  @see flash.system.Security#allowDomain()
+     * 
+     *  @langversion 3.0
+     *  @playerversion Flash 10.2
+     *  @playerversion AIR 2.6
+     *  @productversion Flex 4.5
+     */  
+    function allowDomain(... domains):void;
+    
+    /**
+     *  Calls the <code>Security.allowInsecureDomain()</code> method for the 
+     *  SWF associated with this IFlexModuleFactory
+     *  plus all the SWFs associated with RSLs preloaded by this 
+     *  IFlexModuleFactory. RSLs loaded after this call will, by default, 
+     *  allow the same domains as have been allowed by
+     *  previous calls to this method. This behavior is controlled by the <code>
+     *  allowInsecureDomainsInNewRSLs</code> property.
+     *
+     *  @param domains One or more strings or URLRequest objects that name 
+     *  the domains from which you want to allow access. 
+     *  You can specify the special domain "&#42;" to allow access from all domains. 
+     *
+     *  @see flash.system.Security#allowInsecureDomain()
+     * 
+     *  @langversion 3.0
+     *  @playerversion Flash 10.2
+     *  @playerversion AIR 2.6
+     *  @productversion Flex 4.5
+     */  
+    function allowInsecureDomain(... domains):void;
+    
+    /**
+     *  A way to call a method in this IFlexModuleFactory's context
+     *
+     *  @param fn The function or method to call.
+     *  @param thisArg The <code>this</code> pointer for the function.
+     *  @param argArray The arguments for the function.
+     *  @param returns If <code>true</code>, the function returns a value.
+     *
+     *  @return Whatever the function returns, if anything.
+     *  
+     *  @see Function.apply
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 3
+     */
+    function callInContext(fn:Function, thisArg:Object,
+                           argArray:Array, returns:Boolean = true):*;
+    
+    /**
+     *  A factory method that requests
+     *  an instance of a definition known to the module.
+     *
+     *  <p>You can provide an optional set of parameters to let
+     *  building factories change what they create based
+     *  on the input.
+     *  Passing <code>null</code> indicates that the default
+     *  definition is created, if possible.</p>
+     *
+     *  @param parameters An optional list of arguments. You can pass any number
+     *  of arguments, which are then stored in an Array called <code>parameters</code>.
+     *
+     *  @return An instance of the module, or <code>null</code>.
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    function create(... parameters):Object;
+    
+    /**
+     *  Returns a block of key/value pairs
+     *  that hold static data known to the module.
+     *  This method always succeeds, but can return an empty object.
+     *
+     *  @return An object containing key/value pairs. Typically, this object
+     *  contains information about the module or modules created by this 
+     *  factory; for example:
+     * 
+     *  <pre>
+     *  return {"description": "This module returns 42."};
+     *  </pre>
+     *  
+     *  Other common values in the returned object include the following:
+     *  <ul>
+     *   <li><code>fonts</code>: A list of embedded font faces.</li>
+     *   <li><code>rsls</code>: A list of run-time shared libraries.</li>
+     *   <li><code>mixins</code>: A list of classes initialized at startup.</li>
+     *  </ul>
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    function info():Object;
+    
+}
+
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/mx/core/IPropertyChangeNotifier.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/mx/core/IPropertyChangeNotifier.as b/frameworks/as/projects/FlexJSUI/src/mx/core/IPropertyChangeNotifier.as
new file mode 100644
index 0000000..39d86ed
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/mx/core/IPropertyChangeNotifier.as
@@ -0,0 +1,40 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package mx.core
+{
+
+/**
+ * @private
+ * This class is used to satisfy old MXML codegen
+ * for both Falcon and MXML, but in FlexJS with mxml.children-as-data output
+ * it isn't needed so there is no JS equivalent
+ */
+public interface IPropertyChangeNotifier
+{
+    //--------------------------------------------------------------------------
+    //
+    //  Properties
+    //
+    //--------------------------------------------------------------------------
+
+	// Inherits uid property from IUID
+}
+
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/mx/core/IStateClient2.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/mx/core/IStateClient2.as b/frameworks/as/projects/FlexJSUI/src/mx/core/IStateClient2.as
new file mode 100644
index 0000000..ae21531
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/mx/core/IStateClient2.as
@@ -0,0 +1,31 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+/**
+ * @private
+ * shim the mx classes for states.  This class is used to satisfy old MXML codegen
+ * for both Falcon and MXML, but in FlexJS with mxml.children-as-data output
+ * it isn't needed so there is no JS equivalent
+ */
+package mx.core
+{
+	public interface IStateClient2
+	{
+ 	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/mx/events/PropertyChangeEvent.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/mx/events/PropertyChangeEvent.as b/frameworks/as/projects/FlexJSUI/src/mx/events/PropertyChangeEvent.as
new file mode 100644
index 0000000..dcb2996
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/mx/events/PropertyChangeEvent.as
@@ -0,0 +1,78 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package mx.events
+{
+
+import flash.events.Event;
+import mx.events.PropertyChangeEventKind;
+
+/**
+ * @private
+ * This class is used to satisfy old MXML codegen
+ * for both Falcon and MXML, but in FlexJS with mxml.children-as-data output
+ * it isn't needed so there is no JS equivalent
+ */
+public class PropertyChangeEvent extends Event
+{
+
+    //--------------------------------------------------------------------------
+    //
+    //  Class constants
+    //
+    //--------------------------------------------------------------------------
+
+    public static const PROPERTY_CHANGE:String = "propertyChange";
+
+    //--------------------------------------------------------------------------
+    //
+    //  Class methods
+    //
+    //--------------------------------------------------------------------------
+
+    public static function createUpdateEvent(
+                                    source:Object,
+                                    property:Object,
+                                    oldValue:Object,
+                                    newValue:Object):PropertyChangeEvent
+    {
+        return null;
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Constructor
+    //
+    //--------------------------------------------------------------------------
+
+
+    public function PropertyChangeEvent(type:String, bubbles:Boolean = false,
+                                        cancelable:Boolean = false,
+                                        kind:String = null,
+                                        property:Object = null, 
+                                        oldValue:Object = null,
+                                        newValue:Object = null,
+                                        source:Object = null)
+    {
+        super(type, bubbles, cancelable);
+    }
+
+}
+
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/mx/events/PropertyChangeEventKind.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/mx/events/PropertyChangeEventKind.as b/frameworks/as/projects/FlexJSUI/src/mx/events/PropertyChangeEventKind.as
new file mode 100644
index 0000000..3c7d321
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/mx/events/PropertyChangeEventKind.as
@@ -0,0 +1,59 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package mx.events
+{
+
+/**
+ * @private
+ * This class is used to satisfy old MXML codegen
+ * for both Falcon and MXML, but in FlexJS with mxml.children-as-data output
+ * it isn't needed so there is no JS equivalent
+ */
+public final class PropertyChangeEventKind
+{
+
+	//--------------------------------------------------------------------------
+	//
+	//  Class constants
+	//
+	//--------------------------------------------------------------------------
+
+    /**
+	 *  Indicates that the value of the property changed.
+	 *  
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
+	 */
+	public static const UPDATE:String = "update";
+
+    /**
+	 *  Indicates that the property was deleted from the object.
+	 *  
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
+	 */
+	public static const DELETE:String = "delete";
+}
+
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/mx/filters/IBitmapFilter.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/mx/filters/IBitmapFilter.as b/frameworks/as/projects/FlexJSUI/src/mx/filters/IBitmapFilter.as
new file mode 100644
index 0000000..efe40a9
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/mx/filters/IBitmapFilter.as
@@ -0,0 +1,31 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+/**
+ * @private
+ * This class is used to satisfy old MXML codegen
+ * for both Falcon and MXML, but in FlexJS with mxml.children-as-data output
+ * it isn't needed so there is no JS equivalent
+ */
+package mx.filters
+{
+	public interface IBitmapFilter
+	{
+ 	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/mx/states/AddItems.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/mx/states/AddItems.as b/frameworks/as/projects/FlexJSUI/src/mx/states/AddItems.as
new file mode 100644
index 0000000..a2821a4
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/mx/states/AddItems.as
@@ -0,0 +1,67 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+// shim the mx classes for states.  Be careful about updates to the main SDK's
+// version as that will move the timestamp ahead of this one and then it will
+// take precedence over this one at link time.
+package mx.states
+{
+    import org.apache.flex.core.IDocument;
+    
+	public class AddItems implements IDocument
+	{
+		public function AddItems()
+		{
+			super();
+		}
+		
+        public var items:Array;
+        
+		public var itemsDescriptor:Array;     
+
+        public var destination:String;
+        
+        public var propertyName:String;
+        
+        public var position:String;
+        
+        public var relativeTo:String;
+        
+        public var document:Object;
+        
+        public function setDocument(document:Object, id:String = null):void
+        {
+            this.document = document;
+        }
+        
+        /**
+         * @private 
+         * Initialize this object from a descriptor.
+         */
+        public function initializeFromObject(properties:Object):Object
+        {
+            for (var p:String in properties)
+            {
+                this[p] = properties[p];
+            }
+            
+            return Object(this);
+        }
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/mx/states/SetProperty.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/mx/states/SetProperty.as b/frameworks/as/projects/FlexJSUI/src/mx/states/SetProperty.as
new file mode 100644
index 0000000..78e0a73
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/mx/states/SetProperty.as
@@ -0,0 +1,60 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+// shim the mx classes for states
+package mx.states
+{
+    import org.apache.flex.core.IDocument;
+    
+	public class SetProperty implements IDocument
+	{
+		public function SetProperty()
+		{
+			super();
+		}
+		
+        public var target:String;
+        
+        public var name:String;
+        
+        public var value:*;
+
+        public var previousValue:*;
+        
+        public var document:Object;
+        
+        public function setDocument(document:Object, id:String = null):void
+        {
+            this.document = document;
+        }
+        
+        /**
+         * @private 
+         * Initialize this object from a descriptor.
+         */
+        public function initializeFromObject(properties:Object):Object
+        {
+            for (var p:String in properties)
+            {
+                this[p] = properties[p];
+            }
+            
+            return Object(this);
+        }
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/mx/states/State.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/mx/states/State.as b/frameworks/as/projects/FlexJSUI/src/mx/states/State.as
new file mode 100644
index 0000000..3a38d54
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/mx/states/State.as
@@ -0,0 +1,34 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+// shim the mx classes for states
+package mx.states
+{
+	public class State
+	{
+		public function State(properties:Object = null)
+		{
+			super();
+		}
+		
+		public var name:String;
+        
+        public var overrides:Array;
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/mx/styles/CSSCondition.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/mx/styles/CSSCondition.as b/frameworks/as/projects/FlexJSUI/src/mx/styles/CSSCondition.as
new file mode 100644
index 0000000..82052ff
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/mx/styles/CSSCondition.as
@@ -0,0 +1,61 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package mx.styles
+{
+
+/**
+ * @private
+ * This class is used to satisfy old MXML codegen
+ * for both Falcon and MXML, but in FlexJS with mxml.children-as-data output
+ * it isn't needed so there is no JS equivalent
+ */
+public class CSSCondition
+{
+    //--------------------------------------------------------------------------
+    //
+    //  Constructor
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Constructor.
+     * 
+     *  @param kind The kind of condition. For valid values see the
+     *  CSSConditionKind enumeration.
+     *  @param value The condition value (without CSS syntax).
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */ 
+    public function CSSCondition(kind:String, value:String)
+    {
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Properties
+    //
+    //--------------------------------------------------------------------------
+
+}
+
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/mx/styles/CSSSelector.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/mx/styles/CSSSelector.as b/frameworks/as/projects/FlexJSUI/src/mx/styles/CSSSelector.as
new file mode 100644
index 0000000..dd0ada2
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/mx/styles/CSSSelector.as
@@ -0,0 +1,69 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package mx.styles
+{
+
+/**
+ * @private
+ * This class is used to satisfy old MXML codegen
+ * for both Falcon and MXML, but in FlexJS with mxml.children-as-data output
+ * it isn't needed so there is no JS equivalent
+ */
+public class CSSSelector
+{
+    //--------------------------------------------------------------------------
+    //
+    //  Constructor
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Constructor.
+     * 
+     *  @param subject The plain representation of this selector without
+     *  conditions or ancestors. This is typically a fully-qualified class name; for example,
+     *  "spark.components.Button". You can use "*" to match all components or "global" for a global selector.
+     *  
+     *  @param conditions  An optional Array of objects of type CSSCondition that is used to match a
+     *  subset of component instances. Currently only a single or a pair of
+     *  conditions are supported.
+     * 
+     *  @param ancestor An optional selector to match on a component that
+     *  descends from an arbitrary ancestor.
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    public function CSSSelector(subject:String,
+            conditions:Array=null, ancestor:CSSSelector=null)
+    {
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Properties
+    //
+    //--------------------------------------------------------------------------
+
+}
+
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/mx/styles/CSSStyleDeclaration.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/mx/styles/CSSStyleDeclaration.as b/frameworks/as/projects/FlexJSUI/src/mx/styles/CSSStyleDeclaration.as
new file mode 100644
index 0000000..238504f
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/mx/styles/CSSStyleDeclaration.as
@@ -0,0 +1,191 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package mx.styles
+{
+    
+/**
+ * @private
+ * This class is used to satisfy old MXML codegen
+ * for both Falcon and MXML, but in FlexJS with mxml.children-as-data output
+ * it isn't needed so there is no JS equivalent
+ */
+public class CSSStyleDeclaration
+{
+        
+    //--------------------------------------------------------------------------
+    //
+    //  Constructor
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Constructor.
+     *
+     *  @param selector - If the selector is a CSSSelector then advanced
+     *  CSS selectors are supported. If a String is used for the selector then
+     *  only simple CSS selectors are supported. If the String starts with a
+     *  dot it is interpreted as a universal class selector, otherwise it must
+     *  represent a simple type selector. If not null, this CSSStyleDeclaration
+     *  will be registered with StyleManager. 
+     *  
+     *  @param styleManager - The style manager to set this declaration into. If the
+     *  styleManager is null the top-level style manager will be used.
+     * 
+     *  @param autoRegisterWithStyleManager - If true set the selector in the styleManager. The selector
+     *  will only be set if both <code>selector</code> and <code>styleManager</code> are
+     *  both non-null.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public function CSSStyleDeclaration(selector:Object=null, styleManager:IStyleManager2=null, autoRegisterWithStyleManager:Boolean = true)
+    {
+    }
+    
+    /**
+     *  This function, if it isn't <code>null</code>,
+     *  is usually autogenerated by the MXML compiler.
+     *  It produce copies of a plain Object, such as
+     *  <code>{ leftMargin: 10, rightMargin: 10 }</code>,
+     *  containing name/value pairs for style properties; the object is used
+     *  to build a node of the prototype chain for looking up style properties.
+     *
+     *  <p>If this CSSStyleDeclaration is owned by a UIComponent
+     *  written in MXML, this function encodes the style attributes
+     *  that were specified on the root tag of the component definition.</p>
+     *
+     *  <p>If the UIComponent was written in ActionScript,
+     *  this property is <code>null</code>.</p>
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public function get defaultFactory():Function
+    {
+        return null;
+    }
+    
+    /**
+     *  @private
+     */ 
+    public function set defaultFactory(f:Function):void
+    {
+    }
+    
+    //----------------------------------
+    //  factory
+    //----------------------------------
+    
+    private var _factory:Function;
+    
+    [Inspectable(environment="none")]
+    
+    /**
+     *  This function, if it isn't <code>null</code>,
+     *  is usually autogenerated by the MXML compiler.
+     *  It produce copies of a plain Object, such as
+     *  <code>{ leftMargin: 10, rightMargin: 10 }</code>,
+     *  containing name/value pairs for style properties; the object is used
+     *  to build a node of the prototype chain for looking up style properties.
+     *
+     *  <p>If this CSSStyleDeclaration is owned by a UIComponent,
+     *  this function encodes the style attributes that were specified in MXML
+     *  for an instance of that component.</p>
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public function get factory():Function
+    {
+        return _factory;
+    }
+    
+    /**
+     *  @private
+     */ 
+    public function set factory(f:Function):void
+    {
+        _factory = f;
+    }
+    
+    //----------------------------------
+    //  overrides
+    //----------------------------------
+    
+    private var _overrides:Object;
+    
+    /**
+     *  If the <code>setStyle()</code> method is called on a UIComponent or CSSStyleDeclaration
+     *  at run time, this object stores the name/value pairs that were set;
+     *  they override the name/value pairs in the objects produced by
+     *  the  methods specified by the <code>defaultFactory</code> and 
+     *  <code>factory</code> properties.
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public function get overrides():Object
+    {
+        return _overrides;
+    }
+    
+    /**
+     *  @private
+     */ 
+    public function set overrides(o:Object):void
+    {
+        _overrides = o;
+    }
+    
+    //----------------------------------
+    //  selector
+    //----------------------------------
+    
+    private var _selector:CSSSelector;
+    
+    /**
+     *  This property is the base selector of a potential chain of selectors
+     *  and conditions that are used to match CSS style declarations to
+     *  components.
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    public function get selector():CSSSelector
+    {
+        return _selector; 
+    }
+    
+    public function set selector(value:CSSSelector):void
+    {
+    }
+}
+
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/mx/styles/IStyleManager2.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/mx/styles/IStyleManager2.as b/frameworks/as/projects/FlexJSUI/src/mx/styles/IStyleManager2.as
new file mode 100644
index 0000000..b8cb6f4
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/mx/styles/IStyleManager2.as
@@ -0,0 +1,34 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package mx.styles
+{
+
+/**
+ * @private
+ * This class is used to satisfy old MXML codegen
+ * for both Falcon and MXML, but in FlexJS with mxml.children-as-data output
+ * it isn't needed so there is no JS equivalent
+ */
+public interface IStyleManager2
+{
+    function getStyleDeclaration(selector:String):CSSStyleDeclaration;
+}
+
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/mx/styles/StyleManager.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/mx/styles/StyleManager.as b/frameworks/as/projects/FlexJSUI/src/mx/styles/StyleManager.as
new file mode 100644
index 0000000..c54d9d2
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/mx/styles/StyleManager.as
@@ -0,0 +1,50 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+/**
+ * @private
+ * This class is used to satisfy old MXML codegen
+ * for both Falcon and MXML, but in FlexJS with mxml.children-as-data output
+ * it isn't needed so there is no JS equivalent
+ */
+package mx.styles
+{
+    import mx.core.IFlexModuleFactory;
+    
+	public class StyleManager
+	{
+        /**
+         *  Returns the style manager for an object.
+         *
+         *  @param moduleFactory The module factory of an object you want the 
+         *  style manager for. If null, the top-level style manager is returned.
+         *
+         *  @return the style manager for the given module factory.
+         *  
+         *  @langversion 3.0
+         *  @playerversion Flash 10
+         *  @playerversion AIR 1.5
+         *  @productversion Flex 4
+         */
+        public static function getStyleManager(moduleFactory:IFlexModuleFactory):IStyleManager2
+        {
+            return null;
+        }
+ 	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/binding/ConstantBinding.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/binding/ConstantBinding.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/binding/ConstantBinding.as
new file mode 100644
index 0000000..bab1e7b
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/binding/ConstantBinding.as
@@ -0,0 +1,52 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package org.apache.flex.binding
+{
+	import org.apache.flex.core.IBead;
+	import org.apache.flex.core.IStrand;
+	import org.apache.flex.core.IDocument;
+	
+	public class ConstantBinding implements IBead, IDocument
+	{
+		public function ConstantBinding()
+		{
+		}
+		
+		protected var source:Object;
+		protected var document:Object;
+		protected var destination:Object;
+
+		public var sourceID:String;
+		public var sourcePropertyName:String;
+		public var destinationPropertyName:String;
+		
+		public function set strand(value:IStrand):void
+		{
+			destination = value;
+			source = document[sourceID];
+			destination[destinationPropertyName] = source[sourcePropertyName];
+		}
+		
+		public function setDocument(document:Object, id:String = null):void
+		{
+			this.document = document;
+		}
+		
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/binding/GenericBinding.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/binding/GenericBinding.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/binding/GenericBinding.as
new file mode 100644
index 0000000..4cb6f5e
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/binding/GenericBinding.as
@@ -0,0 +1,112 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package org.apache.flex.binding
+{	
+	import flash.events.Event;
+	
+	import org.apache.flex.core.IBead;
+	import org.apache.flex.core.IDocument;
+	import org.apache.flex.core.IStrand;
+
+	public class GenericBinding implements IBead, IDocument
+	{
+		public function GenericBinding()
+		{
+		}
+		
+		protected var document:Object;
+        protected var destination:Object;
+
+		public var source:Object;
+		public var destinationData:Object;
+		public var destinationFunction:Function;
+		
+		public function set strand(value:IStrand):void
+		{
+			destination = value;
+            var val:Object = getValueFromSource();
+            applyValue(val);
+        }
+        
+        private function getValueFromSource():Object
+        {
+            if (source is Array)
+            {
+                var arr:Array = source as Array;
+                var n:int = arr.length;
+                var obj:Object = document[arr[0]];
+                if (obj == null)
+                    return null;
+                for (var i:int = 1; i < n; i++)
+                {
+                    obj = obj[arr[i]];
+                    if (obj == null)
+                        return null;
+                }
+                return obj;
+            }
+            else if (source is Function)
+            {
+                var fn:Function = source as Function;
+                obj = fn.apply(document);
+                return obj;
+            }
+            else if (source is String)
+            {
+                obj = document[source];
+                return obj;
+            }
+            return null;
+		}
+        
+        private function applyValue(value:Object):void
+        {
+			if (destinationFunction != null)
+			{
+				destinationFunction.apply(document, [value]);
+			}
+			else if (destinationData is Array)
+            {
+                var arr:Array = destinationData as Array;
+                var n:int = arr.length;
+                var obj:Object = document[arr[0]];
+                if (obj == null)
+                    return;
+                for (var i:int = 1; i < n - 1; i++)
+                {
+                    obj = obj[arr[i]];
+                    if (obj == null)
+                        return;
+                }
+                obj[arr[n-1]] = value;                
+            }
+        }
+		
+		public function setDocument(document:Object, id:String = null):void
+		{
+			this.document = document;
+		}
+		
+		public function valueChanged(value:Object):void
+		{
+            var val:Object = getValueFromSource();
+            applyValue(val);
+		}
+	}
+}
\ No newline at end of file


Mime
View raw message