<!DOCTYPE html>
<html lang="en" dir="ltr" class="client-nojs">
<head>
<meta charset="UTF-8" />
<title>SMILA/Project Concepts/Simple configuration handler - Eclipsepedia</title>
<meta http-equiv="X-UA-Compatible" content="IE=EDGE" />
<meta name="generator" content="MediaWiki 1.23.2" />
<link rel="shortcut icon" href="http://wiki.eclipse.org/eclipse.org-common/themes/solstice/public/images/favicon.ico" />
<link rel="search" type="application/opensearchdescription+xml" href="http://wiki.eclipse.org/opensearch_desc.php" title="Eclipsepedia (en)" />
<link rel="EditURI" type="application/rsd+xml" href="http://wiki.eclipse.org/api.php?action=rsd" />
<link rel="alternate" type="application/atom+xml" title="Eclipsepedia Atom feed" href="http://wiki.eclipse.org/index.php?title=Special:RecentChanges&amp;feed=atom" />
<link rel="stylesheet" href="http://wiki.eclipse.org/load.php?debug=false&amp;lang=en&amp;modules=mediawiki.legacy.commonPrint%2Cshared%7Cmediawiki.ui.button&amp;only=styles&amp;skin=solstice&amp;*" />
<link rel="stylesheet" href="http://wiki.eclipse.org/skins/solstice/public/stylesheets/styles.min.css?303" media="screen, print" /><meta name="ResourceLoaderDynamicStyles" content="" />
<style>a:lang(ar),a:lang(kk-arab),a:lang(mzn),a:lang(ps),a:lang(ur){text-decoration:none}
/* cache key: my_wiki:resourceloader:filter:minify-css:7:14ece53a42aa314864e5fd8c57f0d98f */</style>
<script src="http://wiki.eclipse.org/load.php?debug=false&amp;lang=en&amp;modules=startup&amp;only=scripts&amp;skin=solstice&amp;*"></script>
<script>if(window.mw){
mw.config.set({"wgCanonicalNamespace":"","wgCanonicalSpecialPageName":false,"wgNamespaceNumber":0,"wgPageName":"SMILA/Project_Concepts/Simple_configuration_handler","wgTitle":"SMILA/Project Concepts/Simple configuration handler","wgCurRevisionId":285824,"wgRevisionId":285824,"wgArticleId":15399,"wgIsArticle":true,"wgIsRedirect":false,"wgAction":"view","wgUserName":null,"wgUserGroups":["*"],"wgCategories":[],"wgBreakFrames":false,"wgPageContentLanguage":"en","wgPageContentModel":"wikitext","wgSeparatorTransformTable":["",""],"wgDigitTransformTable":["",""],"wgDefaultDateFormat":"dmy","wgMonthNames":["","January","February","March","April","May","June","July","August","September","October","November","December"],"wgMonthNamesShort":["","Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],"wgRelevantPageName":"SMILA/Project_Concepts/Simple_configuration_handler","wgIsProbablyEditable":false,"wgRestrictionEdit":[],"wgRestrictionMove":[],"wgWikiEditorEnabledModules":{"toolbar":false,"dialogs":false,"hidesig":true,"preview":false,"previewDialog":false,"publish":false},"wgCategoryTreePageCategoryOptions":"{\"mode\":0,\"hideprefix\":20,\"showcount\":true,\"namespaces\":false}"});
}</script><script>if(window.mw){
mw.loader.implement("user.options",function($,jQuery){mw.user.options.set({"ccmeonemails":0,"cols":80,"date":"default","diffonly":0,"disablemail":0,"editfont":"default","editondblclick":0,"editsectiononrightclick":0,"enotifminoredits":0,"enotifrevealaddr":0,"enotifusertalkpages":1,"enotifwatchlistpages":1,"extendwatchlist":0,"fancysig":0,"forceeditsummary":0,"gender":"unknown","hideminor":0,"hidepatrolled":0,"imagesize":2,"math":1,"minordefault":0,"newpageshidepatrolled":0,"nickname":"","norollbackdiff":0,"numberheadings":0,"previewonfirst":0,"previewontop":1,"rcdays":7,"rclimit":50,"rows":25,"showhiddencats":0,"shownumberswatching":1,"showtoolbar":1,"skin":"solstice","stubthreshold":0,"thumbsize":2,"underline":2,"uselivepreview":0,"usenewrc":0,"watchcreations":1,"watchdefault":1,"watchdeletion":0,"watchlistdays":3,"watchlisthideanons":0,"watchlisthidebots":0,"watchlisthideliu":0,"watchlisthideminor":0,"watchlisthideown":0,"watchlisthidepatrolled":0,"watchmoves":0,"wllimit":250,
"useeditwarning":1,"prefershttps":1,"language":"en","variant-gan":"gan","variant-iu":"iu","variant-kk":"kk","variant-ku":"ku","variant-shi":"shi","variant-sr":"sr","variant-tg":"tg","variant-uz":"uz","variant-zh":"zh","searchNs0":true,"searchNs1":false,"searchNs2":false,"searchNs3":false,"searchNs4":false,"searchNs5":false,"searchNs6":false,"searchNs7":false,"searchNs8":false,"searchNs9":false,"searchNs10":false,"searchNs11":false,"searchNs12":false,"searchNs13":false,"searchNs14":false,"searchNs15":false,"variant":"en"});},{},{});mw.loader.implement("user.tokens",function($,jQuery){mw.user.tokens.set({"editToken":"+\\","patrolToken":false,"watchToken":false});},{},{});
/* cache key: my_wiki:resourceloader:filter:minify-js:7:70d74423d3fc1e1c18fa9a1ff645a84a */
}</script>
<script>if(window.mw){
mw.loader.load(["mediawiki.page.startup","mediawiki.legacy.wikibits","mediawiki.legacy.ajax"]);
}</script>
<style type="text/css">/*<![CDATA[*/
.source-java {line-height: normal;}
.source-java li, .source-java pre {
	line-height: normal; border: 0px none white;
}
/**
 * GeSHi Dynamically Generated Stylesheet
 * --------------------------------------
 * Dynamically generated stylesheet for java
 * CSS class: source-java, CSS id: 
 * GeSHi (C) 2004 - 2007 Nigel McNie, 2007 - 2008 Benny Baumann
 * (http://qbnz.com/highlighter/ and http://geshi.org/)
 * --------------------------------------
 */
.java.source-java .de1, .java.source-java .de2 {font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;}
.java.source-java  {font-family:monospace;}
.java.source-java .imp {font-weight: bold; color: red;}
.java.source-java li, .java.source-java .li1 {font-weight: normal; vertical-align:top;}
.java.source-java .ln {width:1px;text-align:right;margin:0;padding:0 2px;vertical-align:top;}
.java.source-java .li2 {font-weight: bold; vertical-align:top;}
.java.source-java .kw1 {color: #7F0055; font-weight: bold;}
.java.source-java .kw2 {color: #7F0055; font-weight: bold;}
.java.source-java .kw3 {color: #000000; font-weight: normal}
.java.source-java .kw4 {color: #7F0055; font-weight: bold;}
.java.source-java .co1 {color: #3F7F5F; font-style: italic;}
.java.source-java .co2 {color: #3F7F5F;}
.java.source-java .co3 {color: #3F7F5F; font-style: italic; font-weight: bold;}
.java.source-java .coMULTI {color: #3F5FBF; font-style: italic;}
.java.source-java .es0 {color: #000000;}
.java.source-java .br0 {color: #000000;}
.java.source-java .sy0 {color: #000000;}
.java.source-java .st0 {color: #2A00ff;}
.java.source-java .nu0 {color: #000000;}
.java.source-java .me1 {color: #000000;}
.java.source-java .me2 {color: #000000;}
.java.source-java .ln-xtra, .java.source-java li.ln-xtra, .java.source-java div.ln-xtra {background-color: #ffc;}
.java.source-java span.xtra { display:block; }

/*]]>*/
</style><meta name="viewport" content="width=device-width, initial-scale=1.0"></head>
<body class="mediawiki ltr sitedir-ltr ns-0 ns-subject page-SMILA_Project_Concepts_Simple_configuration_handler skin-solstice action-view" id="solstice">
    <a class="sr-only" href="Simple_configuration_handler.html#content">Skip to main content</a>
<div class="thin-header">
    <header role="banner" class="hidden-print noprint">
      <div class="container-fluid">
        <div id="row-logo-search">
          <div id="header-left">
            <div class="row">
              <div class="hidden-xs col-sm-6 logo-container">
                  <a href="https://www.eclipse.org/" ><img class="logo-eclipse-default" src="http://wiki.eclipse.org/skins/solstice/public/images/logo/eclipse-800x188.png" alt="Eclipsepedia"></a>
               </div>
               <div class="navbar col-sm-18 yamm" id="main-menu">
                <div class="navbar-collapse collapse" id="navbar-collapse-1">
                  <ul class="nav navbar-nav">
                    <li><a target="_self" href="https://eclipse.org/downloads/">Download</a></li>
                    <li><a target="_self" href="https://eclipse.org/users/">Getting Started </a></li>
                    <li><a target="_self" href="https://eclipse.org/membership/">Members</a></li>
                    <li><a target="_self" href="https://eclipse.org/projects/">Projects</a></li>
                    <li class="dropdown visible-xs"><a class="dropdown-toggle" data-toggle="dropdown" href="Simple_configuration_handler.html#">Community <b class="caret"></b></a><ul class="dropdown-menu"><li><a href="http://marketplace.eclipse.org">Marketplace</a></li><li><a href="http://events.eclipse.org">Events</a></li><li><a href="http://www.planeteclipse.org/">Planet Eclipse</a></li><li><a href="https://eclipse.org/community/eclipse_newsletter/">Newsletter</a></li><li><a href="https://www.youtube.com/user/EclipseFdn">Videos</a></li></ul></li><li class="dropdown visible-xs"><a class="dropdown-toggle" data-toggle="dropdown" href="Simple_configuration_handler.html#">Participate <b class="caret"></b></a><ul class="dropdown-menu"><li><a href="https://bugs.eclipse.org/bugs/">Report a Bug</a></li><li><a href="https://eclipse.org/forums/">Forums</a></li><li><a href="https://eclipse.org/mail/">Mailing Lists</a></li><li><a href="https://wiki.eclipse.org/">Wiki</a></li><li><a href="https://wiki.eclipse.org/IRC">IRC</a></li><li><a href="https://eclipse.org/contribute/">How to Contribute</a></li></ul></li><li class="dropdown visible-xs"><a class="dropdown-toggle" data-toggle="dropdown" href="Simple_configuration_handler.html#">Working Groups <b class="caret"></b></a><ul class="dropdown-menu"><li><a href="http://wiki.eclipse.org/Auto_IWG">Automotive</a></li><li><a href="http://iot.eclipse.org">Internet of Things</a></li><li><a href="http://locationtech.org">LocationTech</a></li><li><a href="http://lts.eclipse.org">Long-Term Support</a></li><li><a href="http://polarsys.org">PolarSys</a></li><li><a href="http://science.eclipse.org">Science</a></li><li><a href="http://openmdm.org">OpenMDM</a></li></ul></li><!-- More -->
                    <li class="dropdown hidden-xs"><a class="dropdown-toggle" data-toggle="dropdown">More<b class="caret"></b></a>
                      <ul class="dropdown-menu">
                        <li>
                          <!-- Content container to add padding -->
                          <div class="yamm-content">
                            <div class="row">
                              <ul class="col-sm-8 list-unstyled"><li><p><strong>Community</strong></p></li><li><a href="http://marketplace.eclipse.org">Marketplace</a></li><li><a href="http://events.eclipse.org">Events</a></li><li><a href="http://www.planeteclipse.org/">Planet Eclipse</a></li><li><a href="https://eclipse.org/community/eclipse_newsletter/">Newsletter</a></li><li><a href="https://www.youtube.com/user/EclipseFdn">Videos</a></li></ul><ul class="col-sm-8 list-unstyled"><li><p><strong>Participate</strong></p></li><li><a href="https://bugs.eclipse.org/bugs/">Report a Bug</a></li><li><a href="https://eclipse.org/forums/">Forums</a></li><li><a href="https://eclipse.org/mail/">Mailing Lists</a></li><li><a href="https://wiki.eclipse.org/">Wiki</a></li><li><a href="https://wiki.eclipse.org/IRC">IRC</a></li><li><a href="https://eclipse.org/contribute/">How to Contribute</a></li></ul><ul class="col-sm-8 list-unstyled"><li><p><strong>Working Groups</strong></p></li><li><a href="http://wiki.eclipse.org/Auto_IWG">Automotive</a></li><li><a href="http://iot.eclipse.org">Internet of Things</a></li><li><a href="http://locationtech.org">LocationTech</a></li><li><a href="http://lts.eclipse.org">Long-Term Support</a></li><li><a href="http://polarsys.org">PolarSys</a></li><li><a href="http://science.eclipse.org">Science</a></li><li><a href="http://openmdm.org">OpenMDM</a></li></ul>                            </div>
                          </div>
                        </li>
                      </ul>
                    </li>
                  </ul>
                </div>
                <div class="navbar-header">
                  <button data-target="#navbar-collapse-1" data-toggle="collapse" class="navbar-toggle" type="button">
                    <span class="sr-only">Toggle navigation</span>
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                  </button>
                      <a href="https://www.eclipse.org/"  class="visible-xs navbar-brand"><img class="logo-eclipse-default" src="http://wiki.eclipse.org/skins/solstice/public/images/logo/eclipse-800x188.png" alt="Eclipsepedia" width="174"></a>
                </div>
              </div>
            </div>
          </div>
        </div>
      </div>
    </header>
    <section class="defaut-breadcrumbs hidden-print noprint hidden-print clearfix" id="breadcrumb">
      <div>
        <ol class="breadcrumb">
        <li><a href="https://www.eclipse.org/">Home</a></li>
        <li><a href="http://wiki.eclipse.org/Main_Page">Eclipse Wiki</a></li>
        <li class="active">SMILA/Project Concepts/Simple configuration handler</li></ol>
      </div>
    </section>
  </div>
  <div class="toolbar-menu breadcrumbs-offset noprint hidden-print margin-bottom-0 clearfix">
        <div class="col-md-24">
                <ol class="breadcrumb" role="navigation">
                  <li id="pt-login">
            <a href="http://wiki.eclipse.org/index.php?title=Special:UserLogin&amp;returnto=SMILA%2FProject+Concepts%2FSimple+configuration+handler">
              <i class="fa fa-sign-in fa-fw orange"></i> Log in            </a>
          </li>
              </ul>
        </div>
</div>
  <main role="main" class="background-grey">
    <div class="container-full padding-top-25">

    
    
    <!-- content -->
    <section id="content" class="mw-body container-full clearfix 0">
      <div id="mw-js-message" style="display:none;"></div>

      
      <!-- bodyContent -->
      <div id="bodyContent">

        
                <!-- jumpto -->
        <div id="jump-to-nav" class="mw-jump">
          Jump to: <a href="Simple_configuration_handler.html#mw-head">navigation</a>,
          <a href="Simple_configuration_handler.html#p-search">search</a>
        </div>
        <!-- /jumpto -->
        
          <!-- leftcol -->
          <aside class="col-md-4 noprint hidden-print" id="leftcol">
                      <form class="input-group" role="form" id="form-eclipse-search" action="http://wiki.eclipse.org/index.php" id="searchform">
              <input id="searchInput" class="search-query form-control" type="search" accesskey="f" title="Special:Search" placeholder="Search" name="search" value="">

              <span class="input-group-btn">
                <button value="search" id="mw-searchButton" type="submit" class="btn btn-default" title="Search the pages for this text" name="fulltext">
                  <i class="fa fa-search"></i>
                </button>
              </span>
            </form>
                      <select class="form-control margin-top-10 margin-bottom-10 visible-xs visible-sm" onchange="this.options[this.selectedIndex].value && (window.location = this.options[this.selectedIndex].value);"><option class="fw-700 "><span class="fw-700">---Navigation---</span></option><option value="/Main_Page">Main Page</option><option value="/Eclipsepedia:Community_portal">Community portal</option><option value="/Eclipsepedia:Current_events">Current events</option><option value="/Special:RecentChanges">Recent changes</option><option value="/Special:Random">Random page</option><option value="https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents">Help</option></select><ul class="ul-left-nav fa-ul hidden-print leftnav hidden-xs hidden-sm"><li class="separator"><span class="separator">Navigation</span></li>                <li class=""><i class="fa fa-angle-double-right orange fa-fw"></i> <a href="http://wiki.eclipse.org/Main_Page" id="n-mainpage" title="Visit the main page [z]" accesskey="z">Main Page</a></li>                <li class=""><i class="fa fa-angle-double-right orange fa-fw"></i> <a href="http://wiki.eclipse.org/Eclipsepedia:Community_portal" id="n-portal" title="About the project, what you can do, where to find things">Community portal</a></li>                <li class=""><i class="fa fa-angle-double-right orange fa-fw"></i> <a href="http://wiki.eclipse.org/Eclipsepedia:Current_events" id="n-currentevents" title="Find background information on current events">Current events</a></li>                <li class=""><i class="fa fa-angle-double-right orange fa-fw"></i> <a href="http://wiki.eclipse.org/Special:RecentChanges" id="n-recentchanges" title="A list of recent changes in the wiki [r]" accesskey="r">Recent changes</a></li>                <li class=""><i class="fa fa-angle-double-right orange fa-fw"></i> <a href="http://wiki.eclipse.org/Special:Random" id="n-randompage" title="Load a random page [x]" accesskey="x">Random page</a></li>                <li class=""><i class="fa fa-angle-double-right orange fa-fw"></i> <a href="https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents" id="n-help" title="The place to find out">Help</a></li></ul>            <select class="form-control margin-top-10 margin-bottom-10 visible-xs visible-sm" onchange="this.options[this.selectedIndex].value && (window.location = this.options[this.selectedIndex].value);"><option class="fw-700 "><span class="fw-700">---Toolbox---</span></option><option value="/index.php?title=SMILA/Project_Concepts/Simple_configuration_handler&amp;action=info">Page information</option><option value="/index.php?title=SMILA/Project_Concepts/Simple_configuration_handler&amp;oldid=285824">Permanent link</option><option value="/index.php?title=SMILA/Project_Concepts/Simple_configuration_handler&amp;printable=yes">Printable version</option><option value="/Special:SpecialPages">Special pages</option><option value="/Special:RecentChangesLinked/SMILA/Project_Concepts/Simple_configuration_handler">Related changes</option><option value="/Special:WhatLinksHere/SMILA/Project_Concepts/Simple_configuration_handler">What links here</option></select><ul class="ul-left-nav fa-ul hidden-print leftnav hidden-xs hidden-sm"><li class="separator"><span class="separator">Toolbox</span></li><li><i class="fa fa-angle-double-right orange fa-fw"></i> <a href="http://wiki.eclipse.org/index.php?title=SMILA/Project_Concepts/Simple_configuration_handler&amp;action=info" id="t-info">Page information</a></li><li><i class="fa fa-angle-double-right orange fa-fw"></i> <a href="http://wiki.eclipse.org/index.php?title=SMILA/Project_Concepts/Simple_configuration_handler&amp;oldid=285824" id="t-permalink" title="Permanent link to this revision of the page">Permanent link</a></li><li><i class="fa fa-angle-double-right orange fa-fw"></i> <a href="http://wiki.eclipse.org/index.php?title=SMILA/Project_Concepts/Simple_configuration_handler&amp;printable=yes" id="t-print" rel="alternate" title="Printable version of this page [p]" accesskey="p">Printable version</a></li><li><i class="fa fa-angle-double-right orange fa-fw"></i> <a href="http://wiki.eclipse.org/Special:SpecialPages" id="t-specialpages" title="A list of all special pages [q]" accesskey="q">Special pages</a></li><li><i class="fa fa-angle-double-right orange fa-fw"></i> <a href="http://wiki.eclipse.org/Special:RecentChangesLinked/SMILA/Project_Concepts/Simple_configuration_handler" id="t-recentchangeslinked" title="Recent changes in pages linked from this page [k]" accesskey="k">Related changes</a></li><li><i class="fa fa-angle-double-right orange fa-fw"></i> <a href="http://wiki.eclipse.org/Special:WhatLinksHere/SMILA/Project_Concepts/Simple_configuration_handler" id="t-whatlinkshere" title="A list of all wiki pages that link here [j]" accesskey="j">What links here</a></li></ul>                                  </aside>
          <!-- /leftcol -->

          <!-- mainContent -->
          <div id="mainContent" class="col-md-20">
                      <ul class="nav nav-tabs noprint hidden-print" role="tablist">
                       <li id="ca-nstab-main" class="active"><a href="Simple_configuration_handler.html"  title="View the content page [c]" accesskey="c" tabindex="-1">Page</a></li>
                        <li id="ca-talk" class="new"><a href="http://wiki.eclipse.org/index.php?title=Talk:SMILA/Project_Concepts/Simple_configuration_handler&amp;action=edit&amp;redlink=1"  title="Discussion about the content page [t]" accesskey="t" tabindex="-1">Discussion</a></li>
                        <li id="ca-viewsource"><a href="http://wiki.eclipse.org/index.php?title=SMILA/Project_Concepts/Simple_configuration_handler&amp;action=edit"  title="This page is protected.&#10;You can view its source [e]" accesskey="e" tabindex="-1">View source</a></li>
                        <li id="ca-history" class="collapsible"><a href="http://wiki.eclipse.org/index.php?title=SMILA/Project_Concepts/Simple_configuration_handler&amp;action=history"  title="Past revisions of this page [h]" accesskey="h" tabindex="-1">History</a></li>
                      </ul>            <div class="tab-content background-white">
              <div id="tab-pane-main-page-content" class="tab-pane active">

                
                <h1 id="firstHeading" class="firstHeading page-header">
                  <span dir="auto">SMILA/Project Concepts/Simple configuration handler</span>
                </h1>
                <div id="main-page-content">
                                                      <!-- subtitle -->
                  <div id="contentSub"  class="alert alert-small alert-warning"><span class="subpages">&lt; <a href="../../SMILA.html" title="SMILA">SMILA</a>&lrm; | <a href="../Project_Concepts.1.html" title="SMILA/Project Concepts">Project Concepts</a></span></div>
                  <!-- /subtitle -->
                  
                  
                  <div id="mw-content-text" lang="en" dir="ltr" class="mw-content-ltr"><div id="toc" class="toc"><div id="toctitle"><h2>Contents</h2></div>
<ul>
<li class="toclevel-1 tocsection-1"><a href="Simple_configuration_handler.html#Description"><span class="tocnumber">1</span> <span class="toctext">Description</span></a></li>
<li class="toclevel-1 tocsection-2"><a href="Simple_configuration_handler.html#Usage"><span class="tocnumber">2</span> <span class="toctext">Usage</span></a>
<ul>
<li class="toclevel-2 tocsection-3"><a href="Simple_configuration_handler.html#Configuring_the_configuration_folder"><span class="tocnumber">2.1</span> <span class="toctext">Configuring the configuration folder</span></a></li>
<li class="toclevel-2 tocsection-4"><a href="Simple_configuration_handler.html#JavaDoc"><span class="tocnumber">2.2</span> <span class="toctext">JavaDoc</span></a></li>
<li class="toclevel-2 tocsection-5"><a href="Simple_configuration_handler.html#Which_methods_have_a_bundle_fallback_and_which_not"><span class="tocnumber">2.3</span> <span class="toctext">Which methods have a bundle fallback and which not</span></a></li>
</ul>
</li>
<li class="toclevel-1 tocsection-6"><a href="Simple_configuration_handler.html#Example"><span class="tocnumber">3</span> <span class="toctext">Example</span></a></li>
</ul>
</div>

<h2><span class="mw-headline" id="Description">Description</span></h2>
<p>Many of the SMILA bundles require configuration files. The <tt>org.eclipse.smila.utils.config.ConfigUtils</tt> support developers in accessing the configuration files.
</p><p>By default the bundle's configuration files reside in a folder with the same name as the full qualified bundle name in a <tt>configuration</tt> folder.
</p><p>For example the Jobmanager (bundle name is <tt>org.eclipse.smila.jobmanager</tt>) configuration resides in <tt>configuration/org.eclipse.smila.jobmanager</tt> and consists of several json files the Jobmanager accesses through the ConfigUtils.
</p>
<h2><span class="mw-headline" id="Usage">Usage</span></h2>
<p>To use the <tt>ConfigUtils</tt> you have to import the package <tt>org.eclipse.smila.utils.config</tt>.
</p><p>The ConfigUtils class provides several convenience methods to list or access files or streams in the bundle's configuration folder. This folder can be
</p>
<ul>
<li> a central config folder 
</li>
<li> a default config delivered and deployed with the bundle (only for streams and properties, see below)
</li>
</ul>
<p>I.e. if a configuration file is requested, the central configuration folder is searched first, if there is no such file, the bundle will be examined for a fallback file and then this fallback file will be loaded, if it exists. If the requested file could not be determined or accessed, a <tt>ConfigurationLoadException</tt> will be thrown.
</p>
<h3><span class="mw-headline" id="Configuring_the_configuration_folder">Configuring the configuration folder</span></h3>
<p>The central configuration folder will be determined in the following order:
</p>
<ul>
<li> a system property of the name <tt>org.eclipse.smila.utils.config.root</tt>
</li>
<li> an environment variable of the name <tt>org.eclipse.smila.utils.config.root</tt>
</li>
<li> <tt>&lt;org.eclipse.core.runtime.Platform.getInstallLocation()&gt;/configuration</tt> (which will always yield a folder)
</li>
</ul>
<h3><span class="mw-headline" id="JavaDoc">JavaDoc</span></h3>
<p>The ConfigUtils' JavaDoc can be found <a rel="nofollow" class="external text" href="http://build.eclipse.org/rt/smila/javadoc/current/org/eclipse/smila/utils/config/ConfigUtils.html">here</a>.
</p>
<h3><span class="mw-headline" id="Which_methods_have_a_bundle_fallback_and_which_not">Which methods have a bundle fallback and which not</span></h3>
<p>Not all methods really look up the entries in the bundle if the files cannot be found in the configuration folder. The reason is that files cannot be loaded from the bundle, only streams can.
</p>
<ul>
<li>Lookup in the application's configuration folder only:
<ul>
<li> getConfigFile
</li>
<li> getConfigFilePath
</li>
</ul>
</li>
<li>Lookup all entries from the application's configuration folder if present or (only if no such folder has been found) list fallbacks from the bundle:
<ul>
<li> getConfigEntries
</li>
</ul>
</li>
<li>First look up in the application's configuration folder, if no such file exists, look up fallback in the bundle
<ul>
<li> getConfigStream
</li>
<li> getConfigProperties
</li>
<li> getConfigContent
</li>
</ul>
</li>
</ul>
<h2><span class="mw-headline" id="Example">Example</span></h2>
<div dir="ltr" class="mw-geshi mw-code mw-content-ltr"><div class="java source-java"><pre class="de1"><span class="kw1">public</span> <span class="kw1">static</span> <span class="kw1">final</span> <span class="kw3">String</span> BUNDLE_ID <span class="sy0">=</span> <span class="st0">&quot;org.eclipse.smila.jobmanager&quot;</span><span class="sy0">;</span>
&#160;
...
&#160;
    <span class="kw1">final</span> <span class="kw3">InputStream</span> bucketsJson <span class="sy0">=</span>
        ConfigUtils.<span class="me1">getConfigStream</span><span class="br0">&#40;</span>BUNDLE_ID, <span class="st0">&quot;buckets.json&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span>
      <span class="kw1">try</span> <span class="br0">&#123;</span>
        <span class="kw1">final</span> AnyMap bucketsAny <span class="sy0">=</span> <span class="br0">&#40;</span>AnyMap<span class="br0">&#41;</span> _anyReader.<span class="me1">readJsonStream</span><span class="br0">&#40;</span>bucketsJson<span class="br0">&#41;</span><span class="sy0">;</span>
&#160;
        ...
&#160;
      <span class="br0">&#125;</span> <span class="kw1">finally</span> <span class="br0">&#123;</span>
        IOUtils.<span class="me1">closeQuietly</span><span class="br0">&#40;</span>bucketsJson<span class="br0">&#41;</span><span class="sy0">;</span>
      <span class="br0">&#125;</span></pre></div></div>
<p>This snippet will load a file "buckets.json" from either the applications configuration folder <tt>config/org.eclipse.smila.jobmanager/buckets.json</tt> or if that did not exist from the same path within the bundle and converts it into an <tt>AnyMap</tt>.
</p>
<div dir="ltr" class="mw-geshi mw-code mw-content-ltr"><div class="java source-java"><pre class="de1"><span class="kw1">public</span> <span class="kw1">static</span> <span class="kw1">final</span> <span class="kw3">String</span> BUNDLE_ID <span class="sy0">=</span> <span class="st0">&quot;org.eclipse.smila.importing.state.objectstore&quot;</span><span class="sy0">;</span>
&#160;
...
&#160;
    <span class="kw3">Properties</span> props<span class="sy0">;</span>
    <span class="kw1">try</span> <span class="br0">&#123;</span>
      props <span class="sy0">=</span> ConfigUtils.<span class="me1">getConfigProperties</span><span class="br0">&#40;</span>BUNDLE_ID, <span class="st0">&quot;deltastore.properties&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span>
    <span class="br0">&#125;</span> <span class="kw1">catch</span> <span class="br0">&#40;</span><span class="kw1">final</span> <span class="kw3">Exception</span> ex<span class="br0">&#41;</span> <span class="br0">&#123;</span>
      _log.<span class="me1">info</span><span class="br0">&#40;</span><span class="st0">&quot;No configuration &quot;</span> <span class="sy0">+</span> BUNDLE_ID <span class="sy0">+</span> <span class="st0">&quot;/&quot;</span> <span class="sy0">+</span> <span class="st0">&quot; found, using default settings.&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span>
      props <span class="sy0">=</span> <span class="kw1">new</span> <span class="kw3">Properties</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span>
    <span class="br0">&#125;</span></pre></div></div>
<p>This snippet loads properties from either the applications configuration folder <tt>configuration/org.eclipse.smila.importing.state.objectstore</tt> or the same path within the bundle itself.
</p>
<!-- 
NewPP limit report
CPU time usage: 0.104 seconds
Real time usage: 0.114 seconds
Preprocessor visited node count: 28/1000000
Preprocessor generated node count: 68/1000000
Post‐expand include size: 0/2097152 bytes
Template argument size: 0/2097152 bytes
Highest expansion depth: 2/40
Expensive parser function count: 0/100
-->

<!-- Saved in parser cache with key my_wiki:pcache:idhash:15399-0!*!*!!en!*!* and timestamp 20150414084540 and revision id 285824
 -->
</div>
                                      <!-- catlinks -->
                    <div id='catlinks' class='catlinks catlinks-allhidden'></div>                     <!-- /catlinks -->
                                  </div>
              </div>
            </div>
          </div>
        <!-- /maincontent -->

                <!-- printfooter -->
        <div class="printfooter">
        Retrieved from "<a href="http://wiki.eclipse.org/index.php?title=SMILA/Project_Concepts/Simple_configuration_handler&amp;oldid=285824">http://wiki.eclipse.org/index.php?title=SMILA/Project_Concepts/Simple_configuration_handler&amp;oldid=285824</a>"        </div>
        <!-- /printfooter -->
        
        
        <!-- debughtml -->
                <!-- /debughtml -->

      </div>
      <!-- /bodyContent -->
    </section>
    <!-- /content -->

    <!-- footer -->
    
      </div>    <section id="footer-contribution-info" style="border-top:1px solid #ccc;" class="footer-offset background-white margin-top-25"><div class="container text-center padding-top-10 padding-bottom-10"><p id="footercredit">This page was last modified 11:34, 23 January 2012 by <a href="http://wiki.eclipse.org/User:Andreas.schank.attensity.com" title="User:Andreas.schank.attensity.com">A. Schank</a>. Based on work by <a href="http://wiki.eclipse.org/User:Juergen.schumacher.empolis.com" title="User:Juergen.schumacher.empolis.com">Juergen Schumacher</a> and <a href="http://wiki.eclipse.org/index.php?title=User:Dhazin.gmail.com&amp;action=edit&amp;redlink=1" class="new" title="User:Dhazin.gmail.com (page does not exist)">Dmitry Hazin</a>.</p><p id="footerviews">This page has been accessed 4,560 times.</p></div></section>    </main> <!-- /#main-content-container-row -->
        <p id="back-to-top" class="noprint hidden-print">
      <a class="visible-xs" href="Simple_configuration_handler.html#top">Back to the top</a>
    </p>
        <footer role="contentinfo" class="noprint hidden-print">
      <div class="container">
        <div class="row">
          <section id="footer-eclipse-foundation" class="col-xs-offset-1 col-xs-11 col-sm-7 col-md-6 col-md-offset-0">
            <h2 class="section-title">Eclipse Foundation</h2>
            <ul class="nav">
              <li><a href="https://eclipse.org/org/">About us</a></li>
              <li><a href="https://eclipse.org/org/foundation/contact.php">Contact Us</a></li>
              <li><a href="https://eclipse.org/donate">Donate</a></li>
              <li><a href="https://eclipse.org/org/documents/">Governance</a></li>
              <li><a href="https://eclipse.org/artwork/">Logo and Artwork</a></li>
              <li><a href="https://eclipse.org/org/foundation/directors.php">Board of Directors</a></li>
            </ul>
          </section>
          <section id="footer-legal" class="col-xs-offset-1 col-xs-11 col-sm-7 col-md-6 col-md-offset-0">
            <h2 class="section-title">Legal</h2>
            <ul class="nav">
              <li><a href="https://eclipse.org/legal/privacy.php">Privacy Policy</a></li>
              <li><a href="https://eclipse.org/legal/termsofuse.php">Terms of Use</a></li>
              <li><a href="https://eclipse.org/legal/copyright.php">Copyright Agent</a></li>
              <li><a href="https://eclipse.org/org/documents/epl-v10.php">Eclipse Public License </a></li>
              <li><a href="https://eclipse.org/legal/">Legal Resources </a></li>

            </ul>
          </section>

          <section id="footer-useful-links" class="col-xs-offset-1 col-xs-11 col-sm-7 col-md-6 col-md-offset-0">
            <h2 class="section-title">Useful Links</h2>
            <ul class="nav">
              <li><a href="https://bugs.eclipse.org/bugs/">Report a Bug</a></li>
              <li><a href="http://help.eclipse.org/">Documentation</a></li>
              <li><a href="https://eclipse.org/contribute/">How to Contribute</a></li>
              <li><a href="https://eclipse.org/mail/">Mailing Lists</a></li>
              <li><a href="https://eclipse.org/forums/">Forums</a></li>
              <li><a href="http://marketplace.eclipse.org/">Marketplace</a></li>
            </ul>
          </section>

          <section id="footer-other" class="col-xs-offset-1 col-xs-11 col-sm-7 col-md-6 col-md-offset-0">

            <h2 class="section-title">Other</h2>
            <ul class="nav">
               <li><a href="https://eclipse.org/ide/">IDE and Tools</a></li>
              <li><a href="https://eclipse.org/projects">Community of Projects</a></li>
              <li><a href="https://eclipse.org/org/workinggroups/">Working Groups</a></li>
            </ul>

            <ul class="list-inline social-media">
              <li><a href="https://twitter.com/EclipseFdn"><i class="fa fa-twitter-square"></i></a></li>
              <li><a href="https://plus.google.com/+Eclipse"><i class="fa fa-google-plus-square"></i></a></li>
              <li><a href="https://www.facebook.com/eclipse.org"><i class="fa fa-facebook-square"></i> </a></li>
              <li><a href="https://www.youtube.com/user/EclipseFdn"><i class="fa fa-youtube-square"></i></a></li>
            </ul>

          </section>
          <div id="copyright"  class="col-xs-offset-1 col-sm-14 col-md-24 col-md-offset-0">
            <div>
              <span><img src="http://eclipse.org/eclipse.org-common/themes/solstice/public/images/logo/eclipse-logo-bw-800x188.png" alt="Eclipse.org black and white logo" width="166" height="39" id="logo-eclipse-white"/></span>
              <p id="copyright-text">Copyright &copy; 2014 The Eclipse Foundation. All Rights Reserved.</p>
            </div>
          </div>
        <a href="Simple_configuration_handler.html#" class="scrollup">Back to the top</a>
        </div>
      </div>
    </footer>
    
    <script src="http://wiki.eclipse.org/skins/solstice/public/javascript/main.min.js"></script>

    <!-- Placed at the end of the document so the pages load faster -->
    <script type="text/javascript">

      var _gaq = _gaq || [];
      _gaq.push(['_setAccount', 'UA-910670-2']);
      _gaq.push(['_trackPageview']);

      (function() {
        var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
        ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
        var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
      })();

    </script>    <!-- /footer -->
    <script>/*<![CDATA[*/window.jQuery && jQuery.ready();/*]]>*/</script><script>if(window.mw){
mw.loader.state({"skins.solstice":"loading","site":"ready","user":"ready","user.groups":"ready"});
}</script>
<script src="http://wiki.eclipse.org/load.php?debug=false&amp;lang=en&amp;modules=skins.solstice&amp;only=scripts&amp;skin=solstice&amp;*"></script>
<script>if(window.mw){
mw.loader.load(["mediawiki.action.view.postEdit","mediawiki.user","mediawiki.hidpi","mediawiki.page.ready","mediawiki.searchSuggest"],null,true);
}</script>
<script>if(window.mw){
mw.config.set({"wgBackendResponseTime":338});
}</script>  </body>
</html>
