samples/preventcyclicdependencies/src-acyclic1/org/apidesign/cycles/array/MutableArray.java
1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/samples/preventcyclicdependencies/src-acyclic1/org/apidesign/cycles/array/MutableArray.java Sat Jun 14 09:53:48 2008 +0200
1.3 @@ -0,0 +1,38 @@
1.4 +package org.apidesign.cycles.array;
1.5 +
1.6 +import java.io.IOException;
1.7 +import java.io.OutputStream;
1.8 +import org.openide.util.Lookup;
1.9 +// BEGIN: nocycles.ma2
1.10 +public class MutableArray {
1.11 + private byte[] arr;
1.12 +
1.13 + public MutableArray(byte[] arr) {
1.14 + this.arr = arr;
1.15 + }
1.16 +
1.17 + public void xor(byte b) {
1.18 + for (int i = 0; i < arr.length; i++) { arr[i] ^= b; }
1.19 + }
1.20 +
1.21 + public void and(byte b) {
1.22 + for (int i = 0; i < arr.length; i++) { arr[i] &= b; }
1.23 + }
1.24 +
1.25 + public void or(byte b) {
1.26 + for (int i = 0; i < arr.length; i++) { arr[i] |= b; }
1.27 + }
1.28 +
1.29 + public void encrypt(OutputStream os) throws IOException {
1.30 + DoEncode en = Lookup.getDefault().lookup(DoEncode.class);
1.31 + assert en != null : "We need org.netbeans.example.crypt to be enabled!";
1.32 + byte[] clone = (byte[]) arr.clone();
1.33 + en.encode(clone);
1.34 + os.write(clone);
1.35 + }
1.36 +
1.37 + public interface DoEncode {
1.38 + public void encode(byte[] arr);
1.39 + }
1.40 +}
1.41 +// END: nocycles.ma2