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.ClassCategorization;
import org.cloudgraph.web.sdo.meta.Clazz;
import commonj.sdo.DataGraph;
import commonj.sdo.DataObject;
public class ClassCategorizationAdapter extends CategorizationAdapter {
private ClassCategorization classCategorization;
private Clazz root;
public ClassCategorizationAdapter(Clazz element) {
this.root = element;
if (this.root == null)
throw new IllegalArgumentException("expected property element");
}
public ClassCategorizationAdapter(ClassCategorization classCategorization) {
super(classCategorization.getCategorization());
this.classCategorization = classCategorization;
if (this.classCategorization == null)
throw new IllegalArgumentException("unexpected null argument, 'propertyCategorization'");
this.root = this.classCategorization.getClazz();
if (this.root == null)
throw new IllegalArgumentException("expected property element");
}
public ClassCategorizationAdapter(ClassCategorization classCategorization,
Category cat) {
super(classCategorization.getCategorization(), cat);
this.classCategorization = classCategorization;
if (this.classCategorization == null)
throw new IllegalArgumentException("unexpected null argument, 'propertyCategorization'");
this.root = this.classCategorization.getClazz();
if (this.root == null)
throw new IllegalArgumentException("expected property element");
}
public ClassCategorization getProjectCategorization() {
return this.classCategorization;
}
protected boolean isInitializedCategorization() {
return this.classCategorization != null;
}
public DataGraph getDataGraph() {
return this.classCategorization.getDataGraph();
}
public DataObject getRoot() {
return this.classCategorization;
}
protected void initCategorization() {
this.classCategorization = this.root.createClassCategorization();
Categorization catz = this.classCategorization.createCategorization();
catz.setExternalId(UUID.randomUUID().toString());
super.setCategorization(catz);
}
}