/**
* The root class, holding our links to NativeCollections and GSCollections.
* NativeCollections tests native accessors, and throws exceptions when non-native
* accessors are used.
* GSCollections does the same, in reverse - if natives are used, it will throw
* exceptions.
*
* All classes have a minefield of other methods that shouldn't ever get called; if any
* of them do, an immediate exception will be thrown.
*
* @author gblock
*
*/
public class Root {
private NativeCollections nativeCollections;
private GSCollections gsCollections;
private GACollections gaCollections;
public NativeCollections getNativeCollections() {
return nativeCollections;
}
public void setNativeCollections(NativeCollections nc) {
if (nc==null)throw new RuntimeException("Null sent to setNativeCollections()");
this.nativeCollections = nc;
nativeCollections.validate();
}
public GSCollections getGsCollections() {
return gsCollections;
}
public void setGsCollections(GSCollections gc) {
if (gc==null)throw new RuntimeException("Null sent to setGSCollections()");
this.gsCollections = gc;
gsCollections.validate();
}
public GACollections getGaCollections() {
return gaCollections;
}
public void setGaCollections(GACollections ga) {
if (ga==null)throw new RuntimeException("Null sent to setGACollections()");
gaCollections = ga;
gaCollections.validate();
}
}