Show RendererFactory.java syntax highlighted
package org.integratedmodelling.thinkcap.portal.rendering;
import java.io.PrintWriter;
import java.util.Hashtable;
import org.integratedmodelling.thinklab.constraint.Constraint;
import org.integratedmodelling.thinklab.interfaces.IConcept;
import org.integratedmodelling.thinklab.interfaces.IInstance;
/**
* Class to manage the rendering of knowledge. Renderers for specific concepts
* are installed by plugins.
* @author UVM Affiliate
*
*/
public class RendererFactory {
static private Hashtable<String,InstanceRenderer> instanceRenderers =
new Hashtable<String, InstanceRenderer>();
static private Hashtable<String, ConceptRenderer> conceptRenderers =
new Hashtable<String, ConceptRenderer>();
static private Hashtable<String, ConstraintRenderer> constraintRenderers =
new Hashtable<String, ConstraintRenderer>();
static private Hashtable<String, QueryRenderer> queryRenderers =
new Hashtable<String, QueryRenderer>();
/**
* Register a renderer to use for a concept and its subclasses.
* Used by plugins that provide renderers.
* @param c
* @param r
*/
public static void registerInstanceRenderer(IConcept c, InstanceRenderer r) {
instanceRenderers.put(c.getSemanticType().toString(), r);
}
/**
* Register a renderer to use for a concept and its subclasses.
* Used by plugins that provide renderers.
* @param c
* @param r
*/
public static void registerConceptRenderer(IConcept c, ConceptRenderer r) {
conceptRenderers.put(c.getSemanticType().toString(), r);
}
/**
* Register a renderer to use for a concept and its subclasses.
* Used by plugins that provide renderers.
* @param c
* @param r
*/
public static void registerConstraintRenderer(IConcept c, ConstraintRenderer r) {
constraintRenderers.put(c.getSemanticType().toString(), r);
}
/**
* Register a renderer to use for a concept and its subclasses.
* Used by plugins that provide renderers.
* @param c
* @param r
*/
public static void registerQueryRenderer(IConcept c, QueryRenderer r) {
queryRenderers.put(c.getSemanticType().toString(), r);
}
/**
* Render a graphical illustration of an instance's structure and contents.
* @param i an instance
* @param writer something to render on
*/
public static void renderInstance(IInstance i, PrintWriter writer) {
}
/**
* Render a graphical illustration of an abstract concept.
* @param i a concept
* @param writer something to render on
*/
public static void renderConcept(IConcept i, PrintWriter writer) {
}
/**
* Render a graphical illustration of a constraint.
* @param constraint a constraint
* @param writer what to render it on
*/
public static void renderConstraint(Constraint constraint, PrintWriter writer) {
}
/**
* Render a query form for objects of passed concept.
* @param i The concept of the object class we want to query for.
* @param writer a writer to render on.
*/
public static void renderQuery(IConcept i, PrintWriter writer) {
}
}
See more files for this project here