<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <!-- NewPage --> <html lang="en"> <head> <!-- Generated by javadoc (1.8.0_265) on Tue Aug 25 19:30:52 UTC 2020 --> <title>ConfigurableProperties (MetaCat API)</title> <meta name="date" content="2020-08-25"> <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style"> <script type="text/javascript" src="../../../../../script.js"></script> </head> <body> <script type="text/javascript"><!-- try { if (location.href.indexOf('is-external=true') == -1) { parent.document.title="ConfigurableProperties (MetaCat API)"; } } catch(err) { } //--> var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10}; var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]}; var altColor = "altColor"; var rowColor = "rowColor"; var tableTab = "tableTab"; var activeTableTab = "activeTableTab"; </script> <noscript> <div>JavaScript is disabled on your browser.</div> </noscript> <!-- ========= START OF TOP NAVBAR ======= --> <div class="topNav"><a name="navbar.top"> <!-- --> </a> <div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div> <a name="navbar.top.firstrow"> <!-- --> </a> <ul class="navList" title="Navigation"> <li><a href="../../../../../overview-summary.html">Overview</a></li> <li><a href="package-summary.html">Package</a></li> <li class="navBarCell1Rev">Class</li> <li><a href="class-use/ConfigurableProperties.html">Use</a></li> <li><a href="package-tree.html">Tree</a></li> <li><a href="../../../../../deprecated-list.html">Deprecated</a></li> <li><a href="../../../../../index-all.html">Index</a></li> <li><a href="../../../../../help-doc.html">Help</a></li> </ul> </div> <div class="subNav"> <ul class="navList"> <li>Prev Class</li> <li><a href="../../../../../edu/ucsb/nceas/metacat/properties/PropertiesInterface.html" title="interface in edu.ucsb.nceas.metacat.properties"><span class="typeNameLink">Next Class</span></a></li> </ul> <ul class="navList"> <li><a href="../../../../../index.html?edu/ucsb/nceas/metacat/properties/ConfigurableProperties.html" target="_top">Frames</a></li> <li><a href="ConfigurableProperties.html" target="_top">No Frames</a></li> </ul> <ul class="navList" id="allclasses_navbar_top"> <li><a href="../../../../../allclasses-noframe.html">All Classes</a></li> </ul> <div> <script type="text/javascript"><!-- allClassesLink = document.getElementById("allclasses_navbar_top"); if(window==top) { allClassesLink.style.display = "block"; } else { allClassesLink.style.display = "none"; } //--> </script> </div> <div> <ul class="subNavList"> <li>Summary: </li> <li>Nested | </li> <li><a href="#fields.inherited.from.class.edu.ucsb.nceas.metacat.shared.BaseService">Field</a> | </li> <li><a href="#constructor.summary">Constr</a> | </li> <li><a href="#method.summary">Method</a></li> </ul> <ul class="subNavList"> <li>Detail: </li> <li>Field | </li> <li><a href="#constructor.detail">Constr</a> | </li> <li><a href="#method.detail">Method</a></li> </ul> </div> <a name="skip.navbar.top"> <!-- --> </a></div> <!-- ========= END OF TOP NAVBAR ========= --> <!-- ======== START OF CLASS DATA ======== --> <div class="header"> <div class="subTitle">edu.ucsb.nceas.metacat.properties</div> <h2 title="Class ConfigurableProperties" class="title">Class ConfigurableProperties</h2> </div> <div class="contentContainer"> <ul class="inheritance"> <li>java.lang.Object</li> <li> <ul class="inheritance"> <li><a href="../../../../../edu/ucsb/nceas/metacat/shared/BaseService.html" title="class in edu.ucsb.nceas.metacat.shared">edu.ucsb.nceas.metacat.shared.BaseService</a></li> <li> <ul class="inheritance"> <li>edu.ucsb.nceas.metacat.properties.ConfigurableProperties</li> </ul> </li> </ul> </li> </ul> <div class="description"> <ul class="blockList"> <li class="blockList"> <dl> <dt>All Implemented Interfaces:</dt> <dd><a href="../../../../../edu/ucsb/nceas/metacat/properties/PropertiesInterface.html" title="interface in edu.ucsb.nceas.metacat.properties">PropertiesInterface</a></dd> </dl> <hr> <br> <pre>public class <span class="typeNameLabel">ConfigurableProperties</span> extends <a href="../../../../../edu/ucsb/nceas/metacat/shared/BaseService.html" title="class in edu.ucsb.nceas.metacat.shared">BaseService</a> implements <a href="../../../../../edu/ucsb/nceas/metacat/properties/PropertiesInterface.html" title="interface in edu.ucsb.nceas.metacat.properties">PropertiesInterface</a></pre> <div class="block">A suite of utility classes for the metadata configuration utility</div> </li> </ul> </div> <div class="summary"> <ul class="blockList"> <li class="blockList"> <!-- =========== FIELD SUMMARY =========== --> <ul class="blockList"> <li class="blockList"><a name="field.summary"> <!-- --> </a> <h3>Field Summary</h3> <ul class="blockList"> <li class="blockList"><a name="fields.inherited.from.class.edu.ucsb.nceas.metacat.shared.BaseService"> <!-- --> </a> <h3>Fields inherited from class edu.ucsb.nceas.metacat.shared.<a href="../../../../../edu/ucsb/nceas/metacat/shared/BaseService.html" title="class in edu.ucsb.nceas.metacat.shared">BaseService</a></h3> <code><a href="../../../../../edu/ucsb/nceas/metacat/shared/BaseService.html#Z:Z_serviceName">_serviceName</a></code></li> </ul> <ul class="blockList"> <li class="blockList"><a name="fields.inherited.from.class.edu.ucsb.nceas.metacat.properties.PropertiesInterface"> <!-- --> </a> <h3>Fields inherited from interface edu.ucsb.nceas.metacat.properties.<a href="../../../../../edu/ucsb/nceas/metacat/properties/PropertiesInterface.html" title="interface in edu.ucsb.nceas.metacat.properties">PropertiesInterface</a></h3> <code><a href="../../../../../edu/ucsb/nceas/metacat/properties/PropertiesInterface.html#BYPASSED">BYPASSED</a>, <a href="../../../../../edu/ucsb/nceas/metacat/properties/PropertiesInterface.html#CONFIGURED">CONFIGURED</a>, <a href="../../../../../edu/ucsb/nceas/metacat/properties/PropertiesInterface.html#UNCONFIGURED">UNCONFIGURED</a></code></li> </ul> </li> </ul> <!-- ======== CONSTRUCTOR SUMMARY ======== --> <ul class="blockList"> <li class="blockList"><a name="constructor.summary"> <!-- --> </a> <h3>Constructor Summary</h3> <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation"> <caption><span>Constructors</span><span class="tabEnd"> </span></caption> <tr> <th class="colFirst" scope="col">Modifier</th> <th class="colLast" scope="col">Constructor and Description</th> </tr> <tr class="altColor"> <td class="colFirst"><code>protected </code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/properties/ConfigurableProperties.html#ConfigurableProperties--">ConfigurableProperties</a></span>()</code> <div class="block">private constructor since this is a singleton</div> </td> </tr> </table> </li> </ul> <!-- ========== METHOD SUMMARY =========== --> <ul class="blockList"> <li class="blockList"><a name="method.summary"> <!-- --> </a> <h3>Method Summary</h3> <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation"> <caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd"> </span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd"> </span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd"> </span></span></caption> <tr> <th class="colFirst" scope="col">Modifier and Type</th> <th class="colLast" scope="col">Method and Description</th> </tr> <tr id="i0" class="altColor"> <td class="colFirst"><code>void</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/properties/ConfigurableProperties.html#addProperty-java.lang.String-java.lang.String-">addProperty</a></span>(java.lang.String propertyName, java.lang.String value)</code> <div class="block">Utility method to add a property value both in memory and to the properties file</div> </td> </tr> <tr id="i1" class="rowColor"> <td class="colFirst"><code>boolean</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/properties/ConfigurableProperties.html#arePropertiesConfigured--">arePropertiesConfigured</a></span>()</code> <div class="block">Reports whether properties are fully configured.</div> </td> </tr> <tr id="i2" class="altColor"> <td class="colFirst"><code>void</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/properties/ConfigurableProperties.html#bypassConfiguration--">bypassConfiguration</a></span>()</code> <div class="block">Reports whether the metacat configuration utility should be run.</div> </td> </tr> <tr id="i3" class="rowColor"> <td class="colFirst"><code>boolean</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/properties/ConfigurableProperties.html#checkAndSetProperty-javax.servlet.http.HttpServletRequest-java.lang.String-">checkAndSetProperty</a></span>(javax.servlet.http.HttpServletRequest request, java.lang.String propertyName)</code> <div class="block">Take input from the user in an HTTP request about an property to be changed and update the metacat property file with that new value if it has changed from the value that was originally set.</div> </td> </tr> <tr id="i4" class="altColor"> <td class="colFirst"><code>boolean</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/properties/ConfigurableProperties.html#doBypass--">doBypass</a></span>()</code> <div class="block">Determine if the system is configured to bypass configuration.</div> </td> </tr> <tr id="i5" class="rowColor"> <td class="colFirst"><code>void</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/properties/ConfigurableProperties.html#doRefresh--">doRefresh</a></span>()</code> </td> </tr> <tr id="i6" class="altColor"> <td class="colFirst"><code>edu.ucsb.nceas.utilities.SortedProperties</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/properties/ConfigurableProperties.html#getAuthBackupProperties--">getAuthBackupProperties</a></span>()</code> <div class="block">Get the auth backup properties file.</div> </td> </tr> <tr id="i7" class="rowColor"> <td class="colFirst"><code>edu.ucsb.nceas.utilities.PropertiesMetaData</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/properties/ConfigurableProperties.html#getAuthMetaData--">getAuthMetaData</a></span>()</code> <div class="block">Get the auth properties metadata.</div> </td> </tr> <tr id="i8" class="altColor"> <td class="colFirst"><code>edu.ucsb.nceas.utilities.SortedProperties</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/properties/ConfigurableProperties.html#getMainBackupProperties--">getMainBackupProperties</a></span>()</code> <div class="block">Get the main backup properties file.</div> </td> </tr> <tr id="i9" class="rowColor"> <td class="colFirst"><code>edu.ucsb.nceas.utilities.PropertiesMetaData</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/properties/ConfigurableProperties.html#getMainMetaData--">getMainMetaData</a></span>()</code> <div class="block">Get the main properties metadata.</div> </td> </tr> <tr id="i10" class="altColor"> <td class="colFirst"><code>java.util.Map<java.lang.String,java.lang.String></code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/properties/ConfigurableProperties.html#getPropertiesByGroup-java.lang.String-">getPropertiesByGroup</a></span>(java.lang.String groupName)</code> <div class="block">Get a Map of all properties that start with the groupName prefix.</div> </td> </tr> <tr id="i11" class="rowColor"> <td class="colFirst"><code>java.lang.String</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/properties/ConfigurableProperties.html#getProperty-java.lang.String-">getProperty</a></span>(java.lang.String propertyName)</code> <div class="block">Utility method to get a property value from the properties file</div> </td> </tr> <tr id="i12" class="altColor"> <td class="colFirst"><code>java.util.Vector<java.lang.String></code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/properties/ConfigurableProperties.html#getPropertyNames--">getPropertyNames</a></span>()</code> <div class="block">Get a set of all property names.</div> </td> </tr> <tr id="i13" class="rowColor"> <td class="colFirst"><code>java.util.Vector<java.lang.String></code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/properties/ConfigurableProperties.html#getPropertyNamesByGroup-java.lang.String-">getPropertyNamesByGroup</a></span>(java.lang.String groupName)</code> <div class="block">Get a Set of all property names that start with the groupName prefix.</div> </td> </tr> <tr id="i14" class="altColor"> <td class="colFirst"><code>void</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/properties/ConfigurableProperties.html#persistAuthBackupProperties-javax.servlet.ServletContext-">persistAuthBackupProperties</a></span>(javax.servlet.ServletContext servletContext)</code> <div class="block">Writes out backup configurable properties to a file.</div> </td> </tr> <tr id="i15" class="rowColor"> <td class="colFirst"><code>void</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/properties/ConfigurableProperties.html#persistMainBackupProperties--">persistMainBackupProperties</a></span>()</code> <div class="block">Writes out backup configurable properties to a file.</div> </td> </tr> <tr id="i16" class="altColor"> <td class="colFirst"><code>void</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/properties/ConfigurableProperties.html#persistProperties--">persistProperties</a></span>()</code> <div class="block">Save the properties to a properties file.</div> </td> </tr> <tr id="i17" class="rowColor"> <td class="colFirst"><code>boolean</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/properties/ConfigurableProperties.html#refreshable--">refreshable</a></span>()</code> </td> </tr> <tr id="i18" class="altColor"> <td class="colFirst"><code>void</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/properties/ConfigurableProperties.html#setProperty-java.lang.String-java.lang.String-">setProperty</a></span>(java.lang.String propertyName, java.lang.String newValue)</code> <div class="block">Utility method to set a property value both in memory and to the properties file</div> </td> </tr> <tr id="i19" class="rowColor"> <td class="colFirst"><code>void</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/properties/ConfigurableProperties.html#setPropertyNoPersist-java.lang.String-java.lang.String-">setPropertyNoPersist</a></span>(java.lang.String propertyName, java.lang.String newValue)</code> <div class="block">Utility method to set a property value in memory.</div> </td> </tr> <tr id="i20" class="altColor"> <td class="colFirst"><code>void</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/properties/ConfigurableProperties.html#stop--">stop</a></span>()</code> </td> </tr> </table> <ul class="blockList"> <li class="blockList"><a name="methods.inherited.from.class.edu.ucsb.nceas.metacat.shared.BaseService"> <!-- --> </a> <h3>Methods inherited from class edu.ucsb.nceas.metacat.shared.<a href="../../../../../edu/ucsb/nceas/metacat/shared/BaseService.html" title="class in edu.ucsb.nceas.metacat.shared">BaseService</a></h3> <code><a href="../../../../../edu/ucsb/nceas/metacat/shared/BaseService.html#refresh--">refresh</a></code></li> </ul> <ul class="blockList"> <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object"> <!-- --> </a> <h3>Methods inherited from class java.lang.Object</h3> <code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li> </ul> </li> </ul> </li> </ul> </div> <div class="details"> <ul class="blockList"> <li class="blockList"> <!-- ========= CONSTRUCTOR DETAIL ======== --> <ul class="blockList"> <li class="blockList"><a name="constructor.detail"> <!-- --> </a> <h3>Constructor Detail</h3> <a name="ConfigurableProperties--"> <!-- --> </a> <ul class="blockListLast"> <li class="blockList"> <h4>ConfigurableProperties</h4> <pre>protected ConfigurableProperties() throws <a href="../../../../../edu/ucsb/nceas/metacat/shared/ServiceException.html" title="class in edu.ucsb.nceas.metacat.shared">ServiceException</a></pre> <div class="block">private constructor since this is a singleton</div> <dl> <dt><span class="paramLabel">Parameters:</span></dt> <dd><code>servletContext</code> - the context we will use to get relative paths</dd> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code><a href="../../../../../edu/ucsb/nceas/metacat/shared/ServiceException.html" title="class in edu.ucsb.nceas.metacat.shared">ServiceException</a></code></dd> </dl> </li> </ul> </li> </ul> <!-- ============ METHOD DETAIL ========== --> <ul class="blockList"> <li class="blockList"><a name="method.detail"> <!-- --> </a> <h3>Method Detail</h3> <a name="refreshable--"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>refreshable</h4> <pre>public boolean refreshable()</pre> <dl> <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> <dd><code><a href="../../../../../edu/ucsb/nceas/metacat/shared/BaseService.html#refreshable--">refreshable</a></code> in class <code><a href="../../../../../edu/ucsb/nceas/metacat/shared/BaseService.html" title="class in edu.ucsb.nceas.metacat.shared">BaseService</a></code></dd> </dl> </li> </ul> <a name="doRefresh--"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>doRefresh</h4> <pre>public void doRefresh() throws <a href="../../../../../edu/ucsb/nceas/metacat/shared/ServiceException.html" title="class in edu.ucsb.nceas.metacat.shared">ServiceException</a></pre> <dl> <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> <dd><code><a href="../../../../../edu/ucsb/nceas/metacat/shared/BaseService.html#doRefresh--">doRefresh</a></code> in class <code><a href="../../../../../edu/ucsb/nceas/metacat/shared/BaseService.html" title="class in edu.ucsb.nceas.metacat.shared">BaseService</a></code></dd> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code><a href="../../../../../edu/ucsb/nceas/metacat/shared/ServiceException.html" title="class in edu.ucsb.nceas.metacat.shared">ServiceException</a></code></dd> </dl> </li> </ul> <a name="stop--"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>stop</h4> <pre>public void stop() throws <a href="../../../../../edu/ucsb/nceas/metacat/shared/ServiceException.html" title="class in edu.ucsb.nceas.metacat.shared">ServiceException</a></pre> <dl> <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> <dd><code><a href="../../../../../edu/ucsb/nceas/metacat/shared/BaseService.html#stop--">stop</a></code> in class <code><a href="../../../../../edu/ucsb/nceas/metacat/shared/BaseService.html" title="class in edu.ucsb.nceas.metacat.shared">BaseService</a></code></dd> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code><a href="../../../../../edu/ucsb/nceas/metacat/shared/ServiceException.html" title="class in edu.ucsb.nceas.metacat.shared">ServiceException</a></code></dd> </dl> </li> </ul> <a name="getProperty-java.lang.String-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>getProperty</h4> <pre>public java.lang.String getProperty(java.lang.String propertyName) throws edu.ucsb.nceas.utilities.PropertyNotFoundException</pre> <div class="block">Utility method to get a property value from the properties file</div> <dl> <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> <dd><code><a href="../../../../../edu/ucsb/nceas/metacat/properties/PropertiesInterface.html#getProperty-java.lang.String-">getProperty</a></code> in interface <code><a href="../../../../../edu/ucsb/nceas/metacat/properties/PropertiesInterface.html" title="interface in edu.ucsb.nceas.metacat.properties">PropertiesInterface</a></code></dd> <dt><span class="paramLabel">Parameters:</span></dt> <dd><code>propertyName</code> - the name of the property requested</dd> <dt><span class="returnLabel">Returns:</span></dt> <dd>the String value for the property</dd> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code>edu.ucsb.nceas.utilities.PropertyNotFoundException</code></dd> </dl> </li> </ul> <a name="getPropertyNames--"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>getPropertyNames</h4> <pre>public java.util.Vector<java.lang.String> getPropertyNames()</pre> <div class="block">Get a set of all property names.</div> <dl> <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> <dd><code><a href="../../../../../edu/ucsb/nceas/metacat/properties/PropertiesInterface.html#getPropertyNames--">getPropertyNames</a></code> in interface <code><a href="../../../../../edu/ucsb/nceas/metacat/properties/PropertiesInterface.html" title="interface in edu.ucsb.nceas.metacat.properties">PropertiesInterface</a></code></dd> <dt><span class="returnLabel">Returns:</span></dt> <dd>Set of property names</dd> </dl> </li> </ul> <a name="getPropertyNamesByGroup-java.lang.String-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>getPropertyNamesByGroup</h4> <pre>public java.util.Vector<java.lang.String> getPropertyNamesByGroup(java.lang.String groupName)</pre> <div class="block">Get a Set of all property names that start with the groupName prefix.</div> <dl> <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> <dd><code><a href="../../../../../edu/ucsb/nceas/metacat/properties/PropertiesInterface.html#getPropertyNamesByGroup-java.lang.String-">getPropertyNamesByGroup</a></code> in interface <code><a href="../../../../../edu/ucsb/nceas/metacat/properties/PropertiesInterface.html" title="interface in edu.ucsb.nceas.metacat.properties">PropertiesInterface</a></code></dd> <dt><span class="paramLabel">Parameters:</span></dt> <dd><code>groupName</code> - the prefix of the keys to search for.</dd> <dt><span class="returnLabel">Returns:</span></dt> <dd>enumeration of property names</dd> </dl> </li> </ul> <a name="getPropertiesByGroup-java.lang.String-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>getPropertiesByGroup</h4> <pre>public java.util.Map<java.lang.String,java.lang.String> getPropertiesByGroup(java.lang.String groupName) throws edu.ucsb.nceas.utilities.PropertyNotFoundException</pre> <div class="block">Get a Map of all properties that start with the groupName prefix.</div> <dl> <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> <dd><code><a href="../../../../../edu/ucsb/nceas/metacat/properties/PropertiesInterface.html#getPropertiesByGroup-java.lang.String-">getPropertiesByGroup</a></code> in interface <code><a href="../../../../../edu/ucsb/nceas/metacat/properties/PropertiesInterface.html" title="interface in edu.ucsb.nceas.metacat.properties">PropertiesInterface</a></code></dd> <dt><span class="paramLabel">Parameters:</span></dt> <dd><code>groupName</code> - the prefix of the keys to search for.</dd> <dt><span class="returnLabel">Returns:</span></dt> <dd>Map of property names</dd> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code>edu.ucsb.nceas.utilities.PropertyNotFoundException</code></dd> </dl> </li> </ul> <a name="addProperty-java.lang.String-java.lang.String-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>addProperty</h4> <pre>public void addProperty(java.lang.String propertyName, java.lang.String value) throws edu.ucsb.nceas.utilities.GeneralPropertyException</pre> <div class="block">Utility method to add a property value both in memory and to the properties file</div> <dl> <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> <dd><code><a href="../../../../../edu/ucsb/nceas/metacat/properties/PropertiesInterface.html#addProperty-java.lang.String-java.lang.String-">addProperty</a></code> in interface <code><a href="../../../../../edu/ucsb/nceas/metacat/properties/PropertiesInterface.html" title="interface in edu.ucsb.nceas.metacat.properties">PropertiesInterface</a></code></dd> <dt><span class="paramLabel">Parameters:</span></dt> <dd><code>propertyName</code> - the name of the property to add</dd> <dd><code>newValue</code> - the value for the property</dd> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code>edu.ucsb.nceas.utilities.GeneralPropertyException</code></dd> </dl> </li> </ul> <a name="setProperty-java.lang.String-java.lang.String-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>setProperty</h4> <pre>public void setProperty(java.lang.String propertyName, java.lang.String newValue) throws edu.ucsb.nceas.utilities.GeneralPropertyException</pre> <div class="block">Utility method to set a property value both in memory and to the properties file</div> <dl> <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> <dd><code><a href="../../../../../edu/ucsb/nceas/metacat/properties/PropertiesInterface.html#setProperty-java.lang.String-java.lang.String-">setProperty</a></code> in interface <code><a href="../../../../../edu/ucsb/nceas/metacat/properties/PropertiesInterface.html" title="interface in edu.ucsb.nceas.metacat.properties">PropertiesInterface</a></code></dd> <dt><span class="paramLabel">Parameters:</span></dt> <dd><code>propertyName</code> - the name of the property requested</dd> <dd><code>newValue</code> - the new value for the property</dd> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code>edu.ucsb.nceas.utilities.GeneralPropertyException</code></dd> </dl> </li> </ul> <a name="setPropertyNoPersist-java.lang.String-java.lang.String-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>setPropertyNoPersist</h4> <pre>public void setPropertyNoPersist(java.lang.String propertyName, java.lang.String newValue) throws edu.ucsb.nceas.utilities.GeneralPropertyException</pre> <div class="block">Utility method to set a property value in memory. This will NOT cause the property to be written to disk. Use this method to set multiple properties in a row without causing excessive I/O. You must call persistProperties() once you're done setting properties to have them written to disk.</div> <dl> <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> <dd><code><a href="../../../../../edu/ucsb/nceas/metacat/properties/PropertiesInterface.html#setPropertyNoPersist-java.lang.String-java.lang.String-">setPropertyNoPersist</a></code> in interface <code><a href="../../../../../edu/ucsb/nceas/metacat/properties/PropertiesInterface.html" title="interface in edu.ucsb.nceas.metacat.properties">PropertiesInterface</a></code></dd> <dt><span class="paramLabel">Parameters:</span></dt> <dd><code>propertyName</code> - the name of the property requested</dd> <dd><code>newValue</code> - the new value for the property</dd> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code>edu.ucsb.nceas.utilities.GeneralPropertyException</code></dd> </dl> </li> </ul> <a name="persistProperties--"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>persistProperties</h4> <pre>public void persistProperties() throws edu.ucsb.nceas.utilities.GeneralPropertyException</pre> <div class="block">Save the properties to a properties file. Note, the order and comments will be preserved.</div> <dl> <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> <dd><code><a href="../../../../../edu/ucsb/nceas/metacat/properties/PropertiesInterface.html#persistProperties--">persistProperties</a></code> in interface <code><a href="../../../../../edu/ucsb/nceas/metacat/properties/PropertiesInterface.html" title="interface in edu.ucsb.nceas.metacat.properties">PropertiesInterface</a></code></dd> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code>edu.ucsb.nceas.utilities.GeneralPropertyException</code></dd> </dl> </li> </ul> <a name="getMainBackupProperties--"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>getMainBackupProperties</h4> <pre>public edu.ucsb.nceas.utilities.SortedProperties getMainBackupProperties()</pre> <div class="block">Get the main backup properties file. These are configurable properties that are stored outside the metacat install directories so the user does not need to re-enter all the configuration information every time they do an upgrade.</div> <dl> <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> <dd><code><a href="../../../../../edu/ucsb/nceas/metacat/properties/PropertiesInterface.html#getMainBackupProperties--">getMainBackupProperties</a></code> in interface <code><a href="../../../../../edu/ucsb/nceas/metacat/properties/PropertiesInterface.html" title="interface in edu.ucsb.nceas.metacat.properties">PropertiesInterface</a></code></dd> <dt><span class="returnLabel">Returns:</span></dt> <dd>a SortedProperties object with the backup properties</dd> </dl> </li> </ul> <a name="getAuthBackupProperties--"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>getAuthBackupProperties</h4> <pre>public edu.ucsb.nceas.utilities.SortedProperties getAuthBackupProperties()</pre> <div class="block">Get the auth backup properties file. These are configurable properties that are stored outside the metacat install directories so the user does not need to re-enter all the configuration information every time they do an upgrade.</div> <dl> <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> <dd><code><a href="../../../../../edu/ucsb/nceas/metacat/properties/PropertiesInterface.html#getAuthBackupProperties--">getAuthBackupProperties</a></code> in interface <code><a href="../../../../../edu/ucsb/nceas/metacat/properties/PropertiesInterface.html" title="interface in edu.ucsb.nceas.metacat.properties">PropertiesInterface</a></code></dd> <dt><span class="returnLabel">Returns:</span></dt> <dd>a SortedProperties object with the backup properties</dd> </dl> </li> </ul> <a name="getMainMetaData--"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>getMainMetaData</h4> <pre>public edu.ucsb.nceas.utilities.PropertiesMetaData getMainMetaData()</pre> <div class="block">Get the main properties metadata. This is retrieved from an xml file that describes the attributes of configurable properties.</div> <dl> <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> <dd><code><a href="../../../../../edu/ucsb/nceas/metacat/properties/PropertiesInterface.html#getMainMetaData--">getMainMetaData</a></code> in interface <code><a href="../../../../../edu/ucsb/nceas/metacat/properties/PropertiesInterface.html" title="interface in edu.ucsb.nceas.metacat.properties">PropertiesInterface</a></code></dd> <dt><span class="returnLabel">Returns:</span></dt> <dd>a PropertiesMetaData object with the main properties metadata</dd> </dl> </li> </ul> <a name="getAuthMetaData--"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>getAuthMetaData</h4> <pre>public edu.ucsb.nceas.utilities.PropertiesMetaData getAuthMetaData()</pre> <div class="block">Get the auth properties metadata. This is retrieved from an xml file that describes the attributes of configurable properties.</div> <dl> <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> <dd><code><a href="../../../../../edu/ucsb/nceas/metacat/properties/PropertiesInterface.html#getAuthMetaData--">getAuthMetaData</a></code> in interface <code><a href="../../../../../edu/ucsb/nceas/metacat/properties/PropertiesInterface.html" title="interface in edu.ucsb.nceas.metacat.properties">PropertiesInterface</a></code></dd> <dt><span class="returnLabel">Returns:</span></dt> <dd>a PropertiesMetaData object with the organization properties metadata</dd> </dl> </li> </ul> <a name="persistMainBackupProperties--"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>persistMainBackupProperties</h4> <pre>public void persistMainBackupProperties() throws edu.ucsb.nceas.utilities.GeneralPropertyException</pre> <div class="block">Writes out backup configurable properties to a file.</div> <dl> <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> <dd><code><a href="../../../../../edu/ucsb/nceas/metacat/properties/PropertiesInterface.html#persistMainBackupProperties--">persistMainBackupProperties</a></code> in interface <code><a href="../../../../../edu/ucsb/nceas/metacat/properties/PropertiesInterface.html" title="interface in edu.ucsb.nceas.metacat.properties">PropertiesInterface</a></code></dd> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code>edu.ucsb.nceas.utilities.GeneralPropertyException</code></dd> </dl> </li> </ul> <a name="persistAuthBackupProperties-javax.servlet.ServletContext-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>persistAuthBackupProperties</h4> <pre>public void persistAuthBackupProperties(javax.servlet.ServletContext servletContext) throws edu.ucsb.nceas.utilities.GeneralPropertyException</pre> <div class="block">Writes out backup configurable properties to a file.</div> <dl> <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> <dd><code><a href="../../../../../edu/ucsb/nceas/metacat/properties/PropertiesInterface.html#persistAuthBackupProperties-javax.servlet.ServletContext-">persistAuthBackupProperties</a></code> in interface <code><a href="../../../../../edu/ucsb/nceas/metacat/properties/PropertiesInterface.html" title="interface in edu.ucsb.nceas.metacat.properties">PropertiesInterface</a></code></dd> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code>edu.ucsb.nceas.utilities.GeneralPropertyException</code></dd> </dl> </li> </ul> <a name="arePropertiesConfigured--"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>arePropertiesConfigured</h4> <pre>public boolean arePropertiesConfigured() throws edu.ucsb.nceas.utilities.GeneralPropertyException</pre> <div class="block">Reports whether properties are fully configured.</div> <dl> <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> <dd><code><a href="../../../../../edu/ucsb/nceas/metacat/properties/PropertiesInterface.html#arePropertiesConfigured--">arePropertiesConfigured</a></code> in interface <code><a href="../../../../../edu/ucsb/nceas/metacat/properties/PropertiesInterface.html" title="interface in edu.ucsb.nceas.metacat.properties">PropertiesInterface</a></code></dd> <dt><span class="returnLabel">Returns:</span></dt> <dd>a boolean that is true if properties are not unconfigured and false otherwise</dd> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code>edu.ucsb.nceas.utilities.GeneralPropertyException</code></dd> </dl> </li> </ul> <a name="doBypass--"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>doBypass</h4> <pre>public boolean doBypass() throws edu.ucsb.nceas.utilities.PropertyNotFoundException</pre> <div class="block">Determine if the system is configured to bypass configuration. If so, the system will look for backup configuration files at startup time and use those to configure metacat. The bypass options should only be set by developers. Production code should never bypass confguration.</div> <dl> <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> <dd><code><a href="../../../../../edu/ucsb/nceas/metacat/properties/PropertiesInterface.html#doBypass--">doBypass</a></code> in interface <code><a href="../../../../../edu/ucsb/nceas/metacat/properties/PropertiesInterface.html" title="interface in edu.ucsb.nceas.metacat.properties">PropertiesInterface</a></code></dd> <dt><span class="returnLabel">Returns:</span></dt> <dd>true if dev.runConfiguration is set to true in metacat.properties and we have not already checked for bypass, false otherwise.</dd> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code>edu.ucsb.nceas.utilities.PropertyNotFoundException</code></dd> </dl> </li> </ul> <a name="bypassConfiguration--"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>bypassConfiguration</h4> <pre>public void bypassConfiguration() throws edu.ucsb.nceas.utilities.GeneralPropertyException</pre> <div class="block">Reports whether the metacat configuration utility should be run. Returns false if -- dev.runConfiguration=false and -- backup properties file exists Note that dev.runConfiguration should only be set to false when reinstalling the same version of the application in developement.</div> <dl> <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> <dd><code><a href="../../../../../edu/ucsb/nceas/metacat/properties/PropertiesInterface.html#bypassConfiguration--">bypassConfiguration</a></code> in interface <code><a href="../../../../../edu/ucsb/nceas/metacat/properties/PropertiesInterface.html" title="interface in edu.ucsb.nceas.metacat.properties">PropertiesInterface</a></code></dd> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code>edu.ucsb.nceas.utilities.GeneralPropertyException</code></dd> </dl> </li> </ul> <a name="checkAndSetProperty-javax.servlet.http.HttpServletRequest-java.lang.String-"> <!-- --> </a> <ul class="blockListLast"> <li class="blockList"> <h4>checkAndSetProperty</h4> <pre>public boolean checkAndSetProperty(javax.servlet.http.HttpServletRequest request, java.lang.String propertyName) throws edu.ucsb.nceas.utilities.GeneralPropertyException</pre> <div class="block">Take input from the user in an HTTP request about an property to be changed and update the metacat property file with that new value if it has changed from the value that was originally set.</div> <dl> <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> <dd><code><a href="../../../../../edu/ucsb/nceas/metacat/properties/PropertiesInterface.html#checkAndSetProperty-javax.servlet.http.HttpServletRequest-java.lang.String-">checkAndSetProperty</a></code> in interface <code><a href="../../../../../edu/ucsb/nceas/metacat/properties/PropertiesInterface.html" title="interface in edu.ucsb.nceas.metacat.properties">PropertiesInterface</a></code></dd> <dt><span class="paramLabel">Parameters:</span></dt> <dd><code>request</code> - that was generated by the user</dd> <dd><code>response</code> - to send output back to the user</dd> <dd><code>propertyName</code> - the name of the property to be checked and set</dd> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code>edu.ucsb.nceas.utilities.GeneralPropertyException</code></dd> </dl> </li> </ul> </li> </ul> </li> </ul> </div> </div> <!-- ========= END OF CLASS DATA ========= --> <!-- ======= START OF BOTTOM NAVBAR ====== --> <div class="bottomNav"><a name="navbar.bottom"> <!-- --> </a> <div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div> <a name="navbar.bottom.firstrow"> <!-- --> </a> <ul class="navList" title="Navigation"> <li><a href="../../../../../overview-summary.html">Overview</a></li> <li><a href="package-summary.html">Package</a></li> <li class="navBarCell1Rev">Class</li> <li><a href="class-use/ConfigurableProperties.html">Use</a></li> <li><a href="package-tree.html">Tree</a></li> <li><a href="../../../../../deprecated-list.html">Deprecated</a></li> <li><a href="../../../../../index-all.html">Index</a></li> <li><a href="../../../../../help-doc.html">Help</a></li> </ul> </div> <div class="subNav"> <ul class="navList"> <li>Prev Class</li> <li><a href="../../../../../edu/ucsb/nceas/metacat/properties/PropertiesInterface.html" title="interface in edu.ucsb.nceas.metacat.properties"><span class="typeNameLink">Next Class</span></a></li> </ul> <ul class="navList"> <li><a href="../../../../../index.html?edu/ucsb/nceas/metacat/properties/ConfigurableProperties.html" target="_top">Frames</a></li> <li><a href="ConfigurableProperties.html" target="_top">No Frames</a></li> </ul> <ul class="navList" id="allclasses_navbar_bottom"> <li><a href="../../../../../allclasses-noframe.html">All Classes</a></li> </ul> <div> <script type="text/javascript"><!-- allClassesLink = document.getElementById("allclasses_navbar_bottom"); if(window==top) { allClassesLink.style.display = "block"; } else { allClassesLink.style.display = "none"; } //--> </script> </div> <div> <ul class="subNavList"> <li>Summary: </li> <li>Nested | </li> <li><a href="#fields.inherited.from.class.edu.ucsb.nceas.metacat.shared.BaseService">Field</a> | </li> <li><a href="#constructor.summary">Constr</a> | </li> <li><a href="#method.summary">Method</a></li> </ul> <ul class="subNavList"> <li>Detail: </li> <li>Field | </li> <li><a href="#constructor.detail">Constr</a> | </li> <li><a href="#method.detail">Method</a></li> </ul> </div> <a name="skip.navbar.bottom"> <!-- --> </a></div> <!-- ======== END OF BOTTOM NAVBAR ======= --> <p class="legalCopy"><small><i>Copyright © 2020 Regents of the University of California. All Rights Reserved.</i></small></p> </body> </html>