flex2.compiler.mxml.lang.StandardDefs Maven / Gradle / Ivy
/*
*
* 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 flex2.compiler.mxml.lang;
import flex2.compiler.util.NameFormatter;
import java.util.*;
/**
* MXML standard (i.e., framework-independent) AS support classes,
* packages, import sets, etc. NOTE: definition names (interface*,
* class*) are generally stored here in internal format, usable for
* typetable lookups. Use NameFormatter.toDot() to convert to source
* code format. (Note: an exception is lists of import names, in dot
* format already.)
*
* A few select constants are interned, primarily because they are
* utilized during AST generation.
*/
public abstract class StandardDefs
{
private static StandardDefs STANDARD_DEFS_MXML_2006;
private StandardDefs()
{
}
public static StandardDefs getStandardDefs(String frameworkType)
{
if (STANDARD_DEFS_MXML_2006 == null)
STANDARD_DEFS_MXML_2006 = new StandardDefs2006();
return STANDARD_DEFS_MXML_2006;
}
public abstract String getBindingPackage();
public abstract String getContainerPackage();
public abstract String getCorePackage();
public abstract String getControlsPackage();
public abstract String getDataPackage();
public abstract String getDataUtilsPackage();
public abstract String getEffectsPackage();
public abstract String getEventsPackage();
public abstract String getManagersPackage();
public abstract String getMessagingConfigPackage();
public abstract String getModulesPackage();
public abstract String getPreloadersPackage();
public abstract String getResourcesPackage();
public abstract String getRPCPackage();
public abstract String getRPCXMLPackage();
public abstract String getStatesPackage();
public abstract String getStylesPackage();
public abstract String getUtilsPackage();
public abstract String getBindablePropertyTemplate();
public abstract String getClassDefTemplate();
public abstract String getClassDefLibTemplate();
public abstract String getEmbedClassTemplate();
public abstract String getFontFaceRulesTemplate();
public abstract String getInterfaceDefTemplate();
public abstract String getManagedPropertyTemplate();
public abstract String getSkinClassTemplate();
public abstract String getStyleDefTemplate();
public abstract String getStyleLibraryTemplate();
public abstract String getStyleModuleTemplate();
public abstract String getWatcherSetupUtilTemplate();
//--------------------------------------------------------------------------
//
// SWCs
//
//--------------------------------------------------------------------------
public static final String SWC_AIRGLOBAL = "airglobal.swc";
public static final String SWC_AVMPLUS = "avmplus.swc";
public static final String SWC_PLAYERGLOBAL = "playerglobal.swc";
//--------------------------------------------------------------------------
//
// Packages
//
//--------------------------------------------------------------------------
public static final String PACKAGE___AS3___VEC = "__AS3__.vec";
// flash.*
public static final String PACKAGE_FLASH_ACCESSIBILITY = "flash.accessibility";
public static final String PACKAGE_FLASH_DATA = "flash.data";
public static final String PACKAGE_FLASH_DEBUGGER = "flash.debugger";
public static final String PACKAGE_FLASH_DESKTOP = "flash.desktop";
public static final String PACKAGE_FLASH_DISPLAY = "flash.display";
public static final String PACKAGE_FLASH_ERRORS = "flash.errors";
public static final String PACKAGE_FLASH_EVENTS = "flash.events";
public static final String PACKAGE_FLASH_EXTERNAL = "flash.external";
public static final String PACKAGE_FLASH_FILESYSTEM = "flash.filesystem";
public static final String PACKAGE_FLASH_FILTERS = "flash.filters";
public static final String PACKAGE_FLASH_GEOM = "flash.geom";
public static final String PACKAGE_FLASH_HTML = "flash.html";
public static final String PACKAGE_FLASH_HTML_SCRIPT = "flash.html.script";
public static final String PACKAGE_FLASH_MEDIA = "flash.media";
public static final String PACKAGE_FLASH_NET = "flash.net";
public static final String PACKAGE_FLASH_PRINTING = "flash.printing";
public static final String PACKAGE_FLASH_PROFILER = "flash.profiler";
public static final String PACKAGE_FLASH_SYSTEM = "flash.system";
public static final String PACKAGE_FLASH_TEXT = "flash.text";
public static final String PACKAGE_FLASH_UI = "flash.ui";
public static final String PACKAGE_FLASH_UTILS = "flash.utils".intern();
public static final String PACKAGE_FLASH_XML = "flash.xml";
// flashx.textLayout.*
public static final String PACKAGE_FLASH_TEXTLAYOUT_COMPOSE = "flashx.textLayout.compose";
// mx.*
private static final String PACKAGE_MX_BINDING = "mx.binding".intern();
private static final String PACKAGE_MX_CONTAINERS = "mx.containers";
private static final String PACKAGE_MX_CONTROLS = "mx.controls";
private static final String PACKAGE_MX_CORE = "mx.core".intern();
private static final String PACKAGE_MX_DATA = "mx.data";
private static final String PACKAGE_MX_DATA_UTILS = "mx.data.utils";
private static final String PACKAGE_MX_EFFECTS = "mx.effects";
private static final String PACKAGE_MX_EVENTS = "mx.events";
public static final String PACKAGE_MX_FILTERS = "mx.filters";
private static final String PACKAGE_MX_MANAGERS = "mx.managers";
private static final String PACKAGE_MX_MESSAGING_CONFIG = "mx.messaging.config";
private static final String PACKAGE_MX_MODULES = "mx.modules";
private static final String PACKAGE_MX_PRELOADERS = "mx.preloaders";
private static final String PACKAGE_MX_RESOURCES = "mx.resources";
private static final String PACKAGE_MX_RPC = "mx.rpc"; // TODO to FramewkDefs? RpcDefs?
private static final String PACKAGE_MX_RPC_XML = "mx.rpc.xml"; // TODO to FramewkDefs? RpcDefs?
private static final String PACKAGE_MX_STATES = "mx.states".intern();
private static final String PACKAGE_MX_STYLES = "mx.styles".intern();
private static final String PACKAGE_MX_UTILS = "mx.utils".intern();
// spark.*
private static final String PACKAGE_SPARK_COMPONENTS = "spark.components";
private static final String PACKAGE_SPARK_CORE = "spark.core";
//private static final String PACKAGE_SPARK_PRIMITIVES = "spark.primitives";
private static final String PACKAGE_TEXT_ELEMENTS = "flashx.textLayout.elements";
private static final String PACKAGE_TEXT_FORMATS = "flashx.textLayout.formats";
//--------------------------------------------------------------------------
//
// Namespaces
//
//--------------------------------------------------------------------------
public static final String NAMESPACE_MX_INTERNAL_LOCALNAME = "mx_internal".intern();
public static final String NAMESPACE_MX_INTERNAL_URI = "http://www.adobe.com/2006/flex/mx/internal";
public final String NAMESPACE_MX_INTERNAL = getCorePackage() + ":" + NAMESPACE_MX_INTERNAL_LOCALNAME;
public final String NAMESPACE_MX_INTERNAL_DOT = getCorePackage() + "." + NAMESPACE_MX_INTERNAL_LOCALNAME;
//--------------------------------------------------------------------------
//
// Interfaces
//
//--------------------------------------------------------------------------
// Interface name with dot
public final String INTERFACE_IFLEXMODULE_DOT = NameFormatter.toDot(getCorePackage(), "IFlexModule");
public final String INTERFACE_IFLEXMODULEFACTORY_DOT = NameFormatter.toDot(getCorePackage(), "IFlexModuleFactory");
public final String INTERFACE_IBINDINGCLIENT_DOT = NameFormatter.toDot(getBindingPackage(), "IBindingClient");
public final String INTERFACE_ISTYLEMANAGER2_DOT = NameFormatter.toDot(getStylesPackage(), "IStyleManager2");
// Interface name with colon
// flashx.textLayout
public static final String INTERFACE_FLASH_TEXTLAYOUT_ISWFCONTEXT = NameFormatter.toColon(PACKAGE_FLASH_TEXTLAYOUT_COMPOSE, "ISWFContext");
public final String INTERFACE_ICHILDLIST = NameFormatter.toColon(getCorePackage(), "IChildList");
public final String INTERFACE_ICONTAINER = NameFormatter.toColon(getCorePackage(), "IContainer");
public final String INTERFACE_IDEFERREDINSTANCE = NameFormatter.toColon(getCorePackage(), "IDeferredInstance");
public final String INTERFACE_IDEFERREDINSTANTIATIONUICOMPONENT = NameFormatter.toColon(getCorePackage(), "IDeferredInstantiationUIComponent");
public final String INTERFACE_IEVENTDISPATCHER = NameFormatter.toColon(PACKAGE_FLASH_EVENTS, "IEventDispatcher");
public final String INTERFACE_IGRAPHICELEMENT = NameFormatter.toColon(PACKAGE_SPARK_CORE, "IGraphicElement");
public final String INTERFACE_IFACTORY = NameFormatter.toColon(getCorePackage(), "IFactory");
public final String INTERFACE_IFLEXDISPLAYOBJECT = NameFormatter.toColon(getCorePackage(), "IFlexDisplayObject");
public final String INTERFACE_IFLEXMODULE = NameFormatter.toColon(getCorePackage(), "IFlexModule");
public final String INTERFACE_IFOCUSMANAGERCONTAINER = NameFormatter.toColon(getManagersPackage(), "IFocusManagerContainer");
public final String INTERFACE_IINVALIDATING = NameFormatter.toColon(getCorePackage(), "IInvalidating");
public final String INTERFACE_ILAYOUTMANAGERCLIENT = NameFormatter.toColon(getManagersPackage(), "ILayoutManagerClient");
public final String INTERFACE_IMANAGED = NameFormatter.toColon(getDataPackage(), "IManaged");
public final String INTERFACE_IMODULEINFO = NameFormatter.toColon(getModulesPackage(), "IModuleInfo");
public final String INTERFACE_IMXMLOBJECT = NameFormatter.toColon(getCorePackage(), "IMXMLObject");
public final String INTERFACE_INAVIGATORCONTENT = NameFormatter.toColon(getCorePackage(), "INavigatorContent");
public final String INTERFACE_IOVERRIDE = NameFormatter.toColon(getStatesPackage(), "IOverride");
public final String INTERFACE_IPROPERTYCHANGENOTIFIER = NameFormatter.toColon(getCorePackage(), "IPropertyChangeNotifier");
public final String INTERFACE_IRAWCHILDRENCONTAINER = NameFormatter.toColon(getCorePackage(), "IRawChildrenContainer");
public final String INTERFACE_ISIMPLESTYLECLIENT = NameFormatter.toColon(getStylesPackage(), "ISimpleStyleClient");
public final String INTERFACE_ISTATECLIENT2 = NameFormatter.toColon(getCorePackage(), "IStateClient2");
public final String INTERFACE_ISTYLECLIENT = NameFormatter.toColon(getStylesPackage(), "IStyleClient");
public final String INTERFACE_ISYSTEMMANAGER = NameFormatter.toColon(getManagersPackage(), "ISystemManager");
public final String INTERFACE_ITRANSIENTDEFERREDINSTANCE = NameFormatter.toColon(getCorePackage(), "ITransientDeferredInstance");
public final String INTERFACE_IUICOMPONENT = NameFormatter.toColon(getCorePackage(), "IUIComponent");
public final String INTERFACE_IVISUALELEMENT = NameFormatter.toColon(getCorePackage(), "IVisualElement");
public final String INTERFACE_IVISUALELEMENTCONTAINER = NameFormatter.toColon(getCorePackage(), "IVisualElementContainer");
// Interface without the package name
public static final String INTERFACE_IMODULE_NO_PACKAGE = "IModule";
//--------------------------------------------------------------------------
//
// Classes
//
//--------------------------------------------------------------------------
// Class name with dot
public final String CLASS_CROSSDOMAINRSLITEM_DOT = NameFormatter.toDot(getCorePackage(), "CrossDomainRSLItem");
public final String CLASS_EMBEDDEDFONTREGISTRY_DOT = NameFormatter.toDot(getCorePackage(), "EmbeddedFontRegistry");
public final String CLASS_FLEXVERSION_DOT = NameFormatter.toDot(getCorePackage(), "FlexVersion");
public final String CLASS_EFFECTMANAGER_DOT = NameFormatter.toDot(getEffectsPackage(), "EffectManager");
public final String CLASS_PROPERTYCHANGEEVENT_DOT = NameFormatter.toDot(getEventsPackage(), "PropertyChangeEvent").intern();
public final String CLASS_REQUEST_DOT = NameFormatter.toDot(getEventsPackage(), "Request").intern();
public final String CLASS_RESOURCEBUNDLE_DOT = NameFormatter.toDot(getResourcesPackage(), "ResourceBundle");
public final String CLASS_RESOURCEMANAGER_DOT = NameFormatter.toDot(getResourcesPackage(), "ResourceManager");
public final String CLASS_REPEATER_DOT = NameFormatter.toDot(getCorePackage(), "Repeater");
public final String CLASS_STYLEMANAGER_DOT = NameFormatter.toDot(getStylesPackage(), "StyleManager");
public final String CLASS_STYLEMANAGERIMPL_DOT = NameFormatter.toDot(getStylesPackage(), "StyleManagerImpl");
public final String CLASS_SYSTEMMANAGERCHILDMANAGER_DOT = NameFormatter.toDot(getManagersPackage(), "systemClasses.ChildManager");
public final String CLASS_TEXTFIELDFACTORY_DOT = NameFormatter.toDot(getCorePackage(), "TextFieldFactory");
public final String CLASS_SINGLETON_DOT = NameFormatter.toDot(getCorePackage(), "Singleton");
// Class name with colon
public final String CLASS_ABSTRACTSERVICE = NameFormatter.toColon(getRPCPackage(), "AbstractService");
public final String CLASS_ACCORDION = NameFormatter.toColon(getContainerPackage(), "Accordion");
public final String CLASS_ADDITEMS = NameFormatter.toColon(PACKAGE_MX_STATES, "AddItems");
public final String CLASS_APPLICATIONDOMAIN = NameFormatter.toColon(PACKAGE_FLASH_SYSTEM, "ApplicationDomain");
public final String CLASS_BINDINGMANAGER = NameFormatter.toColon(getBindingPackage(), "BindingManager");
public final String CLASS_CLASSFACTORY = NameFormatter.toColon(getCorePackage(), "ClassFactory");
public final String CLASS_CSSSTYLEDECLARATION = NameFormatter.toColon(getStylesPackage(), "CSSStyleDeclaration");
public final String CLASS_DEFERREDINSTANCEFROMCLASS = NameFormatter.toColon(getCorePackage(), "DeferredInstanceFromClass");
public final String CLASS_DEFERREDINSTANCEFROMFUNCTION = NameFormatter.toColon(getCorePackage(), "DeferredInstanceFromFunction");
public final String CLASS_DOWNLOADPROGRESSBAR = NameFormatter.toColon(getPreloadersPackage(), "DownloadProgressBar");
public final String CLASS_EFFECT = NameFormatter.toColon(getEffectsPackage(), "Effect");
public final String CLASS_EVENT = NameFormatter.toColon(PACKAGE_FLASH_EVENTS, "Event");
public final String CLASS_EVENTDISPATCHER = NameFormatter.toColon(PACKAGE_FLASH_EVENTS, "EventDispatcher");
public final String CLASS_FLEXEVENT = NameFormatter.toColon(getEventsPackage(), "FlexEvent");
public final String CLASS_FLEXSPRITE = NameFormatter.toColon(getCorePackage(), "FlexSprite");
public final String CLASS_SPARK_RADIOBUTTONGROUP = NameFormatter.toColon(PACKAGE_SPARK_COMPONENTS, "RadioButtonGroup");
public final String CLASS_ITEMSCOMPONENT = NameFormatter.toColon(PACKAGE_SPARK_COMPONENTS, "SkinnableContainer");
public final String CLASS_LOADERCONFIG = NameFormatter.toColon(getMessagingConfigPackage(), "LoaderConfig");
public final String CLASS_MANAGED = NameFormatter.toColon(getDataUtilsPackage(), "Managed");
public final String CLASS_MODULEEVENT = NameFormatter.toColon(getModulesPackage(), "ModuleEvent");
public final String CLASS_MODULEMANAGER = NameFormatter.toColon(getModulesPackage(), "ModuleManager");
public final String CLASS_NAMESPACEUTIL = NameFormatter.toColon(getRPCXMLPackage(), "NamespaceUtil");
public final String CLASS_OBJECTPROXY = NameFormatter.toColon(getUtilsPackage(), "ObjectProxy");
public final String CLASS_PRELOADER = NameFormatter.toColon(getPreloadersPackage(), "Preloader");
public final String CLASS_PROPERTYCHANGEEVENT = NameFormatter.toColon(getEventsPackage(), "PropertyChangeEvent");
public final String CLASS_RADIOBUTTONGROUP = NameFormatter.toColon(getControlsPackage(), "RadioButtonGroup");
public final String CLASS_REPEATER = NameFormatter.toColon(getCorePackage(), "Repeater");
public final String CLASS_SETEVENTHANDLER = NameFormatter.toColon(getStatesPackage(), "SetEventHandler");
public final String CLASS_SETPROPERTY = NameFormatter.toColon(getStatesPackage(), "SetProperty");
public final String CLASS_SETSTYLE = NameFormatter.toColon(getStatesPackage(), "SetStyle");
public final String CLASS_STATE = NameFormatter.toColon(getStatesPackage(), "State");
public final String CLASS_STYLEEVENT = NameFormatter.toColon(getEventsPackage(), "StyleEvent");
public final String CLASS_STYLEMANAGER = NameFormatter.toColon(getStylesPackage(), "StyleManager");
public final String CLASS_SYSTEMCHILDRENLIST = NameFormatter.toColon(getManagersPackage(), "SystemChildrenList");
public final String CLASS_SYSTEMMANAGER = NameFormatter.toColon(getManagersPackage(), "SystemManager");
public final String CLASS_SYSTEMRAWCHILDRENLIST = NameFormatter.toColon(getManagersPackage(), "SystemRawChildrenList");
public final String CLASS_UICOMPONENT = NameFormatter.toColon(getCorePackage(), "UIComponent"); // TODO only needed for states - remove
public final String CLASS_UICOMPONENTDESCRIPTOR = NameFormatter.toColon(getCorePackage(), "UIComponentDescriptor");
public final String CLASS_UIDUTIL = NameFormatter.toColon(getUtilsPackage(), "UIDUtil");
public final String CLASS_VIEWSTACK = NameFormatter.toColon(getContainerPackage(), "ViewStack");
public final String CLASS_XMLUTIL = NameFormatter.toColon(getUtilsPackage(), "XMLUtil");
public static final String CLASS_APPLICATION = NameFormatter.toColon(PACKAGE_MX_CORE, "Application");
public static final String CLASS_ARRAY = "Array";
public static final String CLASS_VECTOR = NameFormatter.toDot(PACKAGE___AS3___VEC, "Vector");
public static final String CLASS_VECTOR_SHORTNAME = "Vector";
public static final String CLASS_XML = "XML";
public static final String CLASS_XMLLIST = "XMLList";
public static final String CLASS_XMLNODE = NameFormatter.toColon(PACKAGE_FLASH_XML, "XMLNode");
// Spark Components
public static final String CLASS_SPARK_APPLICATION = NameFormatter.toColon(PACKAGE_SPARK_COMPONENTS, "Application");
public static final String CLASS_SPARK_SPRITEVISUALELEMENT = NameFormatter.toColon(PACKAGE_SPARK_CORE, "SpriteVisualElement");
public static final String CLASS_TEXT_DIV = NameFormatter.toColon(PACKAGE_TEXT_ELEMENTS, "DivElement");
public static final String CLASS_TEXT_IMG = NameFormatter.toColon(PACKAGE_TEXT_ELEMENTS, "InlineGraphicElement");
public static final String CLASS_TEXT_LINK = NameFormatter.toColon(PACKAGE_TEXT_ELEMENTS, "LinkElement");
public static final String CLASS_TEXT_LAYOUT_FORMAT = NameFormatter.toColon(PACKAGE_TEXT_FORMATS, "TextLayoutFormat");
public static final String CLASS_TEXT_RICHTEXT = NameFormatter.toColon(PACKAGE_SPARK_COMPONENTS, "RichText");
public static final String CLASS_TEXT_PARAGRAPH = NameFormatter.toColon(PACKAGE_TEXT_ELEMENTS, "ParagraphElement");
public static final String CLASS_TEXT_SPAN = NameFormatter.toColon(PACKAGE_TEXT_ELEMENTS, "SpanElement");
public static final String CLASS_TEXT_TAB = NameFormatter.toColon(PACKAGE_TEXT_ELEMENTS, "TabElement");
public static final String CLASS_TEXT_TCY = NameFormatter.toColon(PACKAGE_TEXT_ELEMENTS, "TCYElement");
//--------------------------------------------------------------------------
//
// Properties
//
//--------------------------------------------------------------------------
public static final String PROP_CURRENTSTATE = "currentState";
public static final String PROP_EXCLUDE_STATES = "excludeFrom";
public static final String PROP_FORMAT = "format";
public static final String PROP_CLASSFACTORY_GENERATOR = "generator";
public static final String PROP_ID = "id";
public static final String PROP_FIXED = "fixed";
public static final String PROP_TYPE = "type";
public static final String PROP_INCLUDE_STATES = "includeIn";
public static final String PROP_ITEM_CREATION_POLICY = "itemCreationPolicy";
public static final String PROP_ITEM_DESTRUCTION_POLICY = "itemDestructionPolicy";
public static final String PROP_STATE_NAME = "name";
public static final String PROP_STATE_GROUPS = "stateGroups";
public static final String PROP_SOURCE = "source";
public static final String PROP_CLASSFACTORY_PROPERTIES = "properties";
public static final String PROP_UICOMPONENT_STATES = "states";
// intern, because it's used as an identifier.
public static final String PROP_CONTAINER_CHILDREPEATERS = "childRepeaters".intern();
//--------------------------------------------------------------------------
//
// Metadata
//
//--------------------------------------------------------------------------
// TODO still lots of string constants for these in TypeTable
public static final String MD_ACCESSIBILITYCLASS = "AccessibilityClass";
public static final String MD_ARRAYELEMENTTYPE = "ArrayElementType";
public static final String MD_BINDABLE = "Bindable";
public static final String MD_CHANGEEVENT = "ChangeEvent";
public static final String MD_COLLAPSEWHITESPACE = "CollapseWhiteSpace";
public static final String MD_DEFAULTPROPERTY = "DefaultProperty";
public static final String MD_DEPRECATED = "Deprecated";
public static final String MD_EFFECT = "Effect";
public static final String MD_EMBED = "Embed";
public static final String MD_EVENT = "Event";
public static final String MD_FRAME = "Frame";
public static final String MD_HOSTCOMPONENT = "HostComponent";
public static final String MD_ICONFILE = "IconFile";
/*
* TODO: Remove [IMXMLObject] metadata support once third party libraries
* (e.g. TLF) have a non-framework dependent swc to link against IMXMLObject
*/
public static final String MD_IMXMLOBJECT = "IMXMLObject";
public static final String MD_INSPECTABLE = "Inspectable";
public static final String MD_INSTANCETYPE = "InstanceType";
public static final String MD_MANAGED = "Managed";
public static final String MD_MIXIN = "Mixin";
public static final String MD_NONCOMMITTINGCHANGEEVENT = "NonCommittingChangeEvent";
public static final String MD_PERCENTPROXY = "PercentProxy";
public static final String MD_REMOTECLASS = "RemoteClass";
public static final String MD_REQUIRESLICENSE = "RequiresLicense";
public static final String MD_RESOURCEBUNDLE = "ResourceBundle";
public static final String MD_RICHTEXTCONTENT = "RichTextContent";
public static final String MD_STYLE = "Style";
public static final String MD_SWF = "SWF";
public static final String MD_TRANSIENT = "Transient";
public static final String MD_SKINSTATE = "SkinState";
public static final String MD_EXCLUDE = "Exclude";
public static final String MD_SKINPART = "SkinPart";
public static final String MD_ALTERNATIVE = "Alternative";
public static final String MD_DISCOURAGEDFORPROFILE = "DiscouragedForProfile";
public static final String MD_EXPERIMENTAL = "Experimental";
// metadata param names
public static final String MDPARAM_BINDABLE_EVENT = "event";
public static final String MDPARAM_TYPE = "type";
public static final String MDPARAM_DESTINATION = "destination";
public static final String MDPARAM_MODE = "mode";
// metadata param values
public static final String MDPARAM_STYLE_FORMAT_COLOR = "Color";
public static final String MDPARAM_INSPECTABLE_FORMAT_COLOR = "Color";
public static final String MDPARAM_PROPERTY_CHANGE = "propertyChange";
public static final String MDPARAM_MANAGED_MODE_HIERARCHICAL = "hierarchical";
public static final String MDPARAM_MANAGED_MODE_ASSOCIATION = "association";
public static final String MDPARAM_MANAGED_MODE_MANUAL = "manual";
public static final String[] DefaultAS3Metadata = new String[] {StandardDefs.MD_BINDABLE,
StandardDefs.MD_MANAGED,
StandardDefs.MD_CHANGEEVENT,
StandardDefs.MD_NONCOMMITTINGCHANGEEVENT,
StandardDefs.MD_TRANSIENT};
//--------------------------------------------------------------------------
//
// Graphics
//
//--------------------------------------------------------------------------
public static final String GRAPHICS_MASK = "mask";
public static final String GRAPHICS_DEFINITION_NAME = "name";
//--------------------------------------------------------------------------
//
// Keywords
//
//--------------------------------------------------------------------------
public static final String NULL = "null";
public static final String UNDEFINED = "undefined";
//--------------------------------------------------------------------------
//
// Velocity Templates
//
//--------------------------------------------------------------------------
/**
* implicit imports - not MXML support, but auto-imported to facilitate user script code.
*/
public static final Set implicitImports = new HashSet();
static
{
implicitImports.add(NameFormatter.toDotStar(PACKAGE_FLASH_ACCESSIBILITY));
implicitImports.add(NameFormatter.toDotStar(PACKAGE_FLASH_DEBUGGER));
implicitImports.add(NameFormatter.toDotStar(PACKAGE_FLASH_DISPLAY));
implicitImports.add(NameFormatter.toDotStar(PACKAGE_FLASH_ERRORS));
implicitImports.add(NameFormatter.toDotStar(PACKAGE_FLASH_EVENTS));
implicitImports.add(NameFormatter.toDotStar(PACKAGE_FLASH_EXTERNAL));
implicitImports.add(NameFormatter.toDotStar(PACKAGE_FLASH_FILTERS));
implicitImports.add(NameFormatter.toDotStar(PACKAGE_FLASH_GEOM));
implicitImports.add(NameFormatter.toDotStar(PACKAGE_FLASH_MEDIA));
implicitImports.add(NameFormatter.toDotStar(PACKAGE_FLASH_NET));
implicitImports.add(NameFormatter.toDotStar(PACKAGE_FLASH_PRINTING));
implicitImports.add(NameFormatter.toDotStar(PACKAGE_FLASH_PROFILER));
implicitImports.add(NameFormatter.toDotStar(PACKAGE_FLASH_SYSTEM));
implicitImports.add(NameFormatter.toDotStar(PACKAGE_FLASH_TEXT));
implicitImports.add(NameFormatter.toDotStar(PACKAGE_FLASH_UI));
implicitImports.add(NameFormatter.toDotStar(PACKAGE_FLASH_UTILS));
implicitImports.add(NameFormatter.toDotStar(PACKAGE_FLASH_XML));
}
/**
* A list of Spark "text" components that require special whitespace
* handling. This is part of a workaround for SDK-22601, SDK-23160 and
* SDK-24611.
*/
public static final HashSet SPARK_TEXT_TAGS = new HashSet(13);
static
{
SPARK_TEXT_TAGS.add("RichEditableText");
SPARK_TEXT_TAGS.add("RichText");
SPARK_TEXT_TAGS.add("TextArea");
SPARK_TEXT_TAGS.add("TextInput");
SPARK_TEXT_TAGS.add("a");
SPARK_TEXT_TAGS.add("br");
SPARK_TEXT_TAGS.add("div");
SPARK_TEXT_TAGS.add("img");
SPARK_TEXT_TAGS.add("p");
SPARK_TEXT_TAGS.add("span");
SPARK_TEXT_TAGS.add("tcy");
SPARK_TEXT_TAGS.add("tab");
SPARK_TEXT_TAGS.add("TextFlow");
}
/**
* A list of Spark "text" component properties that can be assigned text
* content. This is part of a workaround to avoid SDK-23972.
*/
public static final HashSet SPARK_TEXT_CONTENT_PROPERTIES = new HashSet(3);
static
{
SPARK_TEXT_CONTENT_PROPERTIES.add("content");
SPARK_TEXT_CONTENT_PROPERTIES.add("mxmlChildren");
SPARK_TEXT_CONTENT_PROPERTIES.add("text");
}
/**
* The text attribute can be used to set a Spark "text" components's content
* directly. This is part of a workaround for SDK-24699.
*/
public static final String SPARK_TEXT_ATTRIBUTE = "text";
public static final String[] splitPackageMxFilters;
static
{
splitPackageMxFilters = NameFormatter.toDotStar(PACKAGE_MX_FILTERS).split("\\.");
for (int i = 0; i < splitPackageMxFilters.length; i++)
{
splitPackageMxFilters[i] = splitPackageMxFilters[i].intern();
}
}
public static final Map splitImplicitImports = new HashMap();
static
{
for (String implicitImport : implicitImports)
{
String[] splitImplicitImport = implicitImport.split("\\.");
for (int i = 0; i < splitImplicitImport.length; i++)
{
splitImplicitImport[i] = splitImplicitImport[i].intern();
}
splitImplicitImports.put(implicitImport, splitImplicitImport);
}
}
/**
* implicit imports that exist only in AIR
*/
public static final Set airOnlyImplicitImports = new HashSet();
static
{
airOnlyImplicitImports.add(NameFormatter.toDotStar(PACKAGE_FLASH_DATA));
airOnlyImplicitImports.add(NameFormatter.toDotStar(PACKAGE_FLASH_DESKTOP));
airOnlyImplicitImports.add(NameFormatter.toDotStar(PACKAGE_FLASH_FILESYSTEM));
airOnlyImplicitImports.add(NameFormatter.toDotStar(PACKAGE_FLASH_HTML));
airOnlyImplicitImports.add(NameFormatter.toDotStar(PACKAGE_FLASH_HTML_SCRIPT));
}
public static final Map splitAirOnlyImplicitImports = new HashMap();
static
{
for (String airOnlyImplicitImport : airOnlyImplicitImports)
{
String[] splitAirOnlyImplicitImport = airOnlyImplicitImport.split("\\.");
for (int i = 0; i < splitAirOnlyImplicitImport.length; i++)
{
splitAirOnlyImplicitImport[i] = splitAirOnlyImplicitImport[i].intern();
}
splitAirOnlyImplicitImports.put(airOnlyImplicitImport, splitAirOnlyImplicitImport);
}
}
private Set standardMxmlImports;
/**
* standard (framework-independent) MXML support imports
*/
public final Set getStandardMxmlImports()
{
if (standardMxmlImports == null)
{
standardMxmlImports = new HashSet();
standardMxmlImports.add(NameFormatter.toDotStar(getStylesPackage()));
standardMxmlImports.add(NameFormatter.toDotStar(getBindingPackage()));
standardMxmlImports.add(NameFormatter.toDot(NAMESPACE_MX_INTERNAL));
standardMxmlImports.add(NameFormatter.toDot(INTERFACE_IDEFERREDINSTANCE)); // TODO make these conditional on use
standardMxmlImports.add(NameFormatter.toDot(INTERFACE_IFACTORY)); // TODO make these conditional on use
standardMxmlImports.add(INTERFACE_IFLEXMODULEFACTORY_DOT);
standardMxmlImports.add(NameFormatter.toDot(INTERFACE_IPROPERTYCHANGENOTIFIER));
standardMxmlImports.add(NameFormatter.toDot(CLASS_CLASSFACTORY));
standardMxmlImports.add(NameFormatter.toDot(CLASS_DEFERREDINSTANCEFROMCLASS));
standardMxmlImports.add(NameFormatter.toDot(CLASS_DEFERREDINSTANCEFROMFUNCTION));
}
return standardMxmlImports;
}
private Map splitStandardMxmlImports;
public final Map getSplitStandardMxmlImports()
{
if (splitStandardMxmlImports == null)
{
splitStandardMxmlImports = new HashMap();
for (String standardMxmlImport : getStandardMxmlImports())
{
String[] splitStandardMxmlImport = standardMxmlImport.split("\\.");
for (int i = 0; i < splitStandardMxmlImport.length; i++)
{
splitStandardMxmlImport[i] = splitStandardMxmlImport[i].intern();
}
splitStandardMxmlImports.put(standardMxmlImport, splitStandardMxmlImport);
}
}
return splitStandardMxmlImports;
}
private String[] watcherImports;
public String[] getImports()
{
if (watcherImports == null)
{
watcherImports = new String[] {
getCorePackage() + ".IFlexModuleFactory",
getBindingPackage() + ".ArrayElementWatcher",
getBindingPackage() + ".FunctionReturnWatcher",
getBindingPackage() + ".IWatcherSetupUtil2",
getBindingPackage() + ".PropertyWatcher",
getBindingPackage() + ".RepeaterComponentWatcher",
getBindingPackage() + ".RepeaterItemWatcher",
getBindingPackage() + ".StaticPropertyWatcher",
getBindingPackage() + ".XMLWatcher",
getBindingPackage() + ".Watcher"
};
}
return watcherImports;
}
/**
* AS3 reserved words, illegal as var names
* NOTE: this list is hand-assembled from the constants in macromedia.asc.parser.Tokens and needs to be updated
* manually until/unless we develop an API for getting is-reserved-word directly from the ASC scanner.
* Note also that "get" and "set" do not appear, as they seem to be legal AS3 variable names.
*/
private static final Set as3ReservedWords = new HashSet();
static
{
as3ReservedWords.add("as");
as3ReservedWords.add("break");
as3ReservedWords.add("case");
as3ReservedWords.add("catch");
as3ReservedWords.add("class");
as3ReservedWords.add("continue");
as3ReservedWords.add("default");
as3ReservedWords.add("do");
as3ReservedWords.add("else");
as3ReservedWords.add("extends");
as3ReservedWords.add("false");
as3ReservedWords.add("final");
as3ReservedWords.add("finally");
as3ReservedWords.add("for");
as3ReservedWords.add("function");
as3ReservedWords.add("goto");
as3ReservedWords.add("if");
as3ReservedWords.add("implements");
as3ReservedWords.add("import");
as3ReservedWords.add("in");
as3ReservedWords.add("include");
as3ReservedWords.add("instanceof");
as3ReservedWords.add("interface");
as3ReservedWords.add("is");
as3ReservedWords.add("namespace");
as3ReservedWords.add("new");
as3ReservedWords.add("null");
as3ReservedWords.add("package");
as3ReservedWords.add("private");
as3ReservedWords.add("protected");
as3ReservedWords.add("public");
as3ReservedWords.add("return");
as3ReservedWords.add("static");
as3ReservedWords.add("super");
as3ReservedWords.add("switch");
as3ReservedWords.add("synchronized");
as3ReservedWords.add("this");
as3ReservedWords.add("throw");
as3ReservedWords.add("transient");
as3ReservedWords.add("true");
as3ReservedWords.add("try");
as3ReservedWords.add("typeof");
as3ReservedWords.add("use");
as3ReservedWords.add("var");
as3ReservedWords.add("void");
as3ReservedWords.add("volatile");
as3ReservedWords.add("while");
as3ReservedWords.add("with");
}
/**
* true iff passed string is a reserved word
*/
public static final boolean isReservedWord(String s)
{
return as3ReservedWords.contains(s);
}
/**
*
*/
private static final Set as3BuiltInTypeNames = new HashSet();
static
{
as3BuiltInTypeNames.add("String");
as3BuiltInTypeNames.add("Boolean");
as3BuiltInTypeNames.add("Number");
as3BuiltInTypeNames.add("int");
as3BuiltInTypeNames.add("uint");
as3BuiltInTypeNames.add("Function");
as3BuiltInTypeNames.add("Class");
as3BuiltInTypeNames.add(CLASS_ARRAY);
as3BuiltInTypeNames.add("Object");
as3BuiltInTypeNames.add("XML");
as3BuiltInTypeNames.add("XMLList");
as3BuiltInTypeNames.add("RegExp");
as3BuiltInTypeNames.add(CLASS_VECTOR);
}
/**
* true iff passed string is the name of a built-in type
*/
public static final boolean isBuiltInTypeName(String s)
{
return as3BuiltInTypeNames.contains(s);
}
/**
* Properties of a main application that are proxies for the
* Flash Player's Stage properties.
*/
private static final Set stageProperties = new HashSet();
static
{
stageProperties.add("colorCorrection");
}
public static final boolean isStageProperty(String s)
{
return stageProperties.contains(s);
}
/**
* MXML 2006 specific standard definitions.
*/
public static class StandardDefs2006 extends StandardDefs
{
private static final String BINDABLE_PROPERTY_TEMPLATE = "BindableProperty.vm";
private static final String CLASSDEF_TEMPLATE = "ClassDef.vm";
private static final String CLASSDEF_LIB_TEMPLATE = "ClassDefLib.vm";
private static final String EMBED_CLASS_TEMPLATE = "EmbedClass.vm";
private static final String FONTFACERULES_TEMPLATE = "FontFaceRules.vm";
private static final String INTERFACE_DEF_TEMPLATE = "InterfaceDef.vm";
private static final String MANAGED_PROPERTY_TEMPLATE = "ManagedProperty.vm";
private static final String SKINCLASS_TEMPLATE = "SkinClass.vm";
private static final String STYLEDEF_TEMPLATE = "StyleDef.vm";
private static final String STYLE_LIBRARY_TEMPLATE = "StyleLibrary.vm";
private static final String STYLE_MODULE_TEMPLATE = "StyleModule.vm";
private static final String WATCHER_SETUP_UTIL_TEMPLATE = "WatcherSetupUtil.vm";
private StandardDefs2006()
{
super();
}
public String getBindingPackage()
{
return PACKAGE_MX_BINDING;
}
public String getContainerPackage()
{
return PACKAGE_MX_CONTAINERS;
}
public String getCorePackage()
{
return PACKAGE_MX_CORE;
}
public String getControlsPackage()
{
return PACKAGE_MX_CONTROLS;
}
public String getDataPackage()
{
return PACKAGE_MX_DATA;
}
public String getDataUtilsPackage()
{
return PACKAGE_MX_DATA_UTILS;
}
public String getEffectsPackage()
{
return PACKAGE_MX_EFFECTS;
}
public String getEventsPackage()
{
return PACKAGE_MX_EVENTS;
}
public String getManagersPackage()
{
return StandardDefs.PACKAGE_MX_MANAGERS;
}
public String getMessagingConfigPackage()
{
return StandardDefs.PACKAGE_MX_MESSAGING_CONFIG;
}
public String getModulesPackage()
{
return StandardDefs.PACKAGE_MX_MODULES;
}
public String getPreloadersPackage()
{
return StandardDefs.PACKAGE_MX_PRELOADERS;
}
public String getResourcesPackage()
{
return StandardDefs.PACKAGE_MX_RESOURCES;
}
public String getRPCPackage()
{
return StandardDefs.PACKAGE_MX_RPC;
}
public String getRPCXMLPackage()
{
return StandardDefs.PACKAGE_MX_RPC_XML;
}
public String getStatesPackage()
{
return StandardDefs.PACKAGE_MX_STATES;
}
public String getStylesPackage()
{
return StandardDefs.PACKAGE_MX_STYLES;
}
public String getUtilsPackage()
{
return PACKAGE_MX_UTILS;
}
//----------------------------------------------------------------------
//
// Velocity Templates
//
//----------------------------------------------------------------------
public String getBindablePropertyTemplate()
{
return BINDABLE_PROPERTY_TEMPLATE;
}
public String getClassDefTemplate()
{
return CLASSDEF_TEMPLATE;
}
public String getClassDefLibTemplate()
{
return CLASSDEF_LIB_TEMPLATE;
}
public String getEmbedClassTemplate()
{
return EMBED_CLASS_TEMPLATE;
}
public String getFontFaceRulesTemplate()
{
return FONTFACERULES_TEMPLATE;
}
public String getInterfaceDefTemplate()
{
return INTERFACE_DEF_TEMPLATE;
}
public String getManagedPropertyTemplate()
{
return MANAGED_PROPERTY_TEMPLATE;
}
public String getSkinClassTemplate()
{
return SKINCLASS_TEMPLATE;
}
public String getStyleDefTemplate()
{
return STYLEDEF_TEMPLATE;
}
public String getStyleLibraryTemplate()
{
return STYLE_LIBRARY_TEMPLATE;
}
public String getStyleModuleTemplate()
{
return STYLE_MODULE_TEMPLATE;
}
public String getWatcherSetupUtilTemplate()
{
return WATCHER_SETUP_UTIL_TEMPLATE;
}
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy