package org.cloudgraph.web.sdo.adapter;
import java.util.UUID;
import org.cloudgraph.web.sdo.categorization.Categorization;
import org.cloudgraph.web.sdo.categorization.Category;
import org.cloudgraph.web.sdo.core.InstanceCategorization;
import org.cloudgraph.web.sdo.meta.InstanceSpecification;
import commonj.sdo.DataGraph;
import commonj.sdo.DataObject;
public class InstanceCategorizationAdapter extends CategorizationAdapter {
private InstanceCategorization instanceCategorization;
private InstanceSpecification root;
public InstanceCategorizationAdapter(InstanceSpecification element) {
this.root = element;
if (this.root == null)
throw new IllegalArgumentException("expected element");
}
public InstanceCategorizationAdapter(InstanceCategorization classCategorization) {
super(classCategorization.getCategorization());
this.instanceCategorization = classCategorization;
if (this.instanceCategorization == null)
throw new IllegalArgumentException("unexpected null argument, 'propertyCategorization'");
this.root = this.instanceCategorization.getInstanceSpecification();
if (this.root == null)
throw new IllegalArgumentException("expected element");
}
public InstanceCategorizationAdapter(InstanceCategorization classCategorization,
Category cat) {
super(classCategorization.getCategorization(), cat);
this.instanceCategorization = classCategorization;
if (this.instanceCategorization == null)
throw new IllegalArgumentException("unexpected null argument, 'propertyCategorization'");
this.root = this.instanceCategorization.getInstanceSpecification();
if (this.root == null)
throw new IllegalArgumentException("expected element");
}
public InstanceCategorization getInstanceCategorization() {
return this.instanceCategorization;
}
protected boolean isInitializedCategorization() {
return this.instanceCategorization != null;
}
public DataGraph getDataGraph() {
return this.instanceCategorization.getDataGraph();
}
public DataObject getRoot() {
return this.instanceCategorization;
}
protected void initCategorization() {
this.instanceCategorization = this.root.createInstanceCategorization();
Categorization catz = this.instanceCategorization.createCategorization();
catz.setExternalId(UUID.randomUUID().toString());
super.setCategorization(catz);
}
}