Coverage Report - org.ini4j.spi.IniFormatter
 
Classes in this File Line Coverage Branch Coverage Complexity
IniFormatter
100%
18/18
83%
5/6
1.5
 
 1  
 /*
 2  
  * Copyright 2005,2009 Ivan SZKIBA
 3  
  *
 4  
  * Licensed under the Apache License, Version 2.0 (the "License");
 5  
  * you may not use this file except in compliance with the License.
 6  
  * You may obtain a copy of the License at
 7  
  *
 8  
  *      http://www.apache.org/licenses/LICENSE-2.0
 9  
  *
 10  
  * Unless required by applicable law or agreed to in writing, software
 11  
  * distributed under the License is distributed on an "AS IS" BASIS,
 12  
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 13  
  * See the License for the specific language governing permissions and
 14  
  * limitations under the License.
 15  
  */
 16  
 package org.ini4j.spi;
 17  
 
 18  
 import org.ini4j.Config;
 19  
 
 20  
 import java.io.PrintWriter;
 21  
 import java.io.Writer;
 22  
 
 23  925
 public class IniFormatter extends AbstractFormatter implements IniHandler
 24  
 {
 25  
     public static IniFormatter newInstance(Writer out, Config config)
 26  
     {
 27  22
         IniFormatter instance = newInstance();
 28  
 
 29  22
         instance.setOutput((out instanceof PrintWriter) ? (PrintWriter) out : new PrintWriter(out));
 30  22
         instance.setConfig(config);
 31  
 
 32  22
         return instance;
 33  
     }
 34  
 
 35  
     @Override public void endIni()
 36  
     {
 37  19
         getOutput().flush();
 38  19
     }
 39  
 
 40  
     @Override public void endSection()
 41  
     {
 42  109
         getOutput().print(getConfig().getLineSeparator());
 43  109
     }
 44  
 
 45  
     @Override public void startIni()
 46  
     {
 47  
         assert true;
 48  19
     }
 49  
 
 50  
     @Override public void startSection(String sectionName)
 51  
     {
 52  109
         setHeader(false);
 53  109
         if (!getConfig().isGlobalSection() || !sectionName.equals(getConfig().getGlobalSectionName()))
 54  
         {
 55  109
             getOutput().print(IniParser.SECTION_BEGIN);
 56  109
             getOutput().print(escapeFilter(sectionName));
 57  109
             getOutput().print(IniParser.SECTION_END);
 58  109
             getOutput().print(getConfig().getLineSeparator());
 59  
         }
 60  109
     }
 61  
 
 62  
     private static IniFormatter newInstance()
 63  
     {
 64  22
         return ServiceFinder.findService(IniFormatter.class);
 65  
     }
 66  
 }