Open Source AS3 APIs

This page contains various open source ActionScript 3.0 APIs which I have developed specifically for Adobe Flex and AIR.

All source code contained on this page has been published under the MIT license and is protected as stated therein.

IMap:
Defines the contract for HashMap implementations which are to expose an API into a managed collection of key value pairs.
IMap

HashMap:
Concrete IMap implementation which provides a mapping of key / value pairs and a standard API for working with the map.
HashMap

ResourceMap:
Concrete IMap implementation which dynamically creates a mapping - via ResourceBundle - of key / value pairs for creating, removing, updating and deleting resources at runtime.
ResourceMap

LocalPersistenceMap:
Concrete IMap implementation into the underlying data object of a SharedObject instance on a local file system.
LocalPersistenceMap

IHashMapEntry:
Defines the contract for classes which are to provide a specific implementation of an IMap entry consisting of a key and value.
IHashMapEntry

HashMapEntry:
Provides a strongly typed implementation of a key / value pair.
HashMapEntry

Iterator:
Defines the contract for classes which are to provide an API for performing iteration over an aggregate object.
Iterator

CollectionIterator:
Concrete Iterator implementation which provides an API for iterating over an ICollectionView.
CollectionIterator

ArrayIterator:
Concrete Iterator implementation which provides an API for iterating over an Array.
ArrayIterator

Iterable:
Defines the contract for classes which are to provide a convenience operation for creating an Iterator implementation for the aggregate object.
Iterable

Collection:
Iterable implementation which extends ArrayCollection to provides access to the CollectionIterator.
Collection

ArrayList:
Iterable implementation which extends Array in order to provide access to the ArrayIterator of the collection. ArrayLis is not an ArrayList in terms of boxing and unboxing to explicit types. References to each index of an ArrayList return an object of the type which was placed in the Array.
ArrayList

IEnumeration:
Defines the contract for Enumeration implementations which are to provide an API for accessing a series of elements successively.
IEnumeration

StringTokenizer:
Provides a simple API from which Strings can be split into individual tokens based on a specific delimiter.
StringTokenizer

CollectionSortUtil:
Utility class which provides sorting of an ICollectionView instance based on specified key.
CollectionSortUtil

IQueryString:
Defines the contract for classes which are to provide an API allowing detailed inspection / modification of a QueryString.
IQueryString

QueryString:
IQueryString implementation allowing detailed inspection and modification of an application QueryString.
QueryString

MetadataUtils :
All static class which provides utility operations from which class annotations can be located and inspected.
MetadataUtils

Metadata:
Provides a strongly typed implementation of a metadata entry.
Metadata

INamespaceManager:
Defines the contract for Namespace management APIs which are utilized by classes and components within an application to retrieve the unique Namespace under which the current context of an application is executing.
INamespaceManager

ContextNamespace:
Singleton implementation which can be utilized by classes within an application to retrieve a contextual namespace in which methods and properties of an object are to be referenced under.
ContextNamespace

Encryption:
Provides an all static API which wraps the SHA1, SHA-256 and MD5 encryption algorithms, respectively, to allow a specific encryption algorithm to be applied to a String.
Encryption

GUIDFactory:
All static utility class which provides a Factory implementation for generating Genuine Unique Identifiers (GUID).
GUIDFactory

IGUID:
Defines the contract for classes which are to provide an API from which clients can get / set Genuine Unique Identifiers (GUID).
IGUID

TestSuiteFactory:
All static utility class which provides a automated mechanism for adding derived TestCase instances to a TestSuite for each method defined by a test case. TestSuiteFactory provides an implementation which automates the process of adding tests by introspectively referencing each public method defined by a test, with the exception of setup and tear down fixtures.
TestSuiteFactory

IExecutable:
Defines the contract for classes which are to provide an API which calculates the elapsed time of a code execution.
IExecutable

Execution:
Convenience class which provides a simple API whereby a specific code execution duration can be measured for calculating relative time in milliseconds.
Execution

MemorySnapshot:
Creates a snap shot containing the total amount of memory allocated by Flash Player, which can be used for diagnostic purposes.
MemorySnapshot

