Code Search for Developers
 
 
  

RendererFactory.java from ThinkCap Collaborative Knowledge Portal at Krugle


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

ThinkCap Collaborative Knowledge Portal

A portal to explore and edit the knowledge contained in a set of ontologies in intuitive ways. Presents a Dictionary view (a Google-like interface), a Thesaurus view (a graphical display with simplified relationships) and a full graphical Concept view.

Project homepage: http://sourceforge.net/projects/thinkcap
Programming language(s): Java,JavaScript,XML
License: other

  ConceptRenderer.java
  ConstraintRenderer.java
  InstanceRenderer.java
  KnowledgeRenderer.java
  QueryRenderer.java
  RendererFactory.java