| Package | fever.plugin |
| Class | public class PluginResources |
| Implements | com.bourre.core.Locator |
Allows to add or append resources properties for current plugin instance, or default, to main application.
| Method | Defined by | ||
|---|---|---|---|
|
addBundle(url:String, slot:String = null):Boolean
Adds new bundle file into loader queue.
| PluginResources | ||
|
addNodeParser(xmlNodeType:String, parsingMethod:Function):void
Defines new XML parser for passed-in
type node. | PluginResources | ||
|
getBoolean(key:String, defaultValue:Boolean = false):Boolean
Returns resource value registred with passed-in
key identifier as Boolean. | PluginResources | ||
|
getClass(key:String):Class
Returns resource value registred with passed-in
key identifier as Class. | PluginResources | ||
|
getCurrentLoader():XMLLoader
Returns current XMLLoader process if exist.
| PluginResources | ||
|
getInstance(owner:Plugin = null):PluginResources
[static]
Retreives PluginResources instance for passed-in
owner plugin. | PluginResources | ||
|
getInt(key:String, defaultValue:int):int
Returns resource value registred with passed-in
key identifier as int. | PluginResources | ||
|
getNumber(key:String, defaultValue:Number):Number
Returns resource value registred with passed-in
key identifier as Number. | PluginResources | ||
|
getObject(key:String):Object
Returns resource value registred with passed-in
key identifier as Object. | PluginResources | ||
|
getOwner():Plugin
Returns plugin owner ( or
null )
| PluginResources | ||
|
getString(key:String, defaultValue:String = null):String
Returns resource value registred with passed-in
key identifier as String. | PluginResources | ||
|
isRegistered(key:String):Boolean
Returns
true if a resource is registred with passed-in
key identifier. | PluginResources | ||
|
load(context:LoaderContext = null):void
Loads bundle queue.
| PluginResources | ||
|
loadSlot(slot:String):Boolean
Swap resource slot.
| PluginResources | ||
|
locate(key:String):Object
Returns resource value registred with passed-in
key identifier. | PluginResources | ||
|
toString():String
Returns string representation.
| PluginResources | ||
| Event | Summary | Defined by | ||
|---|---|---|---|---|
| Dispatched when error occurs for file loading. | PluginResources | |||
| Dispatched when bundle file is loaded. | PluginResources | |||
| Dispatched during bundle loading progression. | PluginResources | |||
| Dispatched when a new resources slot is engaged. | PluginResources | |||
| Dispatched when all bundles files ( in PluginResources loading queue ) are loaded. | PluginResources | |||
| Dispatched when a bundle file starts loading process. | PluginResources | |||
| addBundle | () | method |
public function addBundle(url:String, slot:String = null):BooleanAdds new bundle file into loader queue.
slot parameter allow to swap between diffrents slot value / content
at runtime. ( for text translation for example ).
url:String — URL of resource bundle file
|
|
slot:String (default = null) — Interchangeable resources slot ( default resources are store in a global slot )
|
Boolean — true if bundle is added to loader queue.A bundle can be refused if url already exist in resources
manager, if already in loading queue or if url is
null.
|
resources.addBundle( "menuEN.xml", "en" );
resources.addbundle( "menuFR.xml", "fr" );
| addNodeParser | () | method |
public function addNodeParser(xmlNodeType:String, parsingMethod:Function):void
Defines new XML parser for passed-in type node.
xmlNodeType:String — Type of the node to parse
|
|
parsingMethod:Function — Parsing method
|
<resource type="myType" id="Avatar" url="http://www...../avatar.jpg" />
public function test() : void
{
var rsc : PluginResources = PluginResources.getInstance( myPlugin );
rsc.addBundle( "config.xml" );
rsc.addBundle( "locale_fr.xml", "fr" );
rsc.addNodeParser( "MyType", parseMyType );
rsc.load();
}
private function parseMyType( node : XML ) : Object
{
//return ...
}
| getBoolean | () | method |
public function getBoolean(key:String, defaultValue:Boolean = false):Boolean
Returns resource value registred with passed-in
key identifier as Boolean.
key:String — Resource key to search
|
|
defaultValue:Boolean (default = false) — Value to return if resource is not defined
|
Boolean |
| getClass | () | method |
public function getClass(key:String):Class
Returns resource value registred with passed-in
key identifier as Class.
key:String — Resource key to search
|
Class |
| getCurrentLoader | () | method |
public function getCurrentLoader():XMLLoaderReturns current XMLLoader process if exist.
ReturnsXMLLoader |
| getInstance | () | method |
public static function getInstance(owner:Plugin = null):PluginResources
Retreives PluginResources instance for passed-in
owner plugin.
owner:Plugin (default = null) — Plugin
|
PluginResources |
| getInt | () | method |
public function getInt(key:String, defaultValue:int):int
Returns resource value registred with passed-in
key identifier as int.
key:String — Resource key to search
|
|
defaultValue:int — Value to return if resource is not defined
|
int |
| getNumber | () | method |
public function getNumber(key:String, defaultValue:Number):Number
Returns resource value registred with passed-in
key identifier as Number.
key:String — Resource key to search
|
|
defaultValue:Number — Value to return if resource is not defined
|
Number |
| getObject | () | method |
public function getObject(key:String):Object
Returns resource value registred with passed-in
key identifier as Object.
key:String — Resource key to search
|
Object |
| getOwner | () | method |
public function getOwner():Plugin
Returns plugin owner ( or null )
Plugin |
| getString | () | method |
public function getString(key:String, defaultValue:String = null):String
Returns resource value registred with passed-in
key identifier as String.
key:String — Resource key to search
|
|
defaultValue:String (default = null) — Value to return if resource is not defined
|
String |
| isRegistered | () | method |
public function isRegistered(key:String):Boolean
Returns true if a resource is registred with passed-in
key identifier.
key:String — Resource key to search
|
Boolean |
| load | () | method |
public function load(context:LoaderContext = null):voidLoads bundle queue.
Parameterscontext:LoaderContext (default = null) — Loader context
|
Events
| Event type | Description |
|---|---|
| onPluginResourcesStart | when a bundle starts loading |
| onPluginResourceProgress | during bundle loading progression |
| onPluginResourceInit | when bundle is loaded |
| onPluginResourceError | if error occurs on bundle loading |
| onPluginResourcesLoaded | when all bundles queue is loaded |
See also
| loadSlot | () | method |
public function loadSlot(slot:String):BooleanSwap resource slot.
Parametersslot:String — New resource slot to engage.
|
Events
| Event type | Description |
|---|---|
| onPluginResourcesChange | when new slot is engaged |
Boolean — true if new slot is engaged.Can returns false if slot is not already loaded in
resources.
|
See also
resources.addBundle( "menuEN.xml", "en" );
resources.addbundle( "menuFR.xml", "fr" );
Load slot you want for application
resources.loadSlot( "fr" );
| locate | () | method |
public function locate(key:String):Object
Returns resource value registred with passed-in
key identifier.
key:String — Resource key to search
|
Object — Resource value
|
| toString | () | method |
public function toString():StringReturns string representation.
ReturnsString |
| onPluginResourceError | event |
fever.events.PluginResourcesEvent
fever.events.PluginResourcesEvent.onPluginResourceErrorEVENT
Dispatched when error occurs for file loading.
Defines the value of the type property of the event
object for a onPluginResourceError event.
The properties of the event object have the following values:
| Property | Value |
|---|---|
target |
The Object that defines the event listener that handles the event |
type |
Dispatched event type |
| Method | Value |
getTarget()
| The Object that defines the event listener that handles the event |
getType() |
Dispatched event type |
getResources() |
The Object that defines the event listener that handles the event |
getPlugin() |
Plugin onwer |
private function _errorHandler( event : PluginResourcesEvent ) : void
{
var current : XMLLoader = event.getResources().getCurrentLoader();
event.getPlugin().getLogger().error( current.getURL().url + " -> loading error );
}
| onPluginResourceInit | event |
fever.events.PluginResourcesEvent
fever.events.PluginResourcesEvent.onPluginResourceInitEVENT
Dispatched when bundle file is loaded.
Note : deserialization process is done before event dispatching.
Defines the value of the type property of the event
object for a onPluginResourceInit event.
The properties of the event object have the following values:
| Property | Value |
|---|---|
target |
The Object that defines the event listener that handles the event |
type |
Dispatched event type |
| Method | Value |
getTarget()
| The Object that defines the event listener that handles the event |
getType() |
Dispatched event type |
getResources() |
The Object that defines the event listener that handles the event |
getPlugin() |
Plugin onwer |
private function _initHandler( event : PluginResourcesEvent ) : void
{
var current : XMLLoader = event.getResources().getCurrentLoader();
}
| onPluginResourceProgress | event |
fever.events.PluginResourcesEvent
fever.events.PluginResourcesEvent.onPluginResourceProgressEVENT
Dispatched during bundle loading progression.
Defines the value of the type property of the event
object for a onPluginResourceProgress event.
The properties of the event object have the following values:
| Property | Value |
|---|---|
target |
The Object that defines the event listener that handles the event |
type |
Dispatched event type |
| Method | Value |
getTarget()
| The Object that defines the event listener that handles the event |
getType() |
Dispatched event type |
getResources() |
The Object that defines the event listener that handles the event |
getPlugin() |
Plugin onwer |
private function _progressHandler( event : PluginResourcesEvent ) : void
{
var current : XMLLoader = event.getResources().getCurrentLoader();
event.getPlugin().getLogger().warn( current.getURL().url + " -> " + current.getPerCent() + "%" );
}
| onPluginResourcesChange | event |
fever.events.PluginResourcesEvent
fever.events.PluginResourcesEvent.onPluginResourcesChangeEVENT
Dispatched when a new resources slot is engaged.
Defines the value of the type property of the event
object for a onPluginResourcesChange event.
The properties of the event object have the following values:
| Property | Value |
|---|---|
target |
The Object that defines the event listener that handles the event |
type |
Dispatched event type |
| Method | Value |
getTarget()
| The Object that defines the event listener that handles the event |
getType() |
Dispatched event type |
getResources() |
The Object that defines the event listener that handles the event |
getPlugin() |
Plugin onwer |
| onPluginResourcesLoaded | event |
fever.events.PluginResourcesEvent
Dispatched when all bundles files ( in PluginResources loading queue ) are loaded.
| onPluginResourceStart | event |
fever.events.PluginResourcesEvent
fever.events.PluginResourcesEvent.onPluginResourceStartEVENT
Dispatched when a bundle file starts loading process.
Defines the value of the type property of the event
object for a onPluginResourceStart event.
The properties of the event object have the following values:
| Property | Value |
|---|---|
target |
The Object that defines the event listener that handles the event |
type |
Dispatched event type |
| Method | Value |
getTarget()
| The Object that defines the event listener that handles the event |
getType() |
Dispatched event type |
getResources() |
The Object that defines the event listener that handles the event |
getPlugin() |
Plugin onwer |
private function _startHandler( event : PluginResourcesEvent ) : void
{
var current : XMLLoader = event.getResources().getCurrentLoader();
}
package fever.plugin
{
import flash.display.Sprite;
import com.bourre.load.XMLLoader;
import com.bourre.log.Logger;
import fever.app.context.browser.BrowserBuilder;
import fever.core.FeverCore;
import fever.core.RSCore;
import fever.error.CoreEngineException;
import fever.log.FirebugLayout;
import fever.plugin.PluginResources;
import fever.plugin.events.PluginResourcesEvent;
public class PluginResourcesSample extends Sprite
{
public function PluginResourcesSample( )
{
Logger.getInstance( ).addLogListener( FirebugLayout );
try
{
RSCore.run( this, BrowserBuilder );
}
catch( e : CoreEngineException )
{
RSCore.getLogger().error( e.message );
}
RSCore.addEventListener( PluginResourcesEvent.onPluginResourceStartEVENT, _startHandler );
RSCore.addEventListener( PluginResourcesEvent.onPluginResourceProgressEVENT, _progressHandler );
RSCore.addEventListener( PluginResourcesEvent.onPluginResourceInitEVENT, _initHandler );
RSCore.addEventListener( PluginResourcesEvent.onPluginResourceErrorEVENT, _errorHandler );
RSCore.addEventListener( PluginResourcesEvent.onPluginResourcesLoadedEVENT, _completeHandler );
//Add resources in dedicated slot
RSCore.getResources().addBundle( "menu.xml", "fr" );
//Append resources in "fr" slot
RSCore.getResources().addBundle( "menuTop.xml", "fr" );
RSCore.getResources().addBundle( "config.xml" );
RSCore.getResources().addBundle( "game.xml" );
RSCore.getResources().load();
}
private function _startHandler( event : PluginResourcesEvent ) : void
{
var current : XMLLoader = event.getResources().getCurrentLoader();
RSCore.getLogger().warn( event.type + " -> " + current.getURL().url );
}
private function _progressHandler( event : PluginResourcesEvent ) : void
{
var current : XMLLoader = event.getResources().getCurrentLoader();
RSCore.getLogger().warn( event.type + " -> " + current.getURL().url + " -> " + current.getPerCent() + "%" );
}
private function _initHandler( event : PluginResourcesEvent ) : void
{
var current : XMLLoader = event.getResources().getCurrentLoader();
RSCore.getLogger().warn( event.type + " -> " + current.getURL().url );
}
private function _errorHandler( event : PluginResourcesEvent ) : void
{
var current : XMLLoader = event.getResources().getCurrentLoader();
RSCore.getLogger().error( event.type + " -> " + current.getURL().url );
}
private function _completeHandler( event : PluginResourcesEvent ) : void
{
RSCore.getLogger().warn( "Complete" );
RSCore.getResources().loadSlot( "fr" );
RSCore.getLogger().info( "MP3 List = " + RSCore.getResources().locate( "mp3List" ) );
RSCore.getLogger().info( "Item value = " + RSCore.getResources().locate( "items.item" ) );
RSCore.getLogger().info( "Livre value = " + RSCore.getResources().locate( "livre" ) );
RSCore.getLogger().info( "Custom ID = " + ( RSCore.getResources().getNumber( "custom.attribute.id" ) + 100000000000 ) );
RSCore.getLogger().info( "Custom ID FAL = " + ( RSCore.getResources().getNumber( "custom.attrib", 666 ) + 100000000000 ) );
RSCore.getLogger().info( "Complete ID = " + RSCore.getResources().locate( "cutomComplete.attribute.id" ) );
RSCore.getLogger().info( "Complete value = " + RSCore.getResources().locate( "cutomComplete" ) );
RSCore.getLogger().info( "Complex id = " + RSCore.getResources().locate( "complex.attribute.id" ) );
RSCore.getLogger().info( "Complex name = " + RSCore.getResources().locate( "complex.attribute.name" ) );
RSCore.getLogger().info( "Complex data = " + RSCore.getResources().locate( "complex.data" ) );
RSCore.getLogger().info( "Difficulty value = " + RSCore.getResources().locate( "difficulty" ) );
RSCore.getLogger().info( "Navigation label = " + RSCore.getResources().locate( "topNav" ) );
RSCore.getLogger().info( "Top Navigation label = " + RSCore.getResources().locate( "buttonLabel" ) );
RSCore.getLogger().info( "boolean1 = " + RSCore.getResources().getBoolean( "boolean1" ) );
RSCore.getLogger().info( "boolean2 = " + RSCore.getResources().getBoolean( "boolean2" ) );
RSCore.getLogger().info( "boolean3 = " + RSCore.getResources().getBoolean( "boolean3" ) );
RSCore.getLogger().info( "boolean4 = " + RSCore.getResources().getBoolean( "boolean4" ) );
RSCore.getLogger().info( "boolean5 = " + RSCore.getResources().getBoolean( "boolean5" ) );
RSCore.getLogger().info( "boolean6 = " + RSCore.getResources().getBoolean( "boolean6" ) );
RSCore.getLogger().info( "boolean7 = " + RSCore.getResources().getBoolean( "boolean7" ) );
RSCore.getLogger().info( "boolean8 = " + RSCore.getResources().getBoolean( "boolean8" ) );
RSCore.getLogger().info( "boolean9 = " + RSCore.getResources().getBoolean( "boolean9" ) );
RSCore.getLogger().info( "boolean10 = " + RSCore.getResources().getBoolean( "boolean10" ) );
RSCore.getLogger().info( "boolean11 = " + RSCore.getResources().getBoolean( "boolean11" ) );
RSCore.getLogger().info( "boolean12 = " + RSCore.getResources().getBoolean( "boolean12" ) );
RSCore.getLogger().info( "classType = " + RSCore.getResources().getClass( "classType" ) );
}
}
}