<?xml version="1.0" encoding="UTF-8" standalone="no"?>

<!--
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
   regarding copyright ownership.  The ASF licenses this file
   to you under the Apache License, Version 2.0 (the
   "License"); you may not use this file except in compliance
   with the License.  You may obtain a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

   Unless required by applicable law or agreed to in writing,
   software distributed under the License is distributed on an
   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.    
-->  
<code_scheme name="OpenNLP">
    <option name="CLASS_COUNT_TO_USE_IMPORT_ON_DEMAND" value="99"/>
    <option name="NAMES_COUNT_TO_USE_IMPORT_ON_DEMAND" value="99"/>
    <option name="PACKAGES_TO_USE_IMPORT_ON_DEMAND">
        <value/>
    </option>
    <option name="IMPORT_LAYOUT_TABLE">
        <value>
            <package name="java" withSubpackages="true" static="false"/>
            <emptyLine/>
            <package name="javax" withSubpackages="true" static="false"/>
            <emptyLine/>
            <package name="" withSubpackages="true" static="false"/>
            <emptyLine/>
            <package name="opennlp" withSubpackages="true" static="false"/>
            <emptyLine/>
            <package name="" withSubpackages="true" static="true"/>
        </value>
    </option>
    <MarkdownNavigatorCodeStyleSettings>
        <option name="RIGHT_MARGIN" value="72"/>
    </MarkdownNavigatorCodeStyleSettings>
    <codeStyleSettings language="JAVA">
        <option name="RIGHT_MARGIN" value="100"/>
        <option name="SPACE_BEFORE_ARRAY_INITIALIZER_LBRACE" value="true"/>
        <option name="SPACE_BEFORE_ANNOTATION_ARRAY_INITIALIZER_LBRACE" value="true"/>
        <option name="IF_BRACE_FORCE" value="3"/>
        <option name="DOWHILE_BRACE_FORCE" value="3"/>
        <option name="WHILE_BRACE_FORCE" value="3"/>
        <option name="FOR_BRACE_FORCE" value="3"/>
        <indentOptions>
            <option name="INDENT_SIZE" value="2"/>
            <option name="CONTINUATION_INDENT_SIZE" value="4"/>
        </indentOptions>
    </codeStyleSettings>
</code_scheme> 