1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138
|
package java_integration.fixtures;
import java.util.Collection;
import java.util.Iterator;
public class SuperWithInterface implements Collection<Object> {
private static class SubClassWithoutInterfaces extends SuperWithInterface implements Runnable {
public void run() {}
// for testing that a single unique method on child does not cause all parent methods to disappear
protected boolean add(String s) {return false;}
public boolean add(Object s) {return true;}
}
public static SuperWithInterface getSubClassInstance() {
return new SubClassWithoutInterfaces();
}
public static class SuperWithoutInterface {
// no interfaces, so we need to test that this doesn't cause
// the equivalent child method to get removed
public boolean add(Object s) {
throw new UnsupportedOperationException("Not supported yet.");
}
}
public static class SubWithInterface extends SuperWithoutInterface implements Collection<Object> {
private boolean add(String e) {
return false;
}
public boolean add(Object e) {
return true;
}
// impl methods, just to have them
public int size() {
throw new UnsupportedOperationException("Not supported yet.");
}
public boolean isEmpty() {
throw new UnsupportedOperationException("Not supported yet.");
}
public boolean contains(Object o) {
throw new UnsupportedOperationException("Not supported yet.");
}
public Iterator<Object> iterator() {
throw new UnsupportedOperationException("Not supported yet.");
}
public Object[] toArray() {
throw new UnsupportedOperationException("Not supported yet.");
}
public <T> T[] toArray(T[] a) {
throw new UnsupportedOperationException("Not supported yet.");
}
public boolean remove(Object o) {
throw new UnsupportedOperationException("Not supported yet.");
}
public boolean containsAll(Collection<?> c) {
throw new UnsupportedOperationException("Not supported yet.");
}
public boolean addAll(Collection<? extends Object> c) {
throw new UnsupportedOperationException("Not supported yet.");
}
public boolean removeAll(Collection<?> c) {
throw new UnsupportedOperationException("Not supported yet.");
}
public boolean retainAll(Collection<?> c) {
throw new UnsupportedOperationException("Not supported yet.");
}
public void clear() {
throw new UnsupportedOperationException("Not supported yet.");
}
}
// impl methods, just to have them
public int size() {
throw new UnsupportedOperationException("Not supported yet.");
}
public boolean isEmpty() {
throw new UnsupportedOperationException("Not supported yet.");
}
public boolean contains(Object o) {
throw new UnsupportedOperationException("Not supported yet.");
}
public Iterator<Object> iterator() {
throw new UnsupportedOperationException("Not supported yet.");
}
public Object[] toArray() {
throw new UnsupportedOperationException("Not supported yet.");
}
public <T> T[] toArray(T[] a) {
throw new UnsupportedOperationException("Not supported yet.");
}
public boolean add(Object e) {
throw new UnsupportedOperationException("Not supported yet.");
}
public boolean remove(Object o) {
throw new UnsupportedOperationException("Not supported yet.");
}
public boolean containsAll(Collection<?> c) {
throw new UnsupportedOperationException("Not supported yet.");
}
public boolean addAll(Collection<? extends Object> c) {
throw new UnsupportedOperationException("Not supported yet.");
}
public boolean removeAll(Collection<?> c) {
throw new UnsupportedOperationException("Not supported yet.");
}
public boolean retainAll(Collection<?> c) {
throw new UnsupportedOperationException("Not supported yet.");
}
public void clear() {
throw new UnsupportedOperationException("Not supported yet.");
}
}
|