|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
java.lang.Objectjava.beans.Encoder
java.beans.XMLEncoder
public class XMLEncoder
XMLEncoder
클래스는 ObjectOutputStream
의 보완적인 대체 클래스이며,ObjectOutputStream
로 Serializable
객체의 바이너리 표현을 생성하는 경우와 같게 해 JavaBean 의 텍스트 표현을 생성합니다. 예를 들어, 다음의 코드에서는, 제공된 JavaBean 와 그 모든 프로퍼티의 텍스트 표현을 생성할 수 있습니다.
XMLEncoder e = new XMLEncoder( new BufferedOutputStream( new FileOutputStream("Test.xml"))); e.writeObject(new JButton("Hello, world")); e.close();API 는 비슷하지만,
XMLEncoder
클래스는,JavaBean 의 그래프를 그 공개 프로퍼티의 텍스트 표현으로서 어카이브(archive)화하는 목적으로 설계되고 있습니다. 이 방식에서 작성된 문서는, Java 원시 파일과 같이, 필요한 클래스의 구현이 변경으로부터 보호되고 있습니다. 프로세스간 통신 및 일반적으로 목적의 직렬화에는, 지금까지 대로 ObjectOutputStream
를 사용하는 것을 추천합니다.
XMLEncoder
클래스는,JavaBean 를, XML 스펙 버젼 1.0 으로 Unicode/ISO 10646 캐릭터 세트의 UTF-8 캐릭터 세트에 준거한 XML 문서로서 표현하는 디폴트의 지정을 제공합니다. XMLEncoder
클래스에 의해 생성되는 XML 문서에는, 다음과 같은 특징이 있습니다.
XMLEncoder
클래스는 내부에서 장황성 삭감 알고리즘을 사용하기 위해(때문에), Bean 의 프로퍼티의 디폴트 값가 스트림에 기입해지지 않습니다.
이하는, swing 툴 킷의 사용자 인터페이스 컴퍼넌트를 포함한 XML 어카이브(archive)의 예입니다.
<? xml version="1.0" encoding="UTF-8"? > <java version="1.0" class="java.beans.XMLDecoder"> <object class="javax.swing.JFrame"> <void property="name"> <string>frame1</string> </void> <void property="bounds"> <object class="java.awt.Rectangle"> <int>0</int> <int>0</int> <int>200</int> <int>200</int> </object> </void> <void property="contentPane"> <void method="add"> <object class="javax.swing.JButton"> <void property="label"> <string>Hello</string> </void> </object> </void> </void> <void property="visible"> <boolean>true</boolean> </void> </object> </java>XML 구문은, 다음의 규약에 준거하고 있습니다.
모든 객체 그래프는 이것들 3 개의 태그로 기술할 수 있습니다만, 공통의 데이터 구조를 보다 간결하게 표현하기 위해(때문에), 다음의 정의가 이루어지고 있습니다.
Integer
클래스의 인스턴스는 <int>123</int> 와 기술할 수 있다. XMLEncoder
클래스가, Java 원시형과 관련 래퍼 클래스간의 변환을 내부적으로 처리하는 Java 리플렉션 패키지를 사용하는 점에 주의하는 것. XMLEncoder
클래스의 API 자체는,Object
만을 취급한다.
상세한 것에 대하여는, 「The Swing Connection. 」의 「Using XMLEncoder 」를 참조해 주세요.
XMLDecoder
,
ObjectOutputStream
생성자 의 개요 | |
---|---|
XMLEncoder (OutputStream out)
XML 인코딩을 사용해 스트림 out 에 JavaBeans 를 송신하는, 새로운 출력 스트림을 작성합니다. |
메소드의 개요 | |
---|---|
void |
close ()
이 메소드는, flush 를 호출해, 닫는 postamble를 기입해, 이 스트림에 관련지을 수 있고 있는 출력 스트림을 클로즈 합니다. |
void |
flush ()
이 메소드는, XML 인코딩에 관련지을 수 있었던 프리안불을 써내, flush 를 마지막으로 호출했을 때로부터 스트림에 기입해진 모든 값을 써냅니다. |
Object |
getOwner ()
이 엔코더의 소유자를 가져옵니다. |
void |
setOwner (Object owner)
이 엔코더의 소유자를 owner 로 설정합니다. |
void |
writeExpression (Expression oldExp)
스트림의 플래시시에 실제의 출력이 생성되도록(듯이), 식을 기록합니다. |
void |
writeObject (Object o)
지정된 객체의 XML 표현을 출력에 기입합니다. |
void |
writeStatement (Statement oldStm)
스트림의 플래시시에 실제의 출력이 생성되도록(듯이), 문장을 기록합니다. |
클래스 java.beans. Encoder 로부터 상속된 메소드 |
---|
get , getExceptionListener , getPersistenceDelegate , remove , setExceptionListener , setPersistenceDelegate |
클래스 java.lang. Object 로부터 상속된 메소드 |
---|
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait |
생성자 의 상세 |
---|
public XMLEncoder(OutputStream out)
out
에 JavaBeans 를 송신하는, 새로운 출력 스트림을 작성합니다.
out
- 객체의 XML 표현의
송신지가 되는 스트림XMLDecoder.XMLDecoder(InputStream)
메소드의 상세 |
---|
public void setOwner(Object owner)
owner
로 설정합니다.
owner
- 이 엔코더의 소유자getOwner()
public Object getOwner()
setOwner(java.lang.Object)
public void writeObject(Object o)
Encoder
내의 writeObject
o
- 스트림에 기입해지는 객체XMLDecoder.readObject()
public void writeStatement(Statement oldStm)
이 메소드는, 지속적인 위양을 초기화하는 문맥내에서만 호출하도록 해 주세요.
Encoder
내의 writeStatement
oldStm
- 스트림에 기입해진다
문장PersistenceDelegate.initialize(java.lang.Class >, java.lang.Object, java.lang.Object, java.beans.Encoder)
public void writeExpression(Expression oldExp)
이 메소드는, 지속적인 위양을 초기화하는 문맥내, 또는 자원 번들로부터 읽어들이도록(듯이) 엔코더를 설정하는 문맥내에서만 호출하도록 해 주세요.
XMLEncoder 로 자원 번들을 사용하는 상세한 것에 대하여는, http://java.sun.com/products/jfc/tsc/articles/persistence4/#i18n 를 참조해 주세요.
Encoder
내의 writeExpression
oldExp
- 스트림에 기입해진다
식PersistenceDelegate.initialize(java.lang.Class >, java.lang.Object, java.lang.Object, java.beans.Encoder)
public void flush()
flush
를 마지막으로 호출했을 때로부터 스트림에 기입해진 모든 값을 써냅니다. 플래시 후, 이 스트림에 기입해진 값의 내부 참조는 모두 클리어 됩니다.
public void close()
flush
를 호출해, 닫는 postamble를 기입해, 이 스트림에 관련지을 수 있고 있는 출력 스트림을 클로즈 합니다.
|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.