01: /*
02: * The contents of this file are subject to the terms
03: * of the Common Development and Distribution License
04: * (the "License"). You may not use this file except
05: * in compliance with the License.
06: *
07: * You can obtain a copy of the license at
08: * https://jwsdp.dev.java.net/CDDLv1.0.html
09: * See the License for the specific language governing
10: * permissions and limitations under the License.
11: *
12: * When distributing Covered Code, include this CDDL
13: * HEADER in each file and include the License file at
14: * https://jwsdp.dev.java.net/CDDLv1.0.html If applicable,
15: * add the following below this CDDL HEADER, with the
16: * fields enclosed by brackets "[]" replaced with your
17: * own identifying information: Portions Copyright [yyyy]
18: * [name of copyright owner]
19: */
20: package com.sun.codemodel.fmt;
21:
22: import java.io.IOException;
23: import java.io.OutputStream;
24: import java.util.Properties;
25:
26: import com.sun.codemodel.JResourceFile;
27:
28: /**
29: * A property file.
30: */
31: public class JPropertyFile extends JResourceFile {
32: public JPropertyFile(String name) {
33: super (name);
34: }
35:
36: private final Properties data = new Properties();
37:
38: /**
39: * Adds key/value pair into the property file.
40: * If you call this method twice with the same key,
41: * the old one is overriden by the new one.
42: */
43: public void add(String key, String value) {
44: data.put(key, value);
45: }
46:
47: // TODO: method to iterate values in data?
48: // TODO: should we rather expose Properties object directly via
49: // public Properties body() { return data; } ?
50:
51: public void build(OutputStream out) throws IOException {
52: data.store(out, null);
53: }
54: }
|