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/24 08:16:45 UTC

[5/9] git commit: [flex-asjs] [refs/heads/develop] - move mx classes into org.apache.flex

move mx classes into org.apache.flex


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

Branch: refs/heads/develop
Commit: 6dc5cfb981f7f283b1d973983ffc7e79d180d972
Parents: 71b9923
Author: Alex Harui <ah...@apache.org>
Authored: Wed Apr 22 13:23:23 2015 -0700
Committer: Alex Harui <ah...@apache.org>
Committed: Wed Apr 22 13:23:23 2015 -0700

----------------------------------------------------------------------
 .../Core/as/src/mx/core/ClassFactory.as         |  90 -------------
 .../projects/Core/as/src/mx/core/IFactory.as    |  46 -------
 .../projects/Core/as/src/mx/states/AddItems.as  | 101 ---------------
 .../Core/as/src/mx/states/ItemAndDescriptor.as  |  70 ----------
 .../Core/as/src/mx/states/SetEventHandler.as    |  79 ------------
 .../Core/as/src/mx/states/SetProperty.as        |  81 ------------
 .../projects/Core/as/src/mx/states/State.as     |  83 ------------
 .../as/src/org/apache/flex/core/ClassFactory.as |  90 +++++++++++++
 .../as/src/org/apache/flex/core/IFactory.as     |  46 +++++++
 .../as/src/org/apache/flex/states/AddItems.as   | 101 +++++++++++++++
 .../org/apache/flex/states/ItemAndDescriptor.as |  70 ++++++++++
 .../org/apache/flex/states/SetEventHandler.as   |  79 ++++++++++++
 .../src/org/apache/flex/states/SetProperty.as   |  81 ++++++++++++
 .../Core/as/src/org/apache/flex/states/State.as |  83 ++++++++++++
 .../Core/js/src/mx/core/ClassFactory.js         |  64 ---------
 .../projects/Core/js/src/mx/core/IFactory.js    |  45 -------
 .../projects/Core/js/src/mx/states/AddItems.js  | 129 -------------------
 .../Core/js/src/mx/states/SetEventHandler.js    |  91 -------------
 .../Core/js/src/mx/states/SetProperty.js        |  98 --------------
 .../projects/Core/js/src/mx/states/State.js     |  49 -------
 .../js/src/org/apache/flex/core/ClassFactory.js |  64 +++++++++
 .../js/src/org/apache/flex/core/IFactory.js     |  45 +++++++
 .../js/src/org/apache/flex/states/AddItems.js   | 129 +++++++++++++++++++
 .../org/apache/flex/states/SetEventHandler.js   |  91 +++++++++++++
 .../src/org/apache/flex/states/SetProperty.js   |  98 ++++++++++++++
 .../Core/js/src/org/apache/flex/states/State.js |  49 +++++++
 26 files changed, 1026 insertions(+), 1026 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/6dc5cfb9/frameworks/projects/Core/as/src/mx/core/ClassFactory.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Core/as/src/mx/core/ClassFactory.as b/frameworks/projects/Core/as/src/mx/core/ClassFactory.as
