Skip to content

Commit

Permalink
initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
kemsky committed Jun 15, 2014
1 parent 9ce48fc commit 419e959
Show file tree
Hide file tree
Showing 149 changed files with 11,736 additions and 0 deletions.
68 changes: 68 additions & 0 deletions FlexXB.iml
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="Flex" version="4">
<component name="FlexBuildConfigurationManager" active="FlexXB">
<configurations>
<configuration name="FlexXB" output-type="Library" output-file="FlexXB_1.0.swc" output-folder="$MODULE_DIR$/bin">
<dependencies target-player="14.0">
<entries>
<entry library-id="822e3d4f-fbd9-4f58-a6e4-ec16fc523940">
<dependency linkage="External" />
</entry>
<entry library-id="ddbe7c9e-a820-4bbd-bdbf-c4ed0caaa5bd">
<dependency linkage="Test" />
</entry>
<entry library-id="f5e4d4de-0d8c-423b-8dd5-97fc09efd56b">
<dependency linkage="Test" />
</entry>
</entries>
<sdk name="air14_4.12.1" />
</dependencies>
<compiler-options />
<packaging-air-desktop />
<packaging-android />
<packaging-ios />
</configuration>
</configurations>
<compiler-options />
</component>
<component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/testSrc" isTestSource="true" />
</content>
<orderEntry type="jdk" jdkName="air14_4.12.1" jdkType="Flex SDK Type (new)" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="module-library" exported="">
<library type="flex">
<properties id="822e3d4f-fbd9-4f58-a6e4-ec16fc523940" />
<CLASSES>
<root url="jar://$MODULE_DIR$/libs/RObject.swc!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library" exported="">
<library type="flex">
<properties id="ddbe7c9e-a820-4bbd-bdbf-c4ed0caaa5bd" />
<CLASSES>
<root url="jar://$MODULE_DIR$/libs/flexunit.swc!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library" exported="">
<library type="flex">
<properties id="f5e4d4de-0d8c-423b-8dd5-97fc09efd56b" />
<CLASSES>
<root url="jar://$MODULE_DIR$/libs/hamcrest-as3-flex-1.1.3.swc!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
</component>
</module>

7 changes: 7 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,10 @@ FlexXB
======

FlexXB fork, optimized for mobile applications

See https://code.google.com/p/flexxb/

Optimized XML serializer/deserializer, few times faster than original version:
* faster [reflection] (https://github.com/kemsky/RObject)
* using variables instead of accessor functions
* other minor optimizations (cache etc.)
Empty file added bin/empty.dir
Empty file.
Binary file added docs/FlexXB.doc
Binary file not shown.
Binary file added libs/RObject.swc
Binary file not shown.
63 changes: 63 additions & 0 deletions src/com/googlecode/flexxb/VERSION.as
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
/**
* FlexXB - an annotation based xml serializer for Flex and Air applications
* Copyright (C) 2008-2012 Alex Ciobanu
*
* 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.
*/
package com.googlecode.flexxb
{

/**
*
* @author Alexutz
*
*/
public final class VERSION
{
/**
*
* @return
*
*/
public static function get Version():String
{
return "2.3.0";
}

/**
*
* @return
*
*/
public static function get Name():String
{
return "FlexXB";
}

/**
*
* @return
*
*/
public static function get Link():String
{
return "http://code.google.com/p/flexxb";
}

public function VERSION()
{
throw new Error("Do not instanciate this class");
}

}
}
128 changes: 128 additions & 0 deletions src/com/googlecode/flexxb/annotation/contract/AccessorType.as
Original file line number Diff line number Diff line change
@@ -0,0 +1,128 @@
/**
* FlexXB - an annotation based xml serializer for Flex and Air applications
* Copyright (C) 2008-2012 Alex Ciobanu
*
* 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.
*/
package com.googlecode.flexxb.annotation.contract
{

/**
* Enumeration defining field acces types. A class field can be accessed
* in readonly, writeonly or readwrite modes.
* @author Alexutz
*
*/
public class AccessorType
{
/**
* read only
*/
public static const READ_ONLY:AccessorType = new AccessorType("readonly");
/**
* write only
*/
public static const WRITE_ONLY:AccessorType = new AccessorType("writeonly");
/**
* read write
*/
public static const READ_WRITE:AccessorType = new AccessorType("readwrite");

/**
* Obtain an AccessorType instance from a string value. If the value is
* invalid the READ_WRITE instance will be returned by default.
* @param value
* @return
*
*/
public static function fromString(value:String):AccessorType
{
switch (value)
{
case "readonly":
return READ_ONLY;
break;
case "writeonly":
return WRITE_ONLY;
break;
case "readwrite":
return READ_WRITE;
break;
default:
return READ_WRITE;
}
}

private static var initialized:Boolean = false;

{
initialized = true;
}

private var name:String;

/**
* Constructor
* @param name
* @private
*/
public function AccessorType(name:String)
{
if (initialized)
{
throw new Error("Use static fields instead.");
}
this.name = name;
}

/**
* Check if the type is read only
* @return true id type is read only, false otherwise
*
*/
public function isReadOnly():Boolean
{
return READ_ONLY == this;
}

/**
* Check if the type is write only
* @return true id type is write only, false otherwise
*
*/
public function isWriteOnly():Boolean
{
return WRITE_ONLY == this;
}

/**
* Check if the type is read-write
* @return true id type is read-write, false otherwise
*
*/
public function isReadWrite():Boolean
{
return READ_WRITE == this;
}

/**
* Get a string representation of the current instance
* @return
*
*/
public function toString():String
{
return name;
}
}
}
Loading

0 comments on commit 419e959

Please sign in to comment.