<?xml version="1.0" encoding="UTF-8"?>
<!--
 * Jalview - A Sequence Alignment Editor and Viewer (2.11.2.2)
 * Copyright (C) 2022 The Jalview Authors
 * 
 * This file is part of Jalview.
 * 
 * Jalview 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 3 of the License, or (at your option) any later version.
 *  
 * Jalview 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 Jalview.  If not, see <http://www.gnu.org/licenses/>.
 * The Jalview Authors are detailed in the 'AUTHORS' file.
-->
<jalopy>
    <general>
        <compliance>
            <version>14</version>
        </compliance>
        <style>
            <description>Sun Java Coding Convention</description>
            <name>Sun</name>
        </style>
    </general>
    <inspector>
        <enable>true</enable>
        <naming>
            <classes>
                <abstract>[A-Z][a-zA-Z0-9]+</abstract>
                <general>[A-Z][a-zA-Z0-9]+</general>
            </classes>
            <fields>
                <default>[a-z][\w]+</default>
                <defaultStatic>[a-z][\w]+</defaultStatic>
                <defaultStaticFinal>[a-zA-Z][\w]+</defaultStaticFinal>
                <private>[a-z][\w]+</private>
                <privateStatic>[a-z][\w]+</privateStatic>
                <privateStaticFinal>[a-zA-Z][\w]+</privateStaticFinal>
                <protected>[a-z][\w]+</protected>
                <protectedStatic>[a-z][\w]+</protectedStatic>
                <protectedStaticFinal>[a-zA-Z][\w]+</protectedStaticFinal>
                <public>[a-z][\w]+</public>
                <publicStatic>[a-z][\w]+</publicStatic>
                <publicStaticFinal>[a-zA-Z][\w]+</publicStaticFinal>
            </fields>
            <interfaces>[A-Z][a-zA-Z0-9]+</interfaces>
            <labels>\w+</labels>
            <methods>
                <default>[a-z][\w]+</default>
                <defaultStatic>[a-z][\w]+</defaultStatic>
                <defaultStaticFinal>[a-z][\w]+</defaultStaticFinal>
                <private>[a-z][\w]+</private>
                <privateStatic>[a-z][\w]+</privateStatic>
                <privateStaticFinal>[a-z][\w]+</privateStaticFinal>
                <protected>[a-z][\w]+</protected>
                <protectedStatic>[a-z][\w]+</protectedStatic>
                <protectedStaticFinal>[a-z][\w]+</protectedStaticFinal>
                <public>[a-z][\w]+</public>
                <publicStatic>[a-z][\w]+</publicStatic>
                <publicStaticFinal>[a-z][\w]+</publicStaticFinal>
            </methods>
            <packages>[a-z]+(?:\.[a-z]+)*</packages>
            <parameters>
                <default>[a-z][\w]+</default>
                <final>[a-z][\w]+</final>
            </parameters>
            <variables>[a-z][\w]*</variables>
        </naming>
        <tips>
            <adhereToNamingConvention>false</adhereToNamingConvention>
            <alwaysOverrideHashCode>false</alwaysOverrideHashCode>
            <avoidThreadGroups>false</avoidThreadGroups>
            <declareCollectionComment>false</declareCollectionComment>
            <dontIgnoreExceptions>false</dontIgnoreExceptions>
            <dontSubstituteObjectEquals>false</dontSubstituteObjectEquals>
            <neverDeclareException>false</neverDeclareException>
            <neverDeclareThrowable>false</neverDeclareThrowable>
            <neverInvokeWaitOutsideLoop>false</neverInvokeWaitOutsideLoop>
            <neverReturnZeroArrays>false</neverReturnZeroArrays>
            <neverUseEmptyFinally>false</neverUseEmptyFinally>
            <obeyContractEquals>false</obeyContractEquals>
            <overrideToString>false</overrideToString>
            <referToObjectsByInterface>false</referToObjectsByInterface>
            <replaceStructureWithClass>false</replaceStructureWithClass>
            <stringLiterallI18n>false</stringLiterallI18n>
            <useInterfaceOnlyForTypes>false</useInterfaceOnlyForTypes>
            <wrongCollectionComment>false</wrongCollectionComment>
        </tips>
    </inspector>
    <internal>
        <version>6</version>
    </internal>
    <messages>
        <priority>
            <general>30000</general>
            <parser>30000</parser>
            <parserJavadoc>30000</parserJavadoc>
            <printer>30000</printer>
            <printerJavadoc>30000</printerJavadoc>
            <transform>30000</transform>
        </priority>
        <showErrorStackTrace>true</showErrorStackTrace>
    </messages>
    <misc>
        <threadCount>1</threadCount>
    </misc>
    <printer>
        <alignment>
            <methodCallChain>true</methodCallChain>
            <parameterMethodDeclaration>false</parameterMethodDeclaration>
            <ternaryOperator>true</ternaryOperator>
            <variableAssignment>false</variableAssignment>
            <variableIdentifier>false</variableIdentifier>
        </alignment>
        <backup>
            <directory>bak</directory>
            <level>1</level>
        </backup>
        <blanklines>
            <after>
                <block>1</block>
                <braceLeft>0</braceLeft>
                <class>1</class>
                <declaration>0</declaration>
                <footer>1</footer>
                <header>0</header>
                <interface>1</interface>
                <lastImport>2</lastImport>
                <method>1</method>
                <package>1</package>
            </after>
            <before>
                <block>1</block>
                <braceRight>0</braceRight>
                <caseBlock>1</caseBlock>
                <comment>
                    <javadoc>1</javadoc>
                    <multiline>1</multiline>
                    <singleline>1</singleline>
                </comment>
                <controlStatement>1</controlStatement>
                <declaration>1</declaration>
                <footer>0</footer>
                <header>0</header>
            </before>
            <keepUpTo>1</keepUpTo>
        </blanklines>
        <braces>
            <empty>
                <cuddle>false</cuddle>
                <insertStatement>false</insertStatement>
            </empty>
            <insert>
                <dowhile>false</dowhile>
                <for>false</for>
                <ifelse>true</ifelse>
                <while>false</while>
            </insert>
            <remove>
                <block>true</block>
                <dowhile>false</dowhile>
                <for>false</for>
                <ifelse>false</ifelse>
                <while>false</while>
            </remove>
            <treatDifferent>
                <methodClass>false</methodClass>
                <methodClassIfWrapped>false</methodClassIfWrapped>
            </treatDifferent>
        </braces>
        <chunks>
            <blanklines>true</blanklines>
            <comments>true</comments>
        </chunks>
        <comments>
            <format>
                <multiline>false</multiline>
            </format>
            <javadoc>
                <check>
                    <innerclass>true</innerclass>
                    <tags>true</tags>
                    <throwsTags>true</throwsTags>
                </check>
                <fieldsShort>true</fieldsShort>
                <generate>
                    <class>5</class>
                    <constructor>5</constructor>
                    <field>5</field>
                    <method>5</method>
                </generate>
                <parseComments>false</parseComments>
                <tags>
                    <in-line />
                    <standard />
                </tags>
                <templates>
                    <method>
                        <bottom> */</bottom>
                        <exception> * @throws $exceptionType$ TODO: DOCUMENT ME!</exception>
                        <param> * @param $paramType$ TODO: DOCUMENT ME!</param>
                        <return> * @return TODO: DOCUMENT ME!</return>
                        <top>/**| * TODO: DOCUMENT ME!</top>
                    </method>
                </templates>
            </javadoc>
            <remove>
                <javadoc>false</javadoc>
                <multiline>false</multiline>
                <singleline>false</singleline>
            </remove>
            <separator>
                <fillCharacter>-</fillCharacter>
                <insert>false</insert>
                <insertRecursive>false</insertRecursive>
                <text>
                    <class>Inner Classes</class>
                    <constructor>Constructors</constructor>
                    <field>Instance fields</field>
                    <initializer>Instance initializers</initializer>
                    <interface>Inner Interfaces</interface>
                    <method>Methods</method>
                    <static>Static fields/initializers</static>
                </text>
            </separator>
        </comments>
        <environment />
        <footer>
            <keys />
            <smartMode>0</smartMode>
            <use>false</use>
        </footer>
        <header>
            <keys />
            <smartMode>0</smartMode>
            <use>false</use>
        </header>
        <history>
            <policy>disabled</policy>
        </history>
        <imports>
            <grouping>
                <defaultDepth>3</defaultDepth>
                <packages>*:0|gnu:2|java:2|javax:2</packages>
            </grouping>
            <policy>disabled</policy>
            <sort>true</sort>
        </imports>
        <indentation>
            <caseFromSwitch>true</caseFromSwitch>
            <continuation>
                <block>true</block>
                <operator>false</operator>
            </continuation>
            <firstColumnComments>true</firstColumnComments>
            <label>false</label>
            <policy>
                <deep>false</deep>
            </policy>
            <sizes>
                <braceCuddled>1</braceCuddled>
                <braceLeft>1</braceLeft>
                <braceRight>0</braceRight>
                <braceRightAfter>1</braceRightAfter>
                <continuation>4</continuation>
                <deep>55</deep>
                <extends>-1</extends>
                <general>4</general>
                <implements>-1</implements>
                <leading>0</leading>
                <tabs>8</tabs>
                <throws>-1</throws>
                <trailingComment>1</trailingComment>
            </sizes>
            <tabs>
                <enable>false</enable>
                <onlyLeading>false</onlyLeading>
            </tabs>
        </indentation>
        <misc>
            <arrayBracketsAfterIdent>false</arrayBracketsAfterIdent>
            <forceFormatting>false</forceFormatting>
            <insertExpressionParentheses>true</insertExpressionParentheses>
            <insertLoggingConditional>false</insertLoggingConditional>
            <insertTrailingNewline>true</insertTrailingNewline>
            <insertUID>false</insertUID>
        </misc>
        <sorting>
            <declaration>
                <class>false</class>
                <constructor>false</constructor>
                <enable>false</enable>
                <interface>false</interface>
                <method>false</method>
                <order>static|field|initializer|constructor|method|interface|class</order>
                <variable>false</variable>
            </declaration>
            <modifier>
                <enable>false</enable>
                <order>public|protected|private|abstract|static|final|synchronized|transient|volatile|native|strictfp</order>
            </modifier>
        </sorting>
        <whitespace>
            <after>
                <comma>true</comma>
                <semicolon>true</semicolon>
                <typeCast>true</typeCast>
            </after>
            <before>
                <braces>true</braces>
                <brackets>false</brackets>
                <bracketsTypes>false</bracketsTypes>
                <caseColon>false</caseColon>
                <operator>
                    <not>false</not>
                </operator>
                <parentheses>
                    <methodCall>false</methodCall>
                    <methodDeclaration>false</methodDeclaration>
                    <statement>true</statement>
                </parentheses>
            </before>
            <padding>
                <braces>true</braces>
                <brackets>false</brackets>
                <operator>
                    <assignment>true</assignment>
                    <bitwise>true</bitwise>
                    <logical>true</logical>
                    <mathematical>true</mathematical>
                    <relational>true</relational>
                    <shift>true</shift>
                </operator>
                <parenthesis>false</parenthesis>
                <typeCast>false</typeCast>
            </padding>
        </whitespace>
        <wrapping>
            <always>
                <after>
                    <arrayElement>0</arrayElement>
                    <braceRight>false</braceRight>
                    <extendsTypes>false</extendsTypes>
                    <implementsTypes>false</implementsTypes>
                    <label>true</label>
                    <methodCallChained>false</methodCallChained>
                    <ternaryOperator>
                        <first>false</first>
                        <second>false</second>
                    </ternaryOperator>
                    <throwsTypes>false</throwsTypes>
                </after>
                <before>
                    <braceLeft>false</braceLeft>
                    <extends>false</extends>
                    <implements>false</implements>
                    <throws>false</throws>
                </before>
                <parameter>
                    <methodCall>false</methodCall>
                    <methodCallNested>false</methodCallNested>
                    <methodDeclaration>false</methodDeclaration>
                </parameter>
            </always>
            <general>
                <beforeOperator>true</beforeOperator>
                <enable>true</enable>
                <lineLength>80</lineLength>
            </general>
            <ondemand>
                <after>
                    <assignment>false</assignment>
                    <leftParenthesis>false</leftParenthesis>
                    <parameter>false</parameter>
                    <types>
                        <extends>false</extends>
                        <implements>false</implements>
                        <throws>false</throws>
                    </types>
                </after>
                <before>
                    <rightParenthesis>false</rightParenthesis>
                </before>
                <groupingParentheses>false</groupingParentheses>
            </ondemand>
        </wrapping>
    </printer>
</jalopy>

