001: /*
002: * Licensed to the Apache Software Foundation (ASF) under one or more
003: * contributor license agreements. See the NOTICE file distributed with
004: * this work for additional information regarding copyright ownership.
005: * The ASF licenses this file to You under the Apache License, Version 2.0
006: * (the "License"); you may not use this file except in compliance with
007: * the License. You may obtain a copy of the License at
008: *
009: * http://www.apache.org/licenses/LICENSE-2.0
010: *
011: * Unless required by applicable law or agreed to in writing, software
012: * distributed under the License is distributed on an "AS IS" BASIS,
013: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
014: *
015: * See the License for the specific language governing permissions and
016: * limitations under the License.
017: */
018:
019: /**
020: * @author Mikhail A. Markov
021: * @version $Revision: 1.3.4.2 $
022: */package java.rmi.server;
023:
024: import java.io.OutputStream;
025: import java.io.PrintStream;
026: import java.util.Hashtable;
027:
028: /**
029: * @com.intel.drl.spec_ref
030: *
031: * Note: this class is not used by RMI runtime.
032: *
033: * @author Mikhail A. Markov
034: * @version $Revision: 1.3.4.2 $
035: * @deprecated No replacement. This class is deprecated since Java v1.2.
036: */
037: @Deprecated
038: public class LogStream extends PrintStream {
039:
040: /**
041: * @com.intel.drl.spec_ref
042: */
043: @Deprecated
044: public static final int SILENT = 0;
045:
046: /**
047: * @com.intel.drl.spec_ref
048: */
049: @Deprecated
050: public static final int BRIEF = 10;
051:
052: /**
053: * @com.intel.drl.spec_ref
054: */
055: @Deprecated
056: public static final int VERBOSE = 20;
057:
058: // The default print stream.
059: private static PrintStream defaultStream = System.err;
060:
061: // The list of created LogStreams. Their names are keys in the table.
062: private static Hashtable logStreams = new Hashtable();
063:
064: // The name of this LogStream
065: private String name;
066:
067: /*
068: * True if write method was never called or '\n' (new-line symbol was
069: * the last symbol written to the underlying stream.
070: */
071: private boolean isFirstByte = true;
072:
073: /*
074: * Constructs LogStream having the given name and writing to the given
075: * OutputStream.
076: */
077: private LogStream(String name, OutputStream out) {
078: super (out);
079: this .name = name;
080: }
081:
082: /**
083: * @com.intel.drl.spec_ref
084: */
085: @Deprecated
086: public String toString() {
087: return "LogStream[" + name + "]"; //$NON-NLS-1$ //$NON-NLS-2$
088: }
089:
090: /**
091: * @com.intel.drl.spec_ref
092: */
093: @Deprecated
094: public void write(byte[] b, int off, int len) {
095: if (len < 0) {
096: throw new ArrayIndexOutOfBoundsException("len < 0: " + len); //$NON-NLS-1$
097: }
098:
099: for (int i = 0; i < len; ++i) {
100: write(b[off + i]);
101: }
102: }
103:
104: /**
105: * @com.intel.drl.spec_ref
106: */
107: @Deprecated
108: public void write(int b) {
109: synchronized (this ) {
110: if (b == '\n') {
111: super .write(b);
112: isFirstByte = true;
113: } else {
114: if (isFirstByte) {
115: isFirstByte = false;
116: print(toString() + ":"); //$NON-NLS-1$
117: }
118: super .write(b);
119: }
120: }
121: }
122:
123: /**
124: * @com.intel.drl.spec_ref
125: */
126: @Deprecated
127: public synchronized void setOutputStream(OutputStream out) {
128: if (out == null) {
129: throw new NullPointerException();
130: }
131: this .out = out;
132: }
133:
134: /**
135: * @com.intel.drl.spec_ref
136: */
137: @Deprecated
138: public synchronized OutputStream getOutputStream() {
139: return out;
140: }
141:
142: /**
143: * @com.intel.drl.spec_ref
144: */
145: @Deprecated
146: public static int parseLevel(String levelStr) {
147: if (levelStr == null) {
148: return -1;
149: }
150: levelStr = levelStr.trim().toUpperCase();
151:
152: if (levelStr.equals("SILENT")) { //$NON-NLS-1$
153: return SILENT;
154: } else if (levelStr.equals("BRIEF")) { //$NON-NLS-1$
155: return BRIEF;
156: } else if (levelStr.equals("VERBOSE")) { //$NON-NLS-1$
157: return VERBOSE;
158: } else {
159: try {
160: return Integer.parseInt(levelStr);
161: } catch (NumberFormatException nfe) {
162: return -1;
163: }
164: }
165: }
166:
167: /**
168: * @com.intel.drl.spec_ref
169: */
170: @Deprecated
171: public static synchronized void setDefaultStream(PrintStream stream) {
172: defaultStream = stream;
173: }
174:
175: /**
176: * @com.intel.drl.spec_ref
177: */
178: @Deprecated
179: public static synchronized PrintStream getDefaultStream() {
180: return defaultStream;
181: }
182:
183: /**
184: * @com.intel.drl.spec_ref
185: */
186: @Deprecated
187: public static LogStream log(String name) {
188: synchronized (logStreams) {
189: LogStream stream = (LogStream) logStreams.get(name);
190:
191: if (stream != null) {
192: return stream;
193: } else {
194: stream = new LogStream(name, defaultStream);
195: logStreams.put(name, stream);
196: return stream;
197: }
198: }
199: }
200: }
|