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.ByteArrayOutputStream;
23: import java.io.IOException;
24: import java.io.OutputStream;
25:
26: import com.sun.codemodel.JResourceFile;
27:
28: /**
29: * Allows the application to use OutputStream to define data
30: * that will be stored into a file.
31: *
32: * @author
33: * Kohsuke Kawaguchi (kohsuke.kawaguchi@sun.com)
34: */
35: public final class JBinaryFile extends JResourceFile {
36:
37: private final ByteArrayOutputStream baos = new ByteArrayOutputStream();
38:
39: public JBinaryFile(String name) {
40: super (name);
41: }
42:
43: /**
44: *
45: * @return
46: * Data written to the returned output stream will be written
47: * to the file.
48: */
49: public OutputStream getDataStore() {
50: return baos;
51: }
52:
53: public void build(OutputStream os) throws IOException {
54: os.write(baos.toByteArray());
55: }
56: }
|