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;
 
 
 import java.net.URI;
 import java.net.URL;
 
 
 public class IniPreferencesFactory implements PreferencesFactory
 {
     public static final String PROPERTIES = "ini4j.properties";
     public static final String KEY_USER = "org.ini4j.prefs.user";
     public static final String KEY_SYSTEM = "org.ini4j.prefs.system";
     private Preferences _system;
     private Preferences _user;
 
     @Override public synchronized Preferences systemRoot()
     {
         if ( == null)
         {
              = newIniPreferences();
         }
 
         return ;
     }
 
     @Override public synchronized Preferences userRoot()
     {
         if ( == null)
         {
              = newIniPreferences();
         }
 
         return ;
     }
 
     String getIniLocation(String key)
     {
         String location = Config.getSystemProperty(key);
 
         if (location == null)
         {
             try
             {
                 Properties props = new Properties();
 
                 props.load(Thread.currentThread().getContextClassLoader().getResourceAsStream());
                 location = props.getProperty(key);
             }
             catch (Exception x)
             {
                 assert true;
             }
         }
 
         return location;
     }
 
     URL getResource(String locationthrows IllegalArgumentException
     {
         try
         {
             URI uri = new URI(location);
             URL url;
 
             if (uri.getScheme() == null)
             {
                 url = Thread.currentThread().getContextClassLoader().getResource(location);
             }
             else
             {
                 url = uri.toURL();
             }
 
             return url;
         }
         catch (Exception x)
         {
             throw (IllegalArgumentExceptionnew IllegalArgumentException().initCause(x);
         }
     }
    {
        try
        {
            return getResource(location).openStream();
        }
        catch (Exception x)
        {
            throw (IllegalArgumentExceptionnew IllegalArgumentException().initCause(x);
        }
    }
    {
        Ini ini = new Ini();
        String location = getIniLocation(key);
        if (location != null)
        {
            try
            {
                ini.load(getResourceAsStream(location));
            }
            catch (Exception x)
            {
                throw (IllegalArgumentExceptionnew IllegalArgumentException().initCause(x);
            }
        }
        return new IniPreferences(ini);
    }
New to GrepCode? Check out our FAQ X