package org.arachb.owlbuilder.lib;

import org.arachb.owlbuilder.Owlbuilder;
import org.semanticweb.owlapi.model.OWLObject;

public interface GeneratingEntity {

	
	/**
	 * Creates OWLAPI object and assertions that logically define it; assertions are
	 * added to the target ontology retrieved from the owlbuilder parameter
	 * @param b allows access to global ontology, factory, reasoner, etc. resources
	 * @return OWLAPI object corresponding to an OWL representation of the Entity
	 * @throws Exception
	 */
	public OWLObject generateOWL(Owlbuilder b) throws Exception;

}

@@ -29,16 +29,39 @@
 r.lib;%0A%0A
+import java.util.Map;%0A%0A
 import o
@@ -421,16 +421,495 @@
 sources%0A
+%09 * @param elements table of indexed elements that may be used to avoid regenerating%0A%09 * @return OWLAPI object corresponding to an OWL representation of the Entity%0A%09 * @throws Exception%0A%09 */%0A%0A%09public OWLObject generateOWL(Owlbuilder b, Map%3CString, OWLObject%3E elements) throws Exception;%0A%0A%0A%09/**%0A%09 * Version that doesn't accept table%0A%09 * Implementations should treat as if empty table were passed in%0A%09 * @param b allows access to global ontology, factory, reasoner, etc. resources%0A
 %09 * @ret

add alternative method that includes a generation cache table