SingletonManager:
All static class which enforces classes which implement the Singleton pattern are only ever to have a single instance instantiated, thus eliminating the Singleton construction / protection boiler plate code from the actual class implementation.
SingletonManager

AbstractEnforcer:
All static class which provides enforces a pseudo-abstract class can never have an instance instantiated.
AbstractEnforcer

AbstractStaticType:
Abstract class which ensures an all static class is never instantiated.
AbstractStaticType

ConstantDefinitionUtil:
All static utility class which provides a mechanism for determining if a static constant has been defined by a specific Class object, as well as operations for inspecting constants which have been defined by a class object.
ConstantDefinitionUtil

DynamicBindingChain:
Provides a mechanism for dynamically adding data bindings to a property on an object as well as management of all objects within the Binding Chain.
DynamicBindingChain

Reflection:
Retrieves the class Object for the String name representation of a specified type.
Reflection

BinaryConversion:
All static utility class which provides an API for converting numeric data types to their 4, 8, 16 and 32-bit binary equivalents, respectively.
BinaryConversion

StringUtils:
All static utility class which builds on mx.utils.StringUtil to add additional methods for replacing items in a String.
StringUtils

ResourceInspector:
All static class which provides utility methods for performing detailed inspection of a ResourceBundle.
ResourceInspector

URIRequestHelper:
All static class which provides an API for loading a linked document to a specified target.
URIRequestHelper

HTTPPOSTGateway:
Provides an API which parses an arbitrary object and posts the properties of the object as a set of name / value pairs in a URI encoded HTTP post.
HTTPPOSTGateway

IViewNotifierEvent:
Provides a mechanism which facilitates view notification for CairngormEvent sub-classes by dispatching result / fault events back into the event flow from which views of interest may addListeners and respond appropriately.
IViewNotifierEvent

XMLAsset:
XMLAsset provides a base class implementation from which XML documents can be embedded in an ActionScript class and decoded to a native XML object instance.
XMLAsset

XMLSerializationUtil:
All static API which provides a utility for serializing an n-level nested Object to an XML encoded document structure.
XMLSerializationUtil

XMLAttributeUtil:
All static class which provides an API for querying XML attributes.
XMLAttributeUtil

IAMFSerializable:
Defines the contract for serializing / deserializing AMF encoded classes in order to preserve and retain type information.
IAMFSerializable

DoubleClickGesture:
All static utility class which detects a double click based on a minimum duration of 300 milliseconds.
DoubleClickGesture

ClientSystemCapabilities:
All static class which provides an API for retrieving a users system capabilities.
ClientSystemCapabilities

AVM2MemoryUtil:
Utility class which provides static methods for retrieving the total memory allocated to the Flash Player VM in bytes, kilobytes or megabytes.
AVM2MemoryUtil

ManagedTimer:
All static class which provides an API for working with Managed Timer instances.
ManagedTimer

DisplayObjectReparenter:
All static utility class which provide an API from which DisplayObjects can be reparented to a new parent container within the system.
DisplayObjectReparenter

AMFPHPRemoteGateway:
Provides a generic AMFPHP gateway implementation for performing remote procedure call (RPC) service invocation.
AMFPHPRemoteGateway

WebORBPHPRemoteGateway:
Provides a generic Weborb for PHP gateway implementation for performing remote procedure call (RPC) service invocation.
WebORBPHPRemoteGateway

IPV4Inspector:
Provides an API for inspecting and validating an ip address which is to validate against an IP version 4 Address (IPv4).
IPV4Inspector

IInspectableFileClient:
Defines the contract for classes which perform File related tasks and must provide an interface into the File object (AIR Only).
IInspectableFileClient

FileWriter:
Provides an API for synchronous and asynchronous File creation to a local filesystem (AIR Only).
FileWriter

INativeDragOperationClient:
Defines the contract for classes which are to handle NativeDragEvents which occur when a file is dragged from the users desktop to an AIR application (AIR Only).
INativeDragOperationClient

NativeDragOperation:
Provides an API from which multiple clients of interest can receive notification when a NativeDragEvent occurs as a result of a specific user gesture which triggers a Drag and Drop operation (AIR Only).
NativeDragOperation