Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Copyright 2005,2009 Ivan SZKIBA
   *
   * Licensed 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.
  */
 package org.ini4j.spi;
 
 import org.ini4j.Ini;
 
 abstract class AbstractProfileBuilder implements IniHandler
 {
     private Profile.Section _currentSection;
     private boolean _header;
     private String _lastComment;
 
     @Override public void endIni()
     {
 
         // comment only .ini files....
         if (( != null) && )
         {
             setHeaderComment();
         }
     }
 
     @Override public void endSection()
     {
          = null;
     }
 
     @Override public void handleComment(String comment)
     {
         if (( != null) && )
         {
              = false;
             setHeaderComment();
         }
 
          = comment;
     }
 
     @Override public void handleOption(String nameString value)
     {
          = false;
         if (getConfig().isMultiOption())
         {
             .add(namevalue);
         }
         else
         {
             .put(namevalue);
         }
 
         if ( != null)
         {
             putComment(name);
              = null;
         }
     }
 
     @Override public void startIni()
     {
         if (getConfig().isHeaderComment())
         {
              = true;
         }
     }
 
     @Override public void startSection(String sectionName)
     {
         if (getConfig().isMultiSection())
         {
              = getProfile().add(sectionName);
         }
         else
         {
             Ini.Section s = getProfile().get(sectionName);
 
              = (s == null) ? getProfile().add(sectionName) : s;
         }
 
         if ( != null)
         {
             if ()
             {
                 setHeaderComment();
            }
            else
            {
                putComment(getProfile(), sectionName);
            }
             = null;
        }
         = false;
    }
    abstract Config getConfig();
    abstract Profile getProfile();
    {
        return ;
    }
    private void setHeaderComment()
    {
        if (getConfig().isComment())
        {
            getProfile().setComment();
        }
    }
    private void putComment(CommentedMap<String, ?> mapString key)
    {
        if (getConfig().isComment())
        {
            map.putComment(key);
        }
    }
New to GrepCode? Check out our FAQ X