This page was saved using jaction on 2006-09-04 8:33:56.
Address: http://flexdocs.kr/docs/flex2/langref/mx/utils/ObjectUtil.html
Title: mx.utils.ObjectUtil (Flex™ 2 레퍼런스 가이드)  •  Size: 44078
Packagemx.utils
Classpublic class ObjectUtil
InheritanceObjectUtil Inheritance Object

ObjectUtil 클래스는, Flex 로 object를 사용하기 위한 Methods를 가지는 완전하게 정적인 클래스입니다. ObjectUtil 의 인스턴스를 작성할 필요는 없고,ObjectUtil.isSimple() Methods등의 정적 Methods를 호출할 뿐입니다.



Public property
 property정의
 Inheritedconstructor : Object
특정의 object 인스턴스의 클래스 object 또는 constructor    함수에의 참조입니다.
Object
 Inheritedprototype : Object
[static] 클래스 또는 함수 object의 prototype object에의 참조입니다.
Object
Public Methods
 Methods정의
  compare (a:Object , b:Object , depth:int = -1):int
[static] Object 를 비교해, 최초의 아이템이 2 번째의 아이템 미만 또는 그 이상인가 어떤가를 나타내는 정수치를 돌려줍니다.
ObjectUtil
  copy (value:Object ):Object
[static] 지정된 Object 를 복사해, 복사에의 참조를 돌려줍니다.
ObjectUtil
  dateCompare (a:Date , b:Date ):int
[static] 2 개의 Date object를 비교해, 최초의 Date object가 2 번째의 아이템보다 전인가, 같은가, 또는 후인가 어떤가를 나타내는 정수치를 돌려줍니다.
ObjectUtil
  getClassInfo (obj:Object , excludes:Array = null, options:Object = null):Object
[static] 지정된 object에 관해서, 클래스 정보 및 클래스 property를 돌려줍니다.
ObjectUtil
  hasMetadata (obj:Object , propName:String , metadataName:String , excludes:Array = null, options:Object = null):Boolean
[static] getClassInfo 를 사용해 메타데이타를 조사해 특정 object의 property로 지정된 메타데이타가 있을지 어떨지를 판단합니다.
ObjectUtil
 InheritedhasOwnProperty (name:String ):Boolean
object로 지정된 property가 정의되고 있는지 어떤지를 나타냅니다.
Object
 InheritedisPrototypeOf (theClass:Object ):Boolean
Object 클래스의 인스턴스가, Parameters로서 지정된 object의 prototype 체인내에 있을지 어떨지를 나타냅니다.
Object
  isSimple (value:Object ):Boolean
[static] object 참조가 단순한 데이터형으로 지정되고 있는 경우에 true 를 돌려줍니다.
ObjectUtil
  numericCompare (a:Number , b:Number ):int
[static] 2 개의 수치를 비교합니다.
ObjectUtil
 InheritedpropertyIsEnumerable (name:String ):Boolean
지정된 property가 존재해, 열거 가능한가 어떤가를 나타냅니다.
Object
 InheritedsetPropertyIsEnumerable (name:String , isEnum:Boolean = true):void
루프 처리에 대한 다이나믹 property의 가용성을 설정합니다.
Object
  stringCompare (a:String , b:String , caseInsensitive:Boolean = false):int
[static] 2 개의 String 값를 비교합니다.
ObjectUtil
  toString (value:Object , namespaceURIs:Array = null, exclude:Array = null):String
[static] 지정된 Object 를 string에 프리티프린트 합니다.
ObjectUtil
 InheritedvalueOf ():Object
지정된 object의 원시적치를 돌려줍니다.
Object
Methods의 상세
compare()Methods
public static function compare(a:Object , b:Object , depth:int = -1):int

