1 /* 2 * Copyright 2004-2008 the Seasar Foundation and the Others. 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 13 * either express or implied. See the License for the specific language 14 * governing permissions and limitations under the License. 15 */ 16 package org.seasar.uruma.component.writer; 17 18 import java.io.BufferedWriter; 19 import java.io.FileWriter; 20 import java.io.IOException; 21 22 import org.seasar.uruma.component.Template; 23 import org.seasar.uruma.util.AssertionUtil; 24 25 /** 26 * Uruma のコンポーネントモデルを画面定義 XML ファイルへ出力するためのクラスです。<br /> 27 * 28 * @author y-komori 29 */ 30 public class ComponentModelWriter { 31 private ComponentModelWriter() { 32 33 } 34 35 /** 36 * {@link Template} オブジェクトを画面定義 XML ファイルへ出力します。<br /> 37 * 38 * @param template 39 * {@link Template} オブジェクト 40 * @param path 41 * 出力先パス 42 * @throws IOException 43 * 出力に失敗した場合 44 */ 45 public static void writeTemplate(final Template template, final String path) 46 throws IOException { 47 AssertionUtil.assertNotNull("template", template); 48 AssertionUtil.assertNotEmpty("path", path); 49 50 BufferedWriter writer = new BufferedWriter(new FileWriter(path)); 51 UIElementWriter uiElementWriter = new UIElementWriter(writer); 52 template.accept(uiElementWriter); 53 } 54 }