/* LanguageTool, a natural language style checker 
 * Copyright (C) 2005 Daniel Naber (http://www.danielnaber.de)
 * 
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2.1 of the License, or (at your option) any later version.
 *
 * This library 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
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with this library; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301
 * USA
 */
package org.languagetool.language;

import java.io.IOException;
import java.util.Arrays;
import java.util.List;
import java.util.ResourceBundle;

import org.languagetool.Language;
import org.languagetool.rules.*;
import org.languagetool.rules.be.MorfologikBelarusianSpellerRule;
import org.languagetool.tagging.Tagger;
import org.languagetool.tagging.xx.DemoTagger;
import org.languagetool.tokenizers.SRXSentenceTokenizer;
import org.languagetool.tokenizers.SentenceTokenizer;

/**
 * Belarusian language declarations.
 * 
 * Copyright (C) 2010 Alex Buloichik (alex73mail@gmail.com)
 */
public class Belarusian extends Language {

    private Tagger tagger;
    private SentenceTokenizer sentenceTokenizer;

    @Override
    public String getName() {
      return "Belarusian";
    }

  @Override
    public String getShortName() {
          return "be";
      }

    @Override
    public String[] getCountries() {
        return new String[]{"BY"};
    }

    @Override
    public Tagger getTagger() {
        if (tagger == null) {
            tagger = new DemoTagger();
        }
        return tagger;
    }


      @Override
    public SentenceTokenizer getSentenceTokenizer() {
    if (sentenceTokenizer == null) {
       sentenceTokenizer = new SRXSentenceTokenizer(this);
    }
    return sentenceTokenizer;
  }
    
    @Override
    public Contributor[] getMaintainers() {
        return new Contributor[] { new Contributor("Alex Buloichik") };
    }

    @Override
    public List<Rule> getRelevantRules(ResourceBundle messages) throws IOException {
      return Arrays.asList(
              new CommaWhitespaceRule(messages),
              new DoublePunctuationRule(messages),
              new MorfologikBelarusianSpellerRule(messages, this),
              new UppercaseSentenceStartRule(messages, this),
              new MultipleWhitespaceRule(messages, this)
      );
    }

}

@@ -1375,17 +1375,16 @@
 ions.%0A *
- 
 %0A * Copy
@@ -1484,18 +1484,16 @@
 uage %7B%0A%0A
-  
   privat
@@ -1509,18 +1509,16 @@
 tagger;%0A
-  
   privat
@@ -1557,18 +1557,16 @@
 nizer;%0A%0A
-  
   @Overr
@@ -1563,34 +1563,32 @@
 %0A%0A  @Override%0A  
- 
- 
 public String ge
@@ -1593,26 +1593,24 @@
 getName() %7B%0A
-  
     return %22
@@ -1622,18 +1622,16 @@
 usian%22;%0A
-  
   %7D%0A%0A  @
@@ -1633,34 +1633,32 @@
 %0A%0A  @Override%0A  
- 
- 
 public String ge
@@ -1668,30 +1668,24 @@
 ortName() %7B%0A
-      
     return %22
@@ -1693,21 +1693,15 @@
 e%22;%0A
-    
   %7D%0A%0A  
- 
- 
 @Ove
@@ -1698,34 +1698,32 @@
  %7D%0A%0A  @Override%0A
-  
   public String%5B
@@ -1737,28 +1737,24 @@
 untries() %7B%0A
-    
     return n
@@ -1772,25 +1772,21 @@
 %7B%22BY%22%7D;%0A
-  
   %7D%0A%0A
-  
   @Overr
@@ -1781,34 +1781,32 @@
  %7D%0A%0A  @Override%0A
-  
   public Tagger 
@@ -1815,28 +1815,24 @@
 tTagger() %7B%0A
-    
     if (tagg
@@ -1851,22 +1851,16 @@
 %7B%0A      
-  
-    
 tagger =
@@ -1882,26 +1882,18 @@
 ();%0A    
-  
-  %7D%0A    
+%7D%0A
     retu
@@ -1907,20 +1907,13 @@
 er;%0A
-  
   %7D%0A%0A
-%0A    
   @O
@@ -1912,34 +1912,32 @@
  %7D%0A%0A  @Override%0A
-  
   public Sentenc
@@ -2005,25 +2005,24 @@
  == null) %7B%0A
- 
       senten
@@ -2111,15 +2111,9 @@
   %7D%0A
-    %0A  
+%0A
   @O
@@ -2112,34 +2112,32 @@
  %7D%0A%0A  @Override%0A
-  
   public Contrib
@@ -2166,20 +2166,16 @@
 ) %7B%0A    
- 
-   
 return n
@@ -2234,17 +2234,13 @@
  %7D;%0A
-  
   %7D%0A%0A
-  
   @O
@@ -2247,18 +2247,16 @@
 verride%0A
-  
   public
@@ -2334,18 +2334,16 @@
 n %7B%0A    
-  
 return A
@@ -2356,18 +2356,16 @@
 asList(%0A
-  
         
@@ -2411,26 +2411,24 @@
             
-  
 new DoublePu
@@ -2444,34 +2444,32 @@
 Rule(messages),%0A
-  
             new 
@@ -2509,34 +2509,32 @@
 essages, this),%0A
-  
             new 
@@ -2585,26 +2585,24 @@
             
-  
 new Multiple
@@ -2640,15 +2640,11 @@
     
-  
 );%0A
-  
   %7D%0A

fix code formatting only