Object 를 비교해, 최초의 아이템이 2 번째의 아이템 미만 또는 그 이상인가 어떤가를 나타내는 정수치를 돌려줍니다. 이 Methods는 네스트 된 object를 재귀적으로 비교해, 0 이외의 결과를 검출하자마자 결과를 돌려줍니다. 디폴트에서는, 이 Methods는 모든 property의 가장 깊은 네스트 레벨까지 반복합니다. 비교의 깊이를 변경하려면 ,depth Parameters에 부가 아닌 값을 지정합니다.

Parameters
a:Object — object.
 
b:Object — object.
 
depth:int (default = -1) — 비교를 실행할 경우에 반복하는 레벨수를 나타냅니다. 각 property의 원시적인 표현만의 얕은 비교를 하는 경우는, 이 값을 0 으로 설정합니다. 다음에 예를 나타냅니다.
var a:Object = {name:"Bob", info:[1,2,3]};
var b:Object = {name:"Alice", info:[5,6,7]};
var c:int = ObjectUtil.compare(a, b, 0);

상기의 예에서는,ab 를 조합한 property는, 비교시에 toString() 의 호출에 의해 통합됩니다. 이 경우,info property는 비교를 실행할 경우에 string에 변환됩니다.

반환값
int — a 및 b 가 null, NaN, 또는 동일한 경우는 0 을 돌려줍니다. a 가 null 또는 b 보다 큰 경우는 1 을 돌려주어, b 가 null 또는 a 보다 큰 경우는 -1 을 돌려줍니다.
copy()Methods 
public static function copy(value:Object ):Object

지정된 Object 를 복사해, 복사에의 참조를 돌려줍니다. 복사는, 네이티브 직렬화 방법을 사용해 행해집니다. 즉, 복사중에 custom 직렬화가 준수됩니다.

이 Methods는, 콜렉션의 엘리먼트등의 데이터 object를 복사하는 것을 목적으로 하고 있습니다. TextInput 컨트롤등의 UIComponent object의 복사는 목적으로 하고 있지 않습니다. 특정의 UIComponent object의 복사를 작성하려면 , 컴퍼넌트의 서브 클래스를 작성해,clone() Methods, 또는 복사를 실시하는 다른 Methods를 Implements합니다.

Parameters
value:Object — 복사하는 object입니다.

반환값
Object — 지정된 Object 의 복사입니다.
dateCompare()Methods 
public static function dateCompare(a:Date , b:Date ):int

2 개의 Date object를 비교해, 최초의 Date object가 2 번째의 아이템보다 전인가, 같은가, 또는 후인가 어떤가를 나타내는 정수치를 돌려줍니다.

Parameters
a:Date — Date object.
 
b:Date — Date object.

반환값
int abnull 또는 동일한 경우는 0 입니다. anull 또는 b 보다 전의 경우는 1,bnull 또는 a 보다 전의 경우는 -1 입니다.
getClassInfo()Methods 
public static function getClassInfo(obj:Object , excludes:Array = null, options:Object = null):Object

지정된 object에 관해서, 클래스 정보 및 클래스 property를 돌려줍니다.

Parameters
obj:Object — 조사하는 object입니다.
 
excludes:Array (default = null) — 돌려주어지는 결과로부터 제외할 필요가 있는 property명을 지정하는 string의 배열입니다. 예를 들어, Event object에 ["currentTarget", "target"] 를 지정할 수가 있습니다. 이러한 property는, 돌려주어지는 결과를 크게 하는 경우가 있기 (위해)때문에입니다.
 
options:Object (default = null) — 이 Methods에 의해 돌려주어지는 정보를 제어하는 property를 가지는 object. 이 property에는 다음과 같은 것이 있습니다.
  • includeReadOnly: false 의 경우, 읽기 전용(read-only)의 property가 제외됩니다. 디폴트치는 true 입니다.
  • includeTransient: false 의 경우,[Transient] 메타데이타를 포함한 property 및 변수가 제외됩니다. 디폴트치는 true 입니다.
  • uris: 출력에 포함할 필요가 있는 모든 namespace의 string의 배열입니다. 와일드 카드 "*" 는 사용할 수 있습니다. 디폴트에서는 null 가 되어 있기 (위해)때문에, namespace은 포함할 수 없습니다. 예를 들어,["mx_internal", "mx_object"] 또는 ["*"] 을 지정할 수 있습니다.