deleted file mode 100644
index 5c0964c..0000000
--- a/frameworks/projects/Core/as/src/mx/core/ClassFactory.as
+++ /dev/null
@@ -1,90 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  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
-{
-	import mx.core.IFactory;
-	
-    /**
-     *  The ClassFactory class is the basic implementation
-     *  of an IFactory that will generate multiple
-     *  instances of item renderers or custom classes.
-     * 
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-	public class ClassFactory implements IFactory
-	{
-        /**
-         *  The class to instantiate.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 9
-         *  @playerversion AIR 1.1
-         *  @productversion Flex 3
-         */
-		public var generator:Class;
-
-        /**
-         *  Initial properties assigned to each instance.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 9
-         *  @playerversion AIR 1.1
-         *  @productversion Flex 3
-         */
-		public var properties:Object;
-		
-        /**
-         *  Constructor.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 9
-         *  @playerversion AIR 1.1
-         *  @productversion Flex 3
-         */
-		public function ClassFactory(generator:Class=null)
-		{
-			this.generator = generator;
-		}
-		
-        /**
-         *  @copy mx.core.IFactory#newInstance()
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 9
-         *  @playerversion AIR 1.1
-         *  @productversion Flex 3
-         */
-		public function newInstance():*
-		{
-			var obj:* = new generator();
-			
-			if (properties) {
-				for (var prop:String in properties) {
-					obj[prop] = properties[prop];
-				}
-			}
-			
-			return obj;
-		}
-	}
-}
-

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/6dc5cfb9/frameworks/projects/Core/as/src/mx/core/IFactory.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Core/as/src/mx/core/IFactory.as b/frameworks/projects/Core/as/src/mx/core/IFactory.as
deleted file mode 100644
index aaac8e3..0000000
--- a/frameworks/projects/Core/as/src/mx/core/IFactory.as
+++ /dev/null
@@ -1,46 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  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
-{
-    /**
-     *  The IFactory interface is the basic interface used as the 
-     *  type for properties that specify a factory for item renderers
-     *  and other scenarios where multiple copies of a custom
-     *  class are generated.
-     * 
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-	public interface IFactory
-	{
-        /**
-         *  This method is called to generate a new instance of
-         *  an item renderer or other custom class.
-         * 
-         *  @return A new instance of an item renderer or other custom class.
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		function newInstance():*;
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/6dc5cfb9/frameworks/projects/Core/as/src/mx/states/AddItems.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Core/as/src/mx/states/AddItems.as b/frameworks/projects/Core/as/src/mx/states/AddItems.as
deleted file mode 100644
index 99777cb..0000000
--- a/frameworks/projects/Core/as/src/mx/states/AddItems.as
+++ /dev/null
@@ -1,101 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  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;
-    
-    [ExcludeClass]
-    
-    /**
-     *  The AddItems class is one of the classes in the
-     *  view states subsystem.  Note that the FlexJS
-     *  versions are simply data structures interpreted
-     *  by a central States implementation.
-     * 
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-	public class AddItems implements IDocument
-	{
-        /**
-         *  Constructor.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 9
-         *  @playerversion AIR 1.1
-         *  @productversion Flex 3
-         */
-		public function AddItems()
-		{
-			super();
-		}
-		
-        public var items:Array;
-        
-		public var itemsDescriptorIndex:int;     
-
-        public var itemsDescriptor:ItemAndDescriptor;     
-        
-        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;
-            var data:Object = document.mxmlsd[itemsDescriptorIndex];
-            if (data is Array)
-            {
-                itemsDescriptor = new ItemAndDescriptor();
-                itemsDescriptor.descriptor = data as Array;
-                // replace the entry in the document so subsequent
-                // addItems know it is shared
-                document.mxmlsd[itemsDescriptorIndex] = itemsDescriptor;
-            }
-            else
-                itemsDescriptor = data as ItemAndDescriptor;
-        }
-        
-        /**
-         * @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/6dc5cfb9/frameworks/projects/Core/as/src/mx/states/ItemAndDescriptor.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Core/as/src/mx/states/ItemAndDescriptor.as b/frameworks/projects/Core/as/src/mx/states/ItemAndDescriptor.as
deleted file mode 100644
index e704917..0000000
--- a/frameworks/projects/Core/as/src/mx/states/ItemAndDescriptor.as
+++ /dev/null
@@ -1,70 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  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.states
-{
-    
-    [ExcludeClass]
-    
-    /**
-     *  A data structure to store an instance
-     *  and its descriptor array.
-     * 
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-	public class ItemAndDescriptor
-	{
-        /**
-         *  Constructor.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 9
-         *  @playerversion AIR 1.1
-         *  @productversion Flex 3
-         */
-		public function ItemAndDescriptor()
-		{
-			super();
-		}
-		
-        /**
-         *  The item or items created from the descriptor.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 9
-         *  @playerversion AIR 1.1
-         *  @productversion Flex 3
-         */
-        public var items:Object;
-        
-        /**
-         *  The descriptor used to create the item(s).
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 9
-         *  @playerversion AIR 1.1
-         *  @productversion Flex 3
-         */
-        public var descriptor:Array;     
-        
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/6dc5cfb9/frameworks/projects/Core/as/src/mx/states/SetEventHandler.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Core/as/src/mx/states/SetEventHandler.as b/frameworks/projects/Core/as/src/mx/states/SetEventHandler.as
deleted file mode 100644
index 95246a0..0000000
--- a/frameworks/projects/Core/as/src/mx/states/SetEventHandler.as
+++ /dev/null
@@ -1,79 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  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;
-    
-    [ExcludeClass]
-    
-    /**
-     *  The SetEventHandler class is one of the classes in the
-     *  view states subsystem.  Note that the FlexJS
-     *  versions are simply data structures interpreted
-     *  by a central States implementation.
-     * 
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-	public class SetEventHandler implements IDocument
-	{
-        /**
-         *  Constructor.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 9
-         *  @playerversion AIR 1.1
-         *  @productversion Flex 3
-         */
-		public function SetEventHandler()
-		{
-			super();
-		}
-		
-        public var target:String;
-        
-        public var name:String;
-        
-        public var handlerFunction:Function;
-
-        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/6dc5cfb9/frameworks/projects/Core/as/src/mx/states/SetProperty.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Core/as/src/mx/states/SetProperty.as b/frameworks/projects/Core/as/src/mx/states/SetProperty.as
deleted file mode 100644
index 595f84a..0000000
--- a/frameworks/projects/Core/as/src/mx/states/SetProperty.as
+++ /dev/null
@@ -1,81 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  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;
-    
-    [ExcludeClass]
-    
-    /**
-     *  The SetProperty class is one of the classes in the
-     *  view states subsystem.  Note that the FlexJS
-     *  versions are simply data structures interpreted
-     *  by a central States implementation.
-     * 
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-	public class SetProperty implements IDocument
-	{
-        /**
-         *  Constructor.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 9
-         *  @playerversion AIR 1.1
-         *  @productversion Flex 3
-         */
-		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/6dc5cfb9/frameworks/projects/Core/as/src/mx/states/State.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Core/as/src/mx/states/State.as b/frameworks/projects/Core/as/src/mx/states/State.as
deleted file mode 100644
index 3c08d57..0000000
--- a/frameworks/projects/Core/as/src/mx/states/State.as
+++ /dev/null
@@ -1,83 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  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
-{
-    /**
-     *  The State class is one of the classes in the
-     *  view states subsystem.  It is used to declare a 
-     *  view state in an MXML document.  This is one of the
-     *  few classes in FlexJS that use the same name as
-     *  a Flex SDK class because some of the IDEs and
-     *  compilers are hard-coded to assume this name.
-     * 
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-	public class State
-	{
-        /**
-         *  Constructor.
-         *  
-         *  @param properties This parameter is not used in FlexJS and exists to make legacy compilers happy.
-         *  @langversion 3.0
-         *  @playerversion Flash 9
-         *  @playerversion AIR 1.1
-         *  @productversion Flex 3
-         */
-		public function State(properties:Object = null)
-		{
-			super();
-		}
-		
-        /**
-         *  The name of the state.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 9
-         *  @playerversion AIR 1.1
-         *  @productversion Flex 3
-         */
-		public var name:String;
-        
-        /**
-         *  Comma-delimited list of state groups of the state.
-         *  It is not an array so don't use square brackets [].
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 9
-         *  @playerversion AIR 1.1
-         *  @productversion Flex 3
-         */
-        public var stateGroups:String;
-        
-        /**
-         *  The array of overrides.  This is normally set by the compiler.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 9
-         *  @playerversion AIR 1.1
-         *  @productversion Flex 3
-         */
-        public var overrides:Array;
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/6dc5cfb9/frameworks/projects/Core/as/src/org/apache/flex/core/ClassFactory.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Core/as/src/org/apache/flex/core/ClassFactory.as b/frameworks/projects/Core/as/src/org/apache/flex/core/ClassFactory.as
new file mode 100644
index 0000000..5c0964c
--- /dev/null
+++ b/frameworks/projects/Core/as/src/org/apache/flex/core/ClassFactory.as
@@ -0,0 +1,90 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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
+{
+	import mx.core.IFactory;
+	
+    /**
+     *  The ClassFactory class is the basic implementation
+     *  of an IFactory that will generate multiple
+     *  instances of item renderers or custom classes.
+     * 
+     *  @langversion 3.0
+     *  @playerversion Flash 10.2
+     *  @playerversion AIR 2.6
+     *  @productversion FlexJS 0.0
+     */
+	public class ClassFactory implements IFactory
+	{
+        /**
+         *  The class to instantiate.
+         *  
+         *  @langversion 3.0
+         *  @playerversion Flash 9
+         *  @playerversion AIR 1.1
+         *  @productversion Flex 3
+         */
+		public var generator:Class;
+
+        /**
+         *  Initial properties assigned to each instance.
+         *  
+         *  @langversion 3.0
+         *  @playerversion Flash 9
+         *  @playerversion AIR 1.1
+         *  @productversion Flex 3
+         */
+		public var properties:Object;
+		
+        /**
+         *  Constructor.
+         *  
+         *  @langversion 3.0
+         *  @playerversion Flash 9
+         *  @playerversion AIR 1.1
+         *  @productversion Flex 3
+         */
+		public function ClassFactory(generator:Class=null)
+		{
+			this.generator = generator;
+		}
+		
+        /**
+         *  @copy mx.core.IFactory#newInstance()
+         *  
+         *  @langversion 3.0
+         *  @playerversion Flash 9
+         *  @playerversion AIR 1.1
+         *  @productversion Flex 3
+         */
+		public function newInstance():*
+		{
+			var obj:* = new generator();
+			
+			if (properties) {
+				for (var prop:String in properties) {
+					obj[prop] = properties[prop];
+				}
+			}
+			
+			return obj;
+		}
+	}
+}
+

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/6dc5cfb9/frameworks/projects/Core/as/src/org/apache/flex/core/IFactory.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Core/as/src/org/apache/flex/core/IFactory.as b/frameworks/projects/Core/as/src/org/apache/flex/core/IFactory.as
new file mode 100644
index 0000000..aaac8e3
--- /dev/null
+++ b/frameworks/projects/Core/as/src/org/apache/flex/core/IFactory.as
@@ -0,0 +1,46 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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
+{
+    /**
+     *  The IFactory interface is the basic interface used as the 
+     *  type for properties that specify a factory for item renderers
+     *  and other scenarios where multiple copies of a custom
+     *  class are generated.
+     * 
+     *  @langversion 3.0
+     *  @playerversion Flash 10.2
+     *  @playerversion AIR 2.6
+     *  @productversion FlexJS 0.0
+     */
+	public interface IFactory
+	{
+        /**
+         *  This method is called to generate a new instance of
+         *  an item renderer or other custom class.
+         * 
+         *  @return A new instance of an item renderer or other custom class.
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion FlexJS 0.0
+         */
+		function newInstance():*;
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/6dc5cfb9/frameworks/projects/Core/as/src/org/apache/flex/states/AddItems.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Core/as/src/org/apache/flex/states/AddItems.as b/frameworks/projects/Core/as/src/org/apache/flex/states/AddItems.as
new file mode 100644
index 0000000..99777cb
--- /dev/null
+++ b/frameworks/projects/Core/as/src/org/apache/flex/states/AddItems.as
@@ -0,0 +1,101 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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;
+    
+    [ExcludeClass]
+    
+    /**
+     *  The AddItems class is one of the classes in the
+     *  view states subsystem.  Note that the FlexJS
+     *  versions are simply data structures interpreted
+     *  by a central States implementation.
+     * 
+     *  @langversion 3.0
+     *  @playerversion Flash 10.2
+     *  @playerversion AIR 2.6
+     *  @productversion FlexJS 0.0
+     */
+	public class AddItems implements IDocument
+	{
+        /**
+         *  Constructor.
+         *  
+         *  @langversion 3.0
+         *  @playerversion Flash 9
+         *  @playerversion AIR 1.1
+         *  @productversion Flex 3
+         */
+		public function AddItems()
+		{
+			super();
+		}
+		
+        public var items:Array;
+        
+		public var itemsDescriptorIndex:int;     
+
+        public var itemsDescriptor:ItemAndDescriptor;     
+        
+        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;
+            var data:Object = document.mxmlsd[itemsDescriptorIndex];
+            if (data is Array)
+            {
+                itemsDescriptor = new ItemAndDescriptor();
+                itemsDescriptor.descriptor = data as Array;
+                // replace the entry in the document so subsequent
+                // addItems know it is shared
+                document.mxmlsd[itemsDescriptorIndex] = itemsDescriptor;
+            }
+            else
+                itemsDescriptor = data as ItemAndDescriptor;
+        }
+        
+        /**
+         * @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/6dc5cfb9/frameworks/projects/Core/as/src/org/apache/flex/states/ItemAndDescriptor.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Core/as/src/org/apache/flex/states/ItemAndDescriptor.as b/frameworks/projects/Core/as/src/org/apache/flex/states/ItemAndDescriptor.as
new file mode 100644
index 0000000..e704917
--- /dev/null
+++ b/frameworks/projects/Core/as/src/org/apache/flex/states/ItemAndDescriptor.as
@@ -0,0 +1,70 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.states
+{
+    
+    [ExcludeClass]
+    
+    /**
+     *  A data structure to store an instance
+     *  and its descriptor array.
+     * 
+     *  @langversion 3.0
+     *  @playerversion Flash 10.2
+     *  @playerversion AIR 2.6
+     *  @productversion FlexJS 0.0
+     */
+	public class ItemAndDescriptor
+	{
+        /**
+         *  Constructor.
+         *  
+         *  @langversion 3.0
+         *  @playerversion Flash 9
+         *  @playerversion AIR 1.1
+         *  @productversion Flex 3
+         */
+		public function ItemAndDescriptor()
+		{
+			super();
+		}
+		
+        /**
+         *  The item or items created from the descriptor.
+         *  
+         *  @langversion 3.0
+         *  @playerversion Flash 9
+         *  @playerversion AIR 1.1
+         *  @productversion Flex 3
+         */
+        public var items:Object;
+        
+        /**
+         *  The descriptor used to create the item(s).
+         *  
+         *  @langversion 3.0
+         *  @playerversion Flash 9
+         *  @playerversion AIR 1.1
+         *  @productversion Flex 3
+         */
+        public var descriptor:Array;     
+        
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/6dc5cfb9/frameworks/projects/Core/as/src/org/apache/flex/states/SetEventHandler.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Core/as/src/org/apache/flex/states/SetEventHandler.as b/frameworks/projects/Core/as/src/org/apache/flex/states/SetEventHandler.as
new file mode 100644
index 0000000..95246a0
--- /dev/null
+++ b/frameworks/projects/Core/as/src/org/apache/flex/states/SetEventHandler.as
@@ -0,0 +1,79 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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;
+    
+    [ExcludeClass]
+    
+    /**
+     *  The SetEventHandler class is one of the classes in the
+     *  view states subsystem.  Note that the FlexJS
+     *  versions are simply data structures interpreted
+     *  by a central States implementation.
+     * 
+     *  @langversion 3.0
+     *  @playerversion Flash 10.2
+     *  @playerversion AIR 2.6
+     *  @productversion FlexJS 0.0
+     */
+	public class SetEventHandler implements IDocument
+	{
+        /**
+         *  Constructor.
+         *  
+         *  @langversion 3.0
+         *  @playerversion Flash 9
+         *  @playerversion AIR 1.1
+         *  @productversion Flex 3
+         */
+		public function SetEventHandler()
+		{
+			super();
+		}
+		
+        public var target:String;
+        
+        public var name:String;
+        
+        public var handlerFunction:Function;
+
+        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/6dc5cfb9/frameworks/projects/Core/as/src/org/apache/flex/states/SetProperty.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Core/as/src/org/apache/flex/states/SetProperty.as b/frameworks/projects/Core/as/src/org/apache/flex/states/SetProperty.as
new file mode 100644
index 0000000..595f84a
--- /dev/null
+++ b/frameworks/projects/Core/as/src/org/apache/flex/states/SetProperty.as
@@ -0,0 +1,81 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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;
+    
+    [ExcludeClass]
+    
+    /**
+     *  The SetProperty class is one of the classes in the
+     *  view states subsystem.  Note that the FlexJS
+     *  versions are simply data structures interpreted
+     *  by a central States implementation.
+     * 
+     *  @langversion 3.0
+     *  @playerversion Flash 10.2
+     *  @playerversion AIR 2.6
+     *  @productversion FlexJS 0.0
+     */
+	public class SetProperty implements IDocument
+	{
+        /**
+         *  Constructor.
+         *  
+         *  @langversion 3.0
+         *  @playerversion Flash 9
+         *  @playerversion AIR 1.1
+         *  @productversion Flex 3
+         */
+		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/6dc5cfb9/frameworks/projects/Core/as/src/org/apache/flex/states/State.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Core/as/src/org/apache/flex/states/State.as b/frameworks/projects/Core/as/src/org/apache/flex/states/State.as
new file mode 100644
index 0000000..3c08d57
--- /dev/null
+++ b/frameworks/projects/Core/as/src/org/apache/flex/states/State.as
@@ -0,0 +1,83 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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
+{
+    /**
+     *  The State class is one of the classes in the
+     *  view states subsystem.  It is used to declare a 
+     *  view state in an MXML document.  This is one of the
+     *  few classes in FlexJS that use the same name as
+     *  a Flex SDK class because some of the IDEs and
+     *  compilers are hard-coded to assume this name.
+     * 
+     *  @langversion 3.0
+     *  @playerversion Flash 10.2
+     *  @playerversion AIR 2.6
+     *  @productversion FlexJS 0.0
+     */
+	public class State
+	{
+        /**
+         *  Constructor.
+         *  
+         *  @param properties This parameter is not used in FlexJS and exists to make legacy compilers happy.
+         *  @langversion 3.0
+         *  @playerversion Flash 9
+         *  @playerversion AIR 1.1
+         *  @productversion Flex 3
+         */
+		public function State(properties:Object = null)
+		{
+			super();
+		}
+		
+        /**
+         *  The name of the state.
+         *  
+         *  @langversion 3.0
+         *  @playerversion Flash 9
+         *  @playerversion AIR 1.1
+         *  @productversion Flex 3
+         */
+		public var name:String;
+        
+        /**
+         *  Comma-delimited list of state groups of the state.
+         *  It is not an array so don't use square brackets [].
+         *  
+         *  @langversion 3.0
+         *  @playerversion Flash 9
+         *  @playerversion AIR 1.1
+         *  @productversion Flex 3
+         */
+        public var stateGroups:String;
+        
+        /**
+         *  The array of overrides.  This is normally set by the compiler.
+         *  
+         *  @langversion 3.0
+         *  @playerversion Flash 9
+         *  @playerversion AIR 1.1
+         *  @productversion Flex 3
+         */
+        public var overrides:Array;
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/6dc5cfb9/frameworks/projects/Core/js/src/mx/core/ClassFactory.js
----------------------------------------------------------------------
diff --git a/frameworks/projects/Core/js/src/mx/core/ClassFactory.js b/frameworks/projects/Core/js/src/mx/core/ClassFactory.js
deleted file mode 100644
index 97fec5c..0000000
--- a/frameworks/projects/Core/js/src/mx/core/ClassFactory.js
+++ /dev/null
@@ -1,64 +0,0 @@
-/**
- * Licensed 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.
- */
-
-goog.provide('mx_core_ClassFactory');
-
-goog.require('mx_core_IFactory');
-
-
-
-/**
- * @constructor
- * @implements {mx_core_IFactory}
- * @param {Function} generator The class definition to use for newInstance.
- */
-mx_core_ClassFactory = function(generator) {
-  /**
-   * @private
-   * @type {Function}
-   */
-  this.generator_ = generator;
-  this.properties_ = null;
-};
-
-
-/**
- * Metadata
- *
- * @type {Object.<string, Array.<Object>>}
- */
-mx_core_ClassFactory.prototype.
-    FLEXJS_CLASS_INFO =
-        { names: [{ name: 'ClassFactory',
-           qName: 'mx_core_ClassFactory' }],
-    interfaces: [mx_core_IFactory] };
-
-
-/**
- * @expose
- * @return {Object} The new instance of the class described by generator.
- */
-mx_core_ClassFactory.
-    prototype.newInstance = function() {
-  var obj = new this.generator_();
-
-  if (this.properties_) {
-    var prop;
-    for (prop in this.properties_) {
-      obj[prop] = this.properties_[prop];
-    }
-  }
-
-  return obj;
-};

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/6dc5cfb9/frameworks/projects/Core/js/src/mx/core/IFactory.js
----------------------------------------------------------------------
diff --git a/frameworks/projects/Core/js/src/mx/core/IFactory.js b/frameworks/projects/Core/js/src/mx/core/IFactory.js
deleted file mode 100644
index 556a4e0..0000000
--- a/frameworks/projects/Core/js/src/mx/core/IFactory.js
+++ /dev/null
@@ -1,45 +0,0 @@
-/**
- * Licensed 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.
- */
-
-/**
- * @fileoverview
- * @suppress {checkTypes}
- */
-
-goog.provide('mx_core_IFactory');
-
-
-
-/**
- * @interface
- */
-mx_core_IFactory = function() {
-};
-
-
-/**
- * @expose
- * @return {Object} A new instance of the itemRenderer.
- */
-mx_core_IFactory.prototype.newInstance = function() {};
-
-
-/**
- * Metadata
- *
- * @type {Object.<string, Array.<Object>>}
- */
-mx_core_IFactory.prototype.FLEXJS_CLASS_INFO =
-    { names: [{ name: 'IFactory',
-                qName: 'mx_core_IFactory' }] };

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/6dc5cfb9/frameworks/projects/Core/js/src/mx/states/AddItems.js
----------------------------------------------------------------------
diff --git a/frameworks/projects/Core/js/src/mx/states/AddItems.js b/frameworks/projects/Core/js/src/mx/states/AddItems.js
deleted file mode 100644
index 22f7619..0000000
--- a/frameworks/projects/Core/js/src/mx/states/AddItems.js
+++ /dev/null
@@ -1,129 +0,0 @@
-/**
- * Licensed 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.
- */
-
-goog.provide('mx_states_AddItems');
-
-goog.require('org_apache_flex_core_IDocument');
-
-
-
-/**
- * @constructor
- * @implements {org_apache_flex_core_IDocument}
- */
-mx_states_AddItems = function() {
-};
-
-
-/**
- * Metadata
- *
- * @type {Object.<string, Array.<Object>>}
- */
-mx_states_AddItems.prototype.FLEXJS_CLASS_INFO =
-    { names: [{ name: 'AddItems',
-                qName: 'mx_states_AddItems' }],
-      interfaces: [org_apache_flex_core_IDocument] };
-
-
-/**
- * @param {Object} document The MXML object.
- * @param {?string=} opt_id The id.
- */
-mx_states_AddItems.prototype.setDocument = function(document, opt_id) {
-  opt_id = typeof opt_id !== 'undefined' ? opt_id : null;
-  this.document = document;
-  var data = document['mxmlsd'][this.itemsDescriptorIndex];
-  if (typeof(data.slice) == 'function') {
-    this.itemsDescriptor = {};
-    this.itemsDescriptor.descriptor = data;
-    // replace the entry in the document so subsequent
-    // addItems know it is shared
-    this.document['mxmlsd'][this.itemsDescriptorIndex] = this.itemsDescriptor;
-  } else
-    this.itemsDescriptor = data;
-};
-
-
-/**
- * @expose
- * @type {Object} document The MXML object.
- */
-mx_states_AddItems.prototype.document = null;
-
-
-/**
- * @expose
- * @type {Array} items The array of items to add.
- */
-mx_states_AddItems.prototype.items = null;
-
-
-/**
- * @expose
- * @type {number} itemsDescriptor The index into the array
- *                               of itemDescriptors on the document
- */
-mx_states_AddItems.prototype.itemsDescriptorIndex = -1;
-
-
-/**
- * @expose
- * @type {Object} itemsDescriptor The descriptors for items.
- */
-mx_states_AddItems.prototype.itemsDescriptor = null;
-
-
-/**
- * @expose
- * @type {string} destination The id of the parent.
- */
-mx_states_AddItems.prototype.destination = '';
-
-
-/**
- * @expose
- * @type {string} propertyName The child property name (e.g. mxmlContent).
- */
-mx_states_AddItems.prototype.propertyName = '';
-
-
-/**
- * @expose
- * @type {string} position Where the item goes relative to relativeTo.
- */
-mx_states_AddItems.prototype.position = '';
-
-
-/**
- * @expose
- * @type {?string} relativeTo The id of the child where the item goes.
- */
-mx_states_AddItems.prototype.relativeTo = null;
-
-
-/**
- * @expose
- * @param {Object} properties The properties for the new object.
- * @return {Object} The new object.
- */
-mx_states_AddItems.prototype.initializeFromObject = function(properties) {
-  var p;
-
-  for (p in properties) {
-    this[p] = properties[p];
-  }
-
-  return this;
-};

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/6dc5cfb9/frameworks/projects/Core/js/src/mx/states/SetEventHandler.js
----------------------------------------------------------------------
diff --git a/frameworks/projects/Core/js/src/mx/states/SetEventHandler.js b/frameworks/projects/Core/js/src/mx/states/SetEventHandler.js
deleted file mode 100644
index 1edc36e..0000000
--- a/frameworks/projects/Core/js/src/mx/states/SetEventHandler.js
+++ /dev/null
@@ -1,91 +0,0 @@
-/**
- * Licensed 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.
- */
-
-goog.provide('mx_states_SetEventHandler');
-
-goog.require('org_apache_flex_core_IDocument');
-
-
-
-/**
- * @constructor
- * @implements {org_apache_flex_core_IDocument}
- */
-mx_states_SetEventHandler = function() {
-};
-
-
-/**
- * Metadata
- *
- * @type {Object.<string, Array.<Object>>}
- */
-mx_states_SetEventHandler.prototype.FLEXJS_CLASS_INFO =
-    { names: [{ name: 'SetEventHandler',
-                qName: 'mx_states_SetEventHandler' }],
-      interfaces: [org_apache_flex_core_IDocument] };
-
-
-/**
- * @param {Object} document The MXML object.
- * @param {?string=} opt_id The id.
- */
-mx_states_SetEventHandler.prototype.setDocument = function(document, opt_id) {
-  opt_id = typeof opt_id !== 'undefined' ? opt_id : null;
-  this.document = document;
-};
-
-
-/**
- * @expose
- * @type {Object} document The MXML object.
- */
-mx_states_SetEventHandler.prototype.document = null;
-
-
-/**
- * @expose
- * @type {string} name The event to listen for.
- */
-mx_states_SetEventHandler.prototype.name = '';
-
-
-/**
- * @expose
- * @type {string} target The id of the object.
- */
-mx_states_SetEventHandler.prototype.target = '';
-
-
-/**
- * @expose
- * @type {Object} handlerFunction The listener to be added.
- */
-mx_states_SetEventHandler.prototype.handlerFunction = null;
-
-
-/**
- * @expose
- * @param {Object} properties The properties for the new object.
- * @return {Object} The new object.
- */
-mx_states_SetEventHandler.prototype.initializeFromObject = function(properties) {
-  var p;
-
-  for (p in properties) {
-    this[p] = properties[p];
-  }
-
-  return this;
-};

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/6dc5cfb9/frameworks/projects/Core/js/src/mx/states/SetProperty.js
----------------------------------------------------------------------
diff --git a/frameworks/projects/Core/js/src/mx/states/SetProperty.js b/frameworks/projects/Core/js/src/mx/states/SetProperty.js
deleted file mode 100644
index f7feca9..0000000
--- a/frameworks/projects/Core/js/src/mx/states/SetProperty.js
+++ /dev/null
@@ -1,98 +0,0 @@
-/**
- * Licensed 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.
- */
-
-goog.provide('mx_states_SetProperty');
-
-goog.require('org_apache_flex_core_IDocument');
-
-
-
-/**
- * @constructor
- * @implements {org_apache_flex_core_IDocument}
- */
-mx_states_SetProperty = function() {
-};
-
-
-/**
- * Metadata
- *
- * @type {Object.<string, Array.<Object>>}
- */
-mx_states_SetProperty.prototype.FLEXJS_CLASS_INFO =
-    { names: [{ name: 'SetProperty',
-                qName: 'mx_states_SetProperty' }],
-      interfaces: [org_apache_flex_core_IDocument] };
-
-
-/**
- * @param {Object} document The MXML object.
- * @param {?string=} opt_id The id.
- */
-mx_states_SetProperty.prototype.setDocument = function(document, opt_id) {
-  opt_id = typeof opt_id !== 'undefined' ? opt_id : null;
-  this.document = document;
-};
-
-
-/**
- * @expose
- * @type {Object} document The MXML object.
- */
-mx_states_SetProperty.prototype.document = null;
-
-
-/**
- * @expose
- * @type {string} name The target property name.
- */
-mx_states_SetProperty.prototype.name = '';
-
-
-/**
- * @expose
- * @type {?string} target The id of the object.
- */
-mx_states_SetProperty.prototype.target = null;
-
-
-/**
- * @expose
- * @type {Object} previousValue The value to revert to.
- */
-mx_states_SetProperty.prototype.previousValue = null;
-
-
-/**
- * @expose
- * @type {Object} value The value to set.
- */
-mx_states_SetProperty.prototype.value = null;
-
-
-/**
- * @expose
- * @param {Object} properties The properties for the new object.
- * @return {Object} The new object.
- */
-mx_states_SetProperty.prototype.initializeFromObject = function(properties) {
-  var p;
-
-  for (p in properties) {
-    this[p] = properties[p];
-  }
-
-  return this;
-};

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/6dc5cfb9/frameworks/projects/Core/js/src/mx/states/State.js
----------------------------------------------------------------------
diff --git a/frameworks/projects/Core/js/src/mx/states/State.js b/frameworks/projects/Core/js/src/mx/states/State.js
deleted file mode 100644
index 0d6df35..0000000
--- a/frameworks/projects/Core/js/src/mx/states/State.js
+++ /dev/null
@@ -1,49 +0,0 @@
-/**
- * Licensed 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.
- */
-
-goog.provide('mx_states_State');
-
-
-
-/**
- * @constructor
- * @param {Object=} opt_props The initial properties.
- */
-mx_states_State = function(opt_props) {
-  opt_props = typeof opt_props !== 'undefined' ? opt_props : null;
-};
-
-
-/**
- * Metadata
- *
- * @type {Object.<string, Array.<Object>>}
- */
-mx_states_State.prototype.FLEXJS_CLASS_INFO =
-    { names: [{ name: 'State',
-                qName: 'mx_states_State' }] };
-
-
-/**
- * @expose
- * @type {string} name The state name.
- */
-mx_states_State.prototype.name = '';
-
-
-/**
- * @expose
- * @type {Array} overrides The state data.
- */
-mx_states_State.prototype.overrides = null;

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/6dc5cfb9/frameworks/projects/Core/js/src/org/apache/flex/core/ClassFactory.js
----------------------------------------------------------------------
diff --git a/frameworks/projects/Core/js/src/org/apache/flex/core/ClassFactory.js b/frameworks/projects/Core/js/src/org/apache/flex/core/ClassFactory.js
new file mode 100644
index 0000000..97fec5c
--- /dev/null
+++ b/frameworks/projects/Core/js/src/org/apache/flex/core/ClassFactory.js
@@ -0,0 +1,64 @@
+/**
+ * Licensed 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.
+ */
+
+goog.provide('mx_core_ClassFactory');
+
+goog.require('mx_core_IFactory');
+
+
+
+/**
+ * @constructor
+ * @implements {mx_core_IFactory}
+ * @param {Function} generator The class definition to use for newInstance.
+ */
+mx_core_ClassFactory = function(generator) {
+  /**
+   * @private
+   * @type {Function}
+   */
+  this.generator_ = generator;
+  this.properties_ = null;
+};
+
+
+/**
+ * Metadata
+ *
+ * @type {Object.<string, Array.<Object>>}
+ */
+mx_core_ClassFactory.prototype.
+    FLEXJS_CLASS_INFO =
+        { names: [{ name: 'ClassFactory',
+           qName: 'mx_core_ClassFactory' }],
+    interfaces: [mx_core_IFactory] };
+
+
+/**
+ * @expose
+ * @return {Object} The new instance of the class described by generator.
+ */
+mx_core_ClassFactory.
+    prototype.newInstance = function() {
+  var obj = new this.generator_();
+
+  if (this.properties_) {
+    var prop;
+    for (prop in this.properties_) {
+      obj[prop] = this.properties_[prop];
+    }
+  }
+
+  return obj;
+};

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/6dc5cfb9/frameworks/projects/Core/js/src/org/apache/flex/core/IFactory.js
----------------------------------------------------------------------
diff --git a/frameworks/projects/Core/js/src/org/apache/flex/core/IFactory.js b/frameworks/projects/Core/js/src/org/apache/flex/core/IFactory.js
new file mode 100644
index 0000000..556a4e0
--- /dev/null
+++ b/frameworks/projects/Core/js/src/org/apache/flex/core/IFactory.js
@@ -0,0 +1,45 @@
+/**
+ * Licensed 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.
+ */
+
+/**
+ * @fileoverview
+ * @suppress {checkTypes}
+ */
+
+goog.provide('mx_core_IFactory');
+
+
+
+/**
+ * @interface
+ */
+mx_core_IFactory = function() {
+};
+
+
+/**
+ * @expose
+ * @return {Object} A new instance of the itemRenderer.
+ */
+mx_core_IFactory.prototype.newInstance = function() {};
+
+
+/**
+ * Metadata
+ *
+ * @type {Object.<string, Array.<Object>>}
+ */
+mx_core_IFactory.prototype.FLEXJS_CLASS_INFO =
+    { names: [{ name: 'IFactory',
+                qName: 'mx_core_IFactory' }] };

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/6dc5cfb9/frameworks/projects/Core/js/src/org/apache/flex/states/AddItems.js
----------------------------------------------------------------------
diff --git a/frameworks/projects/Core/js/src/org/apache/flex/states/AddItems.js b/frameworks/projects/Core/js/src/org/apache/flex/states/AddItems.js
new file mode 100644
index 0000000..22f7619
--- /dev/null
+++ b/frameworks/projects/Core/js/src/org/apache/flex/states/AddItems.js
@@ -0,0 +1,129 @@
+/**
+ * Licensed 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.
+ */
+
+goog.provide('mx_states_AddItems');
+
+goog.require('org_apache_flex_core_IDocument');
+
+
+
+/**
+ * @constructor
+ * @implements {org_apache_flex_core_IDocument}
+ */
+mx_states_AddItems = function() {
+};
+
+
+/**
+ * Metadata
+ *
+ * @type {Object.<string, Array.<Object>>}
+ */
+mx_states_AddItems.prototype.FLEXJS_CLASS_INFO =
+    { names: [{ name: 'AddItems',
+                qName: 'mx_states_AddItems' }],
+      interfaces: [org_apache_flex_core_IDocument] };
+
+
+/**
+ * @param {Object} document The MXML object.
+ * @param {?string=} opt_id The id.
+ */
+mx_states_AddItems.prototype.setDocument = function(document, opt_id) {
+  opt_id = typeof opt_id !== 'undefined' ? opt_id : null;
+  this.document = document;
+  var data = document['mxmlsd'][this.itemsDescriptorIndex];
+  if (typeof(data.slice) == 'function') {
+    this.itemsDescriptor = {};
+    this.itemsDescriptor.descriptor = data;
+    // replace the entry in the document so subsequent
+    // addItems know it is shared
+    this.document['mxmlsd'][this.itemsDescriptorIndex] = this.itemsDescriptor;
+  } else
+    this.itemsDescriptor = data;
+};
+
+
+/**
+ * @expose
+ * @type {Object} document The MXML object.
+ */
+mx_states_AddItems.prototype.document = null;
+
+
+/**
+ * @expose
+ * @type {Array} items The array of items to add.
+ */
+mx_states_AddItems.prototype.items = null;
+
+
+/**
+ * @expose
+ * @type {number} itemsDescriptor The index into the array
+ *                               of itemDescriptors on the document
+ */
+mx_states_AddItems.prototype.itemsDescriptorIndex = -1;
+
+
+/**
+ * @expose
+ * @type {Object} itemsDescriptor The descriptors for items.
+ */
+mx_states_AddItems.prototype.itemsDescriptor = null;
+
+
+/**
+ * @expose
+ * @type {string} destination The id of the parent.
+ */
+mx_states_AddItems.prototype.destination = '';
+
+
+/**
+ * @expose
+ * @type {string} propertyName The child property name (e.g. mxmlContent).
+ */
+mx_states_AddItems.prototype.propertyName = '';
+
+
+/**
+ * @expose
+ * @type {string} position Where the item goes relative to relativeTo.
+ */
+mx_states_AddItems.prototype.position = '';
+
+
+/**
+ * @expose
+ * @type {?string} relativeTo The id of the child where the item goes.
+ */
+mx_states_AddItems.prototype.relativeTo = null;
+
+
+/**
+ * @expose
+ * @param {Object} properties The properties for the new object.
+ * @return {Object} The new object.
+ */
+mx_states_AddItems.prototype.initializeFromObject = function(properties) {
+  var p;
+
+  for (p in properties) {
+    this[p] = properties[p];
+  }
+
+  return this;
+};

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/6dc5cfb9/frameworks/projects/Core/js/src/org/apache/flex/states/SetEventHandler.js
----------------------------------------------------------------------
diff --git a/frameworks/projects/Core/js/src/org/apache/flex/states/SetEventHandler.js b/frameworks/projects/Core/js/src/org/apache/flex/states/SetEventHandler.js
new file mode 100644
index 0000000..1edc36e
--- /dev/null
+++ b/frameworks/projects/Core/js/src/org/apache/flex/states/SetEventHandler.js
@@ -0,0 +1,91 @@
+/**
+ * Licensed 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.
+ */
+
+goog.provide('mx_states_SetEventHandler');
+
+goog.require('org_apache_flex_core_IDocument');
+
+
+
+/**
+ * @constructor
+ * @implements {org_apache_flex_core_IDocument}
+ */
+mx_states_SetEventHandler = function() {
+};
+
+
+/**
+ * Metadata
+ *
+ * @type {Object.<string, Array.<Object>>}
+ */
+mx_states_SetEventHandler.prototype.FLEXJS_CLASS_INFO =
+    { names: [{ name: 'SetEventHandler',
+                qName: 'mx_states_SetEventHandler' }],
+      interfaces: [org_apache_flex_core_IDocument] };
+
+
+/**
+ * @param {Object} document The MXML object.
+ * @param {?string=} opt_id The id.
+ */
+mx_states_SetEventHandler.prototype.setDocument = function(document, opt_id) {
+  opt_id = typeof opt_id !== 'undefined' ? opt_id : null;
+  this.document = document;
+};
+
+
+/**
+ * @expose
+ * @type {Object} document The MXML object.
+ */
+mx_states_SetEventHandler.prototype.document = null;
+
+
+/**
+ * @expose
+ * @type {string} name The event to listen for.
+ */
+mx_states_SetEventHandler.prototype.name = '';
+
+
+/**
+ * @expose
+ * @type {string} target The id of the object.
+ */
+mx_states_SetEventHandler.prototype.target = '';
+
+
+/**
+ * @expose
+ * @type {Object} handlerFunction The listener to be added.
+ */
+mx_states_SetEventHandler.prototype.handlerFunction = null;
+
+
+/**
+ * @expose
+ * @param {Object} properties The properties for the new object.
+ * @return {Object} The new object.
+ */
+mx_states_SetEventHandler.prototype.initializeFromObject = function(properties) {
+  var p;
+
+  for (p in properties) {
+    this[p] = properties[p];
+  }
+
+  return this;
+};

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/6dc5cfb9/frameworks/projects/Core/js/src/org/apache/flex/states/SetProperty.js
----------------------------------------------------------------------
diff --git a/frameworks/projects/Core/js/src/org/apache/flex/states/SetProperty.js b/frameworks/projects/Core/js/src/org/apache/flex/states/SetProperty.js
new file mode 100644
index 0000000..f7feca9
--- /dev/null
+++ b/frameworks/projects/Core/js/src/org/apache/flex/states/SetProperty.js
@@ -0,0 +1,98 @@
+/**
+ * Licensed 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.
+ */
+
+goog.provide('mx_states_SetProperty');
+
+goog.require('org_apache_flex_core_IDocument');
+
+
+
+/**
+ * @constructor
+ * @implements {org_apache_flex_core_IDocument}
+ */
+mx_states_SetProperty = function() {
+};
+
+
+/**
+ * Metadata
+ *
+ * @type {Object.<string, Array.<Object>>}
+ */
+mx_states_SetProperty.prototype.FLEXJS_CLASS_INFO =
+    { names: [{ name: 'SetProperty',
+                qName: 'mx_states_SetProperty' }],
+      interfaces: [org_apache_flex_core_IDocument] };
+
+
+/**
+ * @param {Object} document The MXML object.
+ * @param {?string=} opt_id The id.
+ */
+mx_states_SetProperty.prototype.setDocument = function(document, opt_id) {
+  opt_id = typeof opt_id !== 'undefined' ? opt_id : null;
+  this.document = document;
+};
+
+
+/**
+ * @expose
+ * @type {Object} document The MXML object.
+ */
+mx_states_SetProperty.prototype.document = null;
+
+
+/**
+ * @expose
+ * @type {string} name The target property name.
+ */
+mx_states_SetProperty.prototype.name = '';
+
+
+/**
+ * @expose
+ * @type {?string} target The id of the object.
+ */
+mx_states_SetProperty.prototype.target = null;
+
+
+/**
+ * @expose
+ * @type {Object} previousValue The value to revert to.
+ */
+mx_states_SetProperty.prototype.previousValue = null;
+
+
+/**
+ * @expose
+ * @type {Object} value The value to set.
+ */
+mx_states_SetProperty.prototype.value = null;
+
+
+/**
+ * @expose
+ * @param {Object} properties The properties for the new object.
+ * @return {Object} The new object.
+ */
+mx_states_SetProperty.prototype.initializeFromObject = function(properties) {
+  var p;
+
+  for (p in properties) {
+    this[p] = properties[p];
+  }
+
+  return this;
+};

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/6dc5cfb9/frameworks/projects/Core/js/src/org/apache/flex/states/State.js
----------------------------------------------------------------------
diff --git a/frameworks/projects/Core/js/src/org/apache/flex/states/State.js b/frameworks/projects/Core/js/src/org/apache/flex/states/State.js
new file mode 100644
index 0000000..0d6df35
--- /dev/null
+++ b/frameworks/projects/Core/js/src/org/apache/flex/states/State.js
@@ -0,0 +1,49 @@
+/**
+ * Licensed 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.
+ */
+
+goog.provide('mx_states_State');
+
+
+
+/**
+ * @constructor
+ * @param {Object=} opt_props The initial properties.
+ */
+mx_states_State = function(opt_props) {
+  opt_props = typeof opt_props !== 'undefined' ? opt_props : null;
+};
+
+
+/**
+ * Metadata
+ *
+ * @type {Object.<string, Array.<Object>>}
+ */
+mx_states_State.prototype.FLEXJS_CLASS_INFO =
+    { names: [{ name: 'State',
+                qName: 'mx_states_State' }] };
+
+
+/**
+ * @expose
+ * @type {string} name The state name.
+ */
+mx_states_State.prototype.name = '';
+
+
+/**
+ * @expose
+ * @type {Array} overrides The state data.
+ */
+mx_states_State.prototype.overrides = null;