jalview source development documentation
authorjprocter <Jim Procter>
Mon, 28 May 2007 11:12:19 +0000 (11:12 +0000)
committerjprocter <Jim Procter>
Mon, 28 May 2007 11:12:19 +0000 (11:12 +0000)
doc/developing.html [new file with mode: 0644]
doc/newdmobj.html [new file with mode: 0644]

diff --git a/doc/developing.html b/doc/developing.html
new file mode 100644 (file)
index 0000000..f466a21
--- /dev/null
@@ -0,0 +1,24 @@
+<!DOCTYPE html SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>Developing Jalview</head>
+  <body>
+<p><h1>Developing Jalview</h1>
+</p>
+<ul>
+<li>Basic Source Structure Guidelines</li>
+<li>The Applet and The Application - whats the difference ?</li>
+<li>Package Architecture<br>
+</li>
+<li>Specific  Development Guidelines
+<ul>
+<li><a href="newdmobj.html">Adding new datamodel objects to Jalview</a></li>
+<li>Adding new IO capabilities to Jalview</li>
+<li>Adding new database types to Jalview</li>
+<li>Working with the Jalview DAS annotation fetcher</li>
+<li>Adding new analysis methods to jalview</li>
+<li>Adding new web service functionality to jalview</li>
+</ul>
+</li>
+</ul>
+</body>
+</html>
\ No newline at end of file
diff --git a/doc/newdmobj.html b/doc/newdmobj.html
new file mode 100644 (file)
index 0000000..68198fd
--- /dev/null
@@ -0,0 +1,19 @@
+<html>\r
+<head>\r
+<title>Adding New Datamodel Objects To Jalview</title>\r
+</head>\r
+<body>\r
+<h1>Adding New Datamodel Objects To Jalview</h1>\r
+<p>There are some basic requirements for all Jalview datamodel objects. None of them are mandatory, but each one makes it easier to integrate a new datamodel object into Jalview.</p>\r
+<p>The primary requirement of classes within jalviw.datamodel is that all class implementations must be byte-code compatible with a java 1.1 runtime environment. This is an imposition from the Jalview applet, which is dependent on the core jalview.datamodel package. It is possible to include dependencies to objects which are not available to the JRE1.1 environment, providing you ensure that a test is made at run-time to decide if these dependencies are followed within any particular method. But generally, it is best to stick to 1.1 coding style - that is no generics, no fancy Iterators or use of specific JRE object methods and interfaces introduced after 1.1 (such as the get method for java.util.Vector).</p>\r
+<p><h3>Steps for integrating a new class into the datamodel</h3>\r
+<ol><li>Implement in Java 1.1 compatible source.</li>\r
+<li>Implement copy constructors for the benefit of any datamodel classes that reference it:\r
+<ul>\r
+<li>If it is referenced by AlignmentI or SequenceI<br>\r
+The jalview cut and paste mechanism relies on copy constructors and a 'pseudo-copy constructor' method to make new versions of datamodel objects which correctly inherit references to a subset of attributes referenced by the original objects, and otherwise contain complete duplicates of data (sequence characters, annotation and sequence features) local to that object.\r
+</li>\r
+</ul></li>\r
+<li>\r
+</body>\r
+</html>
\ No newline at end of file