반환값
Object — 이하의 property를 가지는 object입니다.
  • name: 클래스의 이름을 포함한 string입니다.
  • properties: 지정된 object의 property명의 소트 된 리스트입니다.
hasMetadata()Methods 
public static function hasMetadata(obj:Object , propName:String , metadataName:String , excludes:Array = null, options:Object = null):Boolean

getClassInfo 를 사용해 메타데이타를 조사해 특정 object의 property로 지정된 메타데이타가 있을지 어떨지를 판단합니다.

Parameters
obj:Object — property를 보관 유지하는 object입니다.
 
propName:String — 메타데이타를 체크하는 property입니다.
 
metadataName:String — property로 체크하는 메타데이타의 이름입니다.
 
excludes:Array (default = null) — 클래스 정보를 생성할 경우에, 제외할 필요가 있는 property가 있을지 어떨지를 나타냅니다. (옵션)
 
options:Object (default = null) — 클래스 정보를 생성할 경우에, 변경하는 옵션 플래그가 있을지 어떨지를 나타냅니다. (옵션)

반환값
Boolean — property로 지정된 메타데이타가 있는 경우는 true 입니다.
isSimple()Methods 
public static function isSimple(value:Object ):Boolean

object 참조가 단순한 데이터형으로 지정되고 있는 경우에 true 를 돌려줍니다. 단순한 데이터형에는 다음과 같은 것이 있습니다.

Parameters
value:Object — 조사할 수 있던 object입니다.

반환값
Boolean — 지정된 object가 상기의 몇개의 형태의 경우는 true, 그 이외의 경우는 false 입니다.
numericCompare()Methods 
public static function numericCompare(a:Number , b:Number ):int

2 개의 수치를 비교합니다.

Parameters
a:Number — 최초의 수치입니다.
 
b:Number — 2 번째의 수치입니다.

반환값
int — 양쪽 모두의 수치가 NaN 의 경우는 0 입니다. a 만이 NaN 의 경우는 1 입니다. b 만이 NaN 의 경우는 -1 입니다. ab 미만의 경우는 -1 입니다. ab 보다 큰 경우는 1 입니다.
stringCompare()Methods 
public static function stringCompare(a:String , b:String , caseInsensitive:Boolean = false):int

2 개의 String 값를 비교합니다.

Parameters
a:String — 최초의 String 값입니다.
 
b:String — 2 번째의 String 값입니다.
 
caseInsensitive:Boolean (default = false) — 대문자와 소문자를 구별하지 않는 비교를 실시하는 경우는 true, 실시하지 않는 경우는 false 를 지정합니다.

반환값
int — 양쪽 모두의 String 가 null 의 경우는 0 입니다. a 만이 null 의 경우는 1 입니다. b 만이 null 의 경우는 -1 입니다. ab 보다 앞에 오는 경우는 -1 입니다. ba 보다 앞에 오는 경우는 1 입니다.
toString()Methods 
public static function toString(value:Object , namespaceURIs:Array = null, exclude:Array = null):String

지정된 Object 를 string에 프리티프린트 합니다. 모든 property는, 알파순서에 배치됩니다. 인쇄중에, 각 object에는 ID 를 할당할 수 있습니다. 이 값의 선두에는 '#'가 추가되어 object형 토큰의 근처에 표시됩니다. 예를 들어, 다음과 같이 됩니다.

(mx.messaging.messages::AsyncMessage)#2. 

이 ID 는 언제 순환 참조가 발생하는지를 나타냅니다. Class 형의 object의 property만이, 할당할 수 있었던 형태로서 표시됩니다. 예를 들어, 다음과 같은 custom 정의를 예로서 가리킵니다.

public class MyCustomClass {
public var clazz:Class;
        }

clazz property를 Date 에 할당할 수 있고 있는 경우는, 다음과 같이 표시됩니다.

