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: /*
21: * $Id: ByteInputStream.java,v 1.2 2007/07/16 16:41:25 ofung Exp $ $Revision:
22: * 1.3 $ $Date: 2007/07/16 16:41:25 $
23: */
24:
25: /*
26: * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
27: *
28: * Copyright 1997-2007 Sun Microsystems, Inc. All rights reserved.
29: *
30: * The contents of this file are subject to the terms of either the GNU
31: * General Public License Version 2 only ("GPL") or the Common Development
32: * and Distribution License("CDDL") (collectively, the "License"). You
33: * may not use this file except in compliance with the License. You can obtain
34: * a copy of the License at https://glassfish.dev.java.net/public/CDDL+GPL.html
35: * or glassfish/bootstrap/legal/LICENSE.txt. See the License for the specific
36: * language governing permissions and limitations under the License.
37: *
38: * When distributing the software, include this License Header Notice in each
39: * file and include the License file at glassfish/bootstrap/legal/LICENSE.txt.
40: * Sun designates this particular file as subject to the "Classpath" exception
41: * as provided by Sun in the GPL Version 2 section of the License file that
42: * accompanied this code. If applicable, add the following below the License
43: * Header, with the fields enclosed by brackets [] replaced by your own
44: * identifying information: "Portions Copyrighted [year]
45: * [name of copyright owner]"
46: *
47: * Contributor(s):
48: *
49: * If you wish your version of this file to be governed by only the CDDL or
50: * only the GPL Version 2, indicate your decision by adding "[Contributor]
51: * elects to include this software in this distribution under the [CDDL or GPL
52: * Version 2] license." If you don't indicate a single choice of license, a
53: * recipient has the option to distribute your version of this file under
54: * either the CDDL, the GPL Version 2 or to extend the choice of license to
55: * its licensees as provided above. However, if you add GPL Version 2 code
56: * and therefore, elected the GPL Version 2 license, then the option applies
57: * only if the new code is made subject to such option by the copyright
58: * holder.
59: */
60: package com.sun.xml.messaging.saaj.util;
61:
62: import java.io.ByteArrayInputStream;
63: import java.io.IOException;
64:
65: // This class just gives access to the underlying buffer without copying.
66:
67: public class ByteInputStream extends ByteArrayInputStream {
68: private static final byte[] EMPTY_ARRAY = new byte[0];
69:
70: public ByteInputStream() {
71: this (EMPTY_ARRAY, 0);
72: }
73:
74: public ByteInputStream(byte buf[], int length) {
75: super (buf, 0, length);
76: }
77:
78: public ByteInputStream(byte buf[], int offset, int length) {
79: super (buf, offset, length);
80: }
81:
82: public byte[] getBytes() {
83: return buf;
84: }
85:
86: public int getCount() {
87: return count;
88: }
89:
90: public void close() throws IOException {
91: reset();
92: }
93:
94: public void setBuf(byte[] buf) {
95: this .buf = buf;
96: this .pos = 0;
97: this.count = buf.length;
98: }
99: }
|