samples/preventcyclicdependencies/src-cyclic/org/apidesign/cycles/array/MutableArray.java
author Jaroslav Tulach <jtulach@netbeans.org>
Sat, 14 Jun 2008 09:53:48 +0200
changeset 87 618b79994cd4
permissions -rw-r--r--
How to eliminate cyclic dependencies
     1 // BEGIN: cycles.ma1
     2 package org.apidesign.cycles.array;
     3 
     4 import java.io.IOException;
     5 import java.io.OutputStream;
     6 import org.apidesign.cycles.crypt.Encryptor;
     7 
     8 public class MutableArray {
     9     private byte[] arr;
    10 
    11     public MutableArray(byte[] arr) {
    12         this.arr = arr;
    13     }
    14 
    15     public void xor(byte b) {
    16         for (int i = 0; i < arr.length; i++) { arr[i] ^= b; }
    17     }
    18 
    19     public void and(byte b) {
    20         for (int i = 0; i < arr.length; i++) { arr[i] &= b; }
    21     }
    22 
    23     public void or(byte b) {
    24         for (int i = 0; i < arr.length; i++) { arr[i] |= b; }
    25     }
    26 
    27     public void encrypt(OutputStream os) throws IOException {
    28         Encryptor en = new Encryptor();
    29         byte[] clone = (byte[]) arr.clone();
    30         en.encode(clone);
    31         os.write(clone);
    32     }
    33 }
    34 // END: cycles.ma1
    35