org.seasar.uruma.component.writer
クラス UIElementWriter

java.lang.Object
  上位を拡張 org.seasar.uruma.component.writer.UIElementWriter
すべての実装されたインタフェース:
UIElementVisitor, UrumaConstants

public class UIElementWriter
extends Object
implements UIElementVisitor, UrumaConstants

UIElement を XML ファイルへ出力するためのクラスです。

作成者:
y-komori

フィールドの概要
protected  Writer writer
           
 
インタフェース org.seasar.uruma.core.UrumaConstants から継承されたフィールド
AMPERSAND, AT_MARK, AUTO_ACTION_ID_PREFIX, AUTO_MENU_ID_PREFIX, COLON, COMMA, COMPONENT_DESC_SCHEMA_PATH, CONTENT_PROVIDER_SUFFIX, DEFAULT_IMAGE_BUNDLE_PATH, DEFAULT_LOG_PROPERTIES, DEFAULT_LOG_XML, DEFAULT_PERSPECTIVE_ID, DEFAULT_VIEWS_PATH, DEFAULT_WORKBENCH_HEIGHT, DEFAULT_WORKBENCH_WIDTH, DEFAULT_WORKBENCH_XML, DUMMY_WORKBENCH_PATH, EXCLAMATION_MARK, FORM_SUFFIX, HASH_MARK, LABEL_PROVIDER_SUFFIX, MENU_BAR_MANAGER_CID, NULL_STRING, PART_ACTION_SUFFIX, PERIOD, PROTCOL_FILE, PROTCOL_JAR, SCHEMA_PATH, SHELL_CID, SLASH, SORTER_SUFFIX, STATUS_LINE_MANAGER_CID, URUMA_APP_SCHEME_ID, URUMA_APP_SCHEME_NAME, URUMA_BUNDLE_SYMBOLIC_NAME, URUMA_DICON_PATH, URUMA_EXTENSION_DEBUG, URUMA_MESSAGE_BASE, URUMA_RCP_DICON_PATH, URUMA_SERVICE_PROP_APPS, URUMA_SERVICE_S2NAME, USER_MESSAGE_BASE, WHITE_SPACE, WINDOW_CID, WORKBENCH_TEMPLATE_NAME, WORKBENCH_WINDOW_CONTEXT_ID
 
コンストラクタの概要
UIElementWriter(Writer writer)
          UIElementWriter を構築します。
 
メソッドの概要
 void deindent()
          インデントレベルを上げます。
protected  String getAttributeName(Field field)
           
protected  String getElementName(Class<?> clazz)
          クラスオブジェクトから要素名を取得します。
 void indent()
          インデントレベルを下げます。
 void resetIndent()
          インデントをリセットします。
 void visit(Template template)
          Template を訪問します。
 void visit(UIElement element)
          UIElement を訪問します。
 void visit(UIElementContainer container)
          UIElementContainer を訪問します。
protected  void writeEndTag(UIElement element)
           
protected  void writeIndent()
           
protected  void writeStartTag(UIElement element, boolean startTagOnly)
           
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

writer

protected Writer writer
コンストラクタの詳細

UIElementWriter

public UIElementWriter(Writer writer)
UIElementWriter を構築します。

パラメータ:
writer - XML ファイルの出力先 Writer オブジェクト。
メソッドの詳細

visit

public void visit(UIElement element)
インタフェース UIElementVisitor の記述:
UIElement を訪問します。

定義:
インタフェース UIElementVisitor 内の visit
パラメータ:
element - UIElement オブジェクト

visit

public void visit(UIElementContainer container)
インタフェース UIElementVisitor の記述:
UIElementContainer を訪問します。

定義:
インタフェース UIElementVisitor 内の visit
パラメータ:
container - UIElementContainer オブジェクト

visit

public void visit(Template template)
インタフェース UIElementVisitor の記述:
Template を訪問します。

定義:
インタフェース UIElementVisitor 内の visit
パラメータ:
template - Template オブジェクト

writeStartTag

protected void writeStartTag(UIElement element,
                             boolean startTagOnly)
                      throws IOException
例外:
IOException

writeEndTag

protected void writeEndTag(UIElement element)
                    throws IOException
例外:
IOException

getElementName

protected String getElementName(Class<?> clazz)
クラスオブジェクトから要素名を取得します。
ComponentElement アノテーションを読み取り、その値を要素名として返します。
ComponentElement アノテーションの値がない場合、クラス名のサフィックス Component を除いた名称をデキャピタライズしたものを要素名とします。
【例】クラス名が ButtonComponent の場合、button が要素名になります。

パラメータ:
clazz - 要素名を取得する Class オブジェクト
戻り値:
要素名。取得に失敗した場合は null

getAttributeName

protected String getAttributeName(Field field)

writeIndent

protected void writeIndent()
                    throws IOException
例外:
IOException

resetIndent

public void resetIndent()
インデントをリセットします。


indent

public void indent()
インデントレベルを下げます。


deindent

public void deindent()
インデントレベルを上げます。



Copyright © 2006-2008 The Seasar Foundation. All Rights Reserved.