sticky documentation popup [take 1]
[fedora-idea.git] / platform / platform-impl / src / com / intellij / util / ScrambledOutputStream.java
blob38f194ccfd684b18bc27635947119c8c99288959
1 /*
2 * Copyright 2000-2009 JetBrains s.r.o.
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
8 * http://www.apache.org/licenses/LICENSE-2.0
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, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
16 package com.intellij.util;
18 import java.io.IOException;
19 import java.io.OutputStream;
21 public class ScrambledOutputStream extends OutputStream{
22 static final int MASK = 0xAA;
23 private final OutputStream myOriginalStream;
25 public ScrambledOutputStream(OutputStream originalStream) {
26 myOriginalStream = originalStream;
29 public void write(int b) throws IOException {
30 myOriginalStream.write(b ^ MASK);
33 public void write(byte[] b, int off, int len) throws IOException {
34 byte[] newBytes = new byte[len];
35 for(int i = 0; i < len; i++) {
36 newBytes[i] = (byte)(b[off + i] ^ MASK);
38 myOriginalStream.write(newBytes, 0, len);
41 public void flush() throws IOException {
42 myOriginalStream.flush();
45 public void close() throws IOException {
46 myOriginalStream.close();