/*
* org.openmicroscopy.package.ClassName
*
*------------------------------------------------------------------------------
* Copyright (C) 2006 University of Dundee. All rights reserved.
*
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
* This program 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 General Public License for more details.
*
* You should have received a copy of the GNU General Public License along
* with this program; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*
*------------------------------------------------------------------------------
*/
//the above license blurb is required
package org.openmicroscopy.package.ClassName;
//follow the pattern below for imports
//Java imports
import java.lang.reflect.*; //avoid *, specify actual classes if possible
import javax.swing.Action; //follow alphabetical order
import javax.swing.JFrame;
//Third-party libraries
import org.open.source.ClassX;
import org.open.source.lib.ClassY;
//Application-internal dependencies
import org.openmicroscopy.pkg.ClassX;
//REMEMBER:
// * line lenght is 80 chars (may be more occasionally for long string litterals)
// * tabs are 4 spaces
/**
* Put class description here.
* Format descriptions using (basic) HTML as needed.
* Use {@link target name} to reference fields and methods.
* Use the "code" tag to enclose any symbol that is contained in the source
* code and that is not to be referenced -- for example, a keyword or a
* variable name.
*
* Excluding the author clause, which is optional, all other clauses
* below are required. Just cut and paste. The second line below is
* automatically handled by CVS, never modify it.
*
* @author Your Name, your@email
* @version 2.2
*
* (Internal version: $Revision$ $Date$)
*
* @since OME2.2
*/
public abstract class Template
extends BaseClass
implements Interface
{
/** One-line description may have this style. */
public static final int A_CONSTANT = 1;
/**
* If you need more than one line to describe a member field, use
* this common style.
*/
private int aMemberField;
private String anotherField; //use tabs to nicely align field names
/**
* Put method description here.
* Method signature is described following the order below:
*
* @param param1 A tab before description
* @param param2 A tab before description
* @return Object A tab before description
* @throws MyException A tab before description
*/
public Object aMethod(String param1, int param2) //a space after commas
throws MyException //throws clause on next line
{
int k = 0; //a space between each symbol pair, no space before semicolon
//optional line after vars declaration
while (k < 10) { //a space between keywords and parentheses
if (k == 3 || k == -1) { //a space between condition and operator
byte x = (byte) k++; //a space between cast and symbols
break;
} else {
k = methodX(par1, par2, par3); //a space after commas
} //brackets may be omitted if just one statement is enclosed
}
try {
//some more code...
} catch (Exception e) {
//exception handling code...
}
}
}