01: /*
02: * uDig - User Friendly Desktop Internet GIS client http://udig.refractions.net (C) 2004,
03: * Refractions Research Inc. This library is free software; you can redistribute it and/or modify it
04: * under the terms of the GNU Lesser General Public License as published by the Free Software
05: * Foundation; version 2.1 of the License. This library is distributed in the hope that it will be
06: * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
07: * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
08: */
09: package net.refractions.udig.project.internal.render;
10:
11: import net.refractions.udig.project.render.RenderException;
12:
13: import org.eclipse.core.runtime.IProgressMonitor;
14:
15: /**
16: * TODO Purpose of net.refractions.udig.project.internal.render
17: * <p>
18: * </p>
19: *
20: * @author Jesse
21: * @since 1.0.0
22: * @model
23: */
24: public interface RenderExecutor extends Renderer {
25: /** The Extension point id declaring available RenderExecutors */
26: String EXTENSION_ID = "net.refractions.udig.project.renderExecutor"; //$NON-NLS-1$
27:
28: /** The name of the RenderExecutor class attribute in the Extension point */
29: String EXECUTOR_ATTR = "executorClass"; //$NON-NLS-1$
30:
31: /** The name of the Renderer class attribute in the Extension point */
32: String RENDERER_ATTR = "rendererClass"; //$NON-NLS-1$
33:
34: /**
35: * <!-- begin-user-doc --> <!-- end-user-doc -->
36: *
37: * @generated
38: */
39: String copyright = "uDig - User Friendly Desktop Internet GIS client http://udig.refractions.net (C) 2004, Refractions Research Inc. This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; version 2.1 of the License. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details."; //$NON-NLS-1$
40:
41: /**
42: * Returns the value of the '<em><b>Renderer</b></em>' reference. <!-- begin-user-doc -->
43: * <p>
44: * If the meaning of the '<em>Renderer</em>' reference isn't clear, there really should be
45: * more of a description here...
46: * </p>
47: * <!-- end-user-doc -->
48: *
49: * @return the value of the '<em>Renderer</em>' reference.
50: * @see #setRenderer(Renderer)
51: * @see net.refractions.udig.project.internal.render.RenderPackage#getRenderExecutor_Renderer()
52: * @model resolveProxies="false" required="true" transient="true"
53: * @generated
54: */
55: Renderer getRenderer();
56:
57: /**
58: * Sets the value of the '{@link net.refractions.udig.project.internal.render.RenderExecutor#getRenderer <em>Renderer</em>}'
59: * reference. <!-- begin-user-doc --> <!-- end-user-doc -->
60: *
61: * @param value the new value of the '<em>Renderer</em>' reference.
62: * @see #getRenderer()
63: * @generated
64: */
65: void setRenderer(Renderer value);
66:
67: /**
68: * Method calls visitor.visit().
69: *
70: * @param visitor the visitor object
71: */
72: void visit(ExecutorVisitor visitor);
73:
74: /**
75: * This method does not use the monitor parameter. It is the same as calling render(bounds);
76: *
77: * @see net.refractions.udig.project.internal.render.Renderer#render(com.vividsolutions.jts.geom.Envelope,
78: * org.eclipse.core.runtime.IProgressMonitor)
79: */
80: public void render(IProgressMonitor monitor) throws RenderException;
81:
82: /**
83: * @see net.refractions.udig.project.internal.render.Renderer#render(com.vividsolutions.jts.geom.Envelope,
84: * org.eclipse.core.runtime.IProgressMonitor)
85: */
86: public void render() throws RenderException;
87:
88: /**
89: * This method is called when the rendering is interrupted. If the rendering has to restart or
90: * must stop. The dispose method called then the rendering thread is interrupted. Because the
91: * dispose method is called while the rendering thread is still running it <b>MUST BE
92: * THREADSAFE!!!! </b>
93: */
94: public void stopRendering();
95:
96: }
|