(somepackage::MyCustomClass)#0
clazz = (Date)
Parameters
value:Object — 프리티프린트 하는 object입니다.
 
namespaceURIs:Array (default = null) — 출력에 포함할 필요가 있는 property의 namespace URI 의 배열입니다. 디폴트에서는, Public namespace의 property만 출력에 포함할 수 있습니다. namespace에 관계없이 모든 property를 취득하려면 , 단일 엘리먼트의 것 " 으로 배열을 건네줍니다.
 
exclude:Array (default = null) — 출력으로부터 제외할 필요가 있는 property명의 배열입니다. 이것을 사용해 포맷 한 string로부터 데이터를 삭제합니다.

반환값
String — 포맷 끝난 지정된 object를 포함한 string입니다.

Example
// 예 1
var obj:AsyncMessage = new AsyncMessage();
obj.body = [];
obj.body.push(new AsyncMessage());
obj.headers["1"] = { name:"myName", num: 15.3};
obj.headers["2"] = { name:"myName", num: 15.3};
obj.headers["10"] = { name:"myName", num: 15.3};
obj.headers["11"] = { name:"myName", num: 15.3};
trace(ObjectUtil.toString(obj));
// flashlog.txt 에 출력
(mx.messaging.messages::AsyncMessage)#0
body = (Array)#1
[0] (mx.messaging.messages::AsyncMessage)#2
body = (Object)#3
clientId = (Null)
correlationId = ""
destination = ""
headers = (Object)#4
messageId = "378CE96A-68DB-BC1B-BCF7FFFFFFFFB525"
sequenceId = (Null)
sequencePosition = 0
sequenceSize = 0
timeToLive = 0
timestamp = 0
clientId = (Null)
correlationId = ""
destination = ""
headers = (Object)#5
1 = (Object)#6
name = "myName"
num = 15.3
10 = (Object)#7
name = "myName"
num = 15.3
11 = (Object)#8
name = "myName"
num = 15.3
2 = (Object)#9
name = "myName"
num = 15.3
messageId = "1D3E6E96-AC2D-BD11-6A39FFFFFFFF517E"
sequenceId = (Null)
sequencePosition = 0
sequenceSize = 0
timeToLive = 0
timestamp = 0
// 순환 참조를 사용한 예 2
obj = {};
obj.prop1 = new Date();
obj.prop2 = [];
obj.prop2.push(15.2);
obj.prop2.push("testing");
obj.prop2.push(true);
obj.prop3 = {};
obj.prop3.circular = obj;
obj.prop3.deeper = new ErrorMessage();
obj.prop3.deeper.rootCause = obj.prop3.deeper;
obj.prop3.deeper2 = {};
obj.prop3.deeper2.deeperStill = {};
obj.prop3.deeper2.deeperStill.yetDeeper = obj;
trace(ObjectUtil.toString(obj));
// flashlog.txt 에 출력
(Object)#0
prop1 = Tue Apr 26 13:59:17 GMT-0700 2005
prop2 = (Array)#1
          [0] 15.2
[1] "testing"
[2] true
prop3 = (Object)#2
circular = (Object)#0
deeper = (mx.messaging.messages::ErrorMessage)#3
body = (Object)#4
clientId = (Null)
code = (Null)
correlationId = ""
destination = ""
details = (Null)
headers = (Object)#5
level = (Null)
message = (Null)
messageId = "14039376-2BBA-0D0E-22A3FFFFFFFF140A"
rootCause = (mx.messaging.messages::ErrorMessage)#3
sequenceId = (Null)
sequencePosition = 0
sequenceSize = 0
timeToLive = 0
timestamp = 0
deeper2 = (Object)#6
deeperStill = (Object)#7
yetDeeper = (Object)#0
      







 

코멘트가 추가되었을 경우, 메일로 받기. | 코멘트 리포트

현재의 페이지: http://flexdocs.kr/docs/flex2/langref/mx/utils/ObjectUtil.html