com.neolao.data.TypeUtils

Méthodes utiles liées aux Types.

Méthodes

Visibilité Return Nom Param 1 Description
static public Boolean isString refrence Tester si la référence est une chaîne de caractère ou une instance de String
static public Boolean isNumber refrence Tester si la référence est un nombre ou une instance de Number
static public Boolean isInteger refrence Tester si la référence est un entier
static public Boolean isFloat refrence Tester si la référence est un nombre à virgule
static public Boolean isBoolean refrence Tester si la référence est un bouléen
static public Boolean isMovieClip refrence Tester si la référence est un MovieClip
static public Boolean isClass refrence Tester si la référence est un Class
static public Boolean isFunction refrence Tester si la référence est une Function
static public Boolean isArray refrence Tester si la référence est un Array
static public Boolean isButton refrence Tester si la référence est un Button
static public Boolean isTextField refrence Tester si la référence est un TextField
static public Boolean isObject refrence Tester si la référence est un Object
static public Boolean isNull refrence Tester si la référence est null
static public Boolean isUndefined refrence Trouver le type de la référence
static public String typeOf refrence Tester si la référence est une chaîne de caractère ou une instance de String

Change log

[16/01/2004] Version 1.2

[05/10/2005] Version 1.3

Réécriture plus compact.

Source

/**
 * Méthodes utiles liées aux Types
 * @author 		neolao <neo@neolao.com>
 * @version 		1.3 (05/10/2005)
 * @link		http://resources.neolao.com/flash/classes/data/TypeUtils
 * @license		http://creativecommons.org/licenses/by-sa/2.0/
 */
class com.neolao.data.TypeUtils {
	public static var className:String = "TypeUtils";
	public static var version:String = "1.3";
 
	// ----------------------------- CONSTANTES --------------------------------
	/**
	 * Liste des types possibles
	 */
	private static var _types:Array = ["String",
					   "Integer",
					   "Float",
					   "Boolean",
					   "MovieClip",
					   "Class",
					   "Function",
					   "Array",
					   "Button",
					   "TextField",
					   "Object",
					   "Null",
					   "Undefined"];
 
	/*========================== METHODES PUBLIQUES ==========================*/
	/*========================================================================*/
	/**
	 * Tester si la référence est une chaîne de caractère ou une instance de String
	 * @param o La référence de l'objet à tester
	 * @return true si la référence est un String
	 */
	public static function isString(o):Boolean {
		return (o instanceof String)?true:(typeof(o) == "string");
	}
	/**
	 * Tester si la référence est un nombre ou une instance de Number
	 * @param o La référence de l'objet à tester
	 * @return true si la référence est un Number
	 */
	public static function isNumber(o):Boolean {
		return (o instanceof Number)?true:(typeof(o) == "number");
	}
	/**
	 * Tester si la référence est un entier
	 * @param o La référence de l'objet à tester
	 * @return true si la référence est un entier
	 */
	public static function isInteger(o):Boolean {
		return (isNumber(o) && parseInt(String(o), 10) == o);
	}
	/**
	 * Tester si la référence est un nombre à virgule
	 * @param o La référence de l'objet à tester
	 * @return true si la référence est un nombre à virgule
	 */
	public static function isFloat(o):Boolean {
		return (isNumber(o) && !isInteger(o));
	}
	/**
	 * Tester si la référence est un bouléen
	 * @param o La référence de l'objet à tester
	 * @return true si la référence est un bouléen
	 */
	public static function isBoolean(o):Boolean {
		return (typeof(o) == "boolean");
	}
	/**
	 * Tester si la référence est un MovieClip
	 * @param o La référence de l'objet à tester
	 * @return true si la référence est un MovieClip
	 */
	public static function isMovieClip(o):Boolean {
		return (typeof(o) == "movieclip");
	}
	/**
	 * Tester si la référence est un Class
	 * @param o La référence de l'objet à tester
	 * @return true si la référence est une Class
	 */
	public static function isClass(o):Boolean {
		if(typeof(o) != "function") return false;
		for(var temp:String in o){
			return true;
		}
		return false;
	}
	/**
	 * Tester si la référence est une Function
	 * @param o La référence de l'objet à tester
	 * @return true si la référence est une Function
	 */
	public static function isFunction(o):Boolean {
		return (typeof(o) == "function" && !isClass(o));
	}
	/**
	 * Tester si la référence est un Array
	 * @param o La référence de l'objet à tester
	 * @return true si la référence est un Array
	 */
	public static function isArray(o):Boolean {
		return (o instanceof Array);
	}
	/**
	 * Tester si la référence est un Button
	 * @param o La référence de l'objet à tester
	 * @return true si la référence est un Button
	 */
	public static function isButton(o):Boolean {
		return (typeof(o) == "object" && isNumber(o.getDepth()) && !isBoolean(o.html));
	}
	/**
	 * Tester si la référence est un TextField
	 * @param o La référence de l'objet à tester
	 * @return true si la référence est un TextField
	 */
	public static function isTextField(o):Boolean {
		return (typeof(o) == "object" && isBoolean(o.html));
	}
	/**
	 * Tester si la référence est un Object
	 * @param o La référence de l'objet à tester
	 * @return true si la référence est un Object
	 */
	public static function isObject(o):Boolean {
		return (typeof(o) == "object" && !isButton(o) && !isTextField(o));
	}
	/**
	 * Tester si la référence est null
	 * @param o La référence de l'objet à tester
	 * @return true si la référence est null
	 */
	public static function isNull(o):Boolean {
		return (o === null);
	}
	/**
	 * Tester si la référence est undefined
	 * @param o La référence de l'objet à tester
	 * @return true si la référence est undefined
	 */
	public static function isUndefined(o):Boolean {
		return (o === undefined);
	}
	/**
	 * Trouver le type de la référence
	 * @param o La référence de l'objet à tester
	 * @return Retourne le type de l'objet
	 */
	public static function typeOf(o):String{							 
		for(var i:Number = 0; i < _types.length; i++){
			if(TypeUtils["is" + _types[i]](o)) return _types[i];
		}		
	}
	/*==================== FIN = METHODES PUBLIQUES = FIN ====================*/
	/*========================================================================*/
}