blob: 71f402318e1a8add209af9d7f4ff4a9f71c083ef [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><HTML>
<HEAD>
<meta name="copyright" content="Copyright (c) IBM Corporation and others 2000, 2005. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page." >
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1">
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
<LINK REL="STYLESHEET" HREF="../book.css" CHARSET="ISO-8859-1" TYPE="text/css">
<TITLE>
Modifying the workspace
</TITLE>
<link rel="stylesheet" type="text/css" HREF="../book.css">
</HEAD>
<BODY BGCOLOR="#ffffff">
<h2>Modifying the workspace</h2>
<p>In the course of performing its function, your plug-in may need to make changes to resources in the workspace.
The workspace is an important data model for many plug-ins in the system, many of which rely on keeping up with
the current state of the workspace. Plug-ins may even be concurrently updating the workspace. It's important
for your plug-in to act as a responsible workspace citizen when making changes to resources. What makes a plug-in
a good workspace citizen?
</p>
<ul>
<li><b>Batching</b> of changes where possible to avoid flooding the system with unnecessary events or triggering
unnecessary processing on an interim state.</li>
<li><b>Listening</b> to resource change events and updating models as the workspace changes.</li>
<li><b>Fine-grained locking</b> of the workspace when making modifications instead of locking the entire workspace.</li>
</ul>
<p>The next few sections look at these concepts in more detail.
</p>
</BODY>
</HTML>