<!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>SkinPropertyService (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="SkinPropertyService (MetaCat API)";
        }
    }
    catch(err) {
    }
//-->
var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":10,"i5":9,"i6":9,"i7":9,"i8":9,"i9":9,"i10":9,"i11":9,"i12":9,"i13":9,"i14":9,"i15":9,"i16":9,"i17":9,"i18":10,"i19":9,"i20":9,"i21":10};
var tabs = {65535:["t0","All Methods"],1:["t1","Static 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/SkinPropertyService.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><a href="../../../../../edu/ucsb/nceas/metacat/properties/SimpleProperties.html" title="class in edu.ucsb.nceas.metacat.properties"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li>Next&nbsp;Class</li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?edu/ucsb/nceas/metacat/properties/SkinPropertyService.html" target="_top">Frames</a></li>
<li><a href="SkinPropertyService.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses-noframe.html">All&nbsp;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:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#fields.inherited.from.class.edu.ucsb.nceas.metacat.shared.BaseService">Field</a>&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</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 SkinPropertyService" class="title">Class SkinPropertyService</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.SkinPropertyService</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>public class <span class="typeNameLabel">SkinPropertyService</span>
extends <a href="../../../../../edu/ucsb/nceas/metacat/shared/BaseService.html" title="class in edu.ucsb.nceas.metacat.shared">BaseService</a></pre>
<div class="block">A suite of utility classes for the skin 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&nbsp;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>
</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">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</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>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/properties/SkinPropertyService.html#areSkinsConfigured--">areSkinsConfigured</a></span>()</code>
<div class="block">Reports whether properties are fully configured.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/properties/SkinPropertyService.html#bypassConfiguration--">bypassConfiguration</a></span>()</code>
<div class="block">Reports whether the metacat configuration utility should be run.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>static void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/properties/SkinPropertyService.html#checkAndSetProperty-javax.servlet.http.HttpServletRequest-java.lang.String-java.lang.String-">checkAndSetProperty</a></span>(javax.servlet.http.HttpServletRequest&nbsp;request,
                   java.lang.String&nbsp;skinName,
                   java.lang.String&nbsp;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="i3" class="rowColor">
<td class="colFirst"><code>static void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/properties/SkinPropertyService.html#checkAndSetProperty-java.lang.String-java.lang.String-java.lang.String-">checkAndSetProperty</a></span>(java.lang.String&nbsp;newValue,
                   java.lang.String&nbsp;skinName,
                   java.lang.String&nbsp;propertyName)</code>
<div class="block">Check user input against existing value 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>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/properties/SkinPropertyService.html#doRefresh--">doRefresh</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>static java.util.HashMap&lt;java.lang.String,edu.ucsb.nceas.utilities.SortedProperties&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/properties/SkinPropertyService.html#getBackupProperties--">getBackupProperties</a></span>()</code>
<div class="block">Get the main backup properties file.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>static edu.ucsb.nceas.utilities.SortedProperties</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/properties/SkinPropertyService.html#getBackupProperties-java.lang.String-">getBackupProperties</a></span>(java.lang.String&nbsp;skinName)</code>
<div class="block">Get the main backup properties file.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>static <a href="../../../../../edu/ucsb/nceas/metacat/properties/SkinPropertyService.html" title="class in edu.ucsb.nceas.metacat.properties">SkinPropertyService</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/properties/SkinPropertyService.html#getInstance--">getInstance</a></span>()</code>
<div class="block">Get the single instance of SkinPropertyService.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>static java.util.HashMap&lt;java.lang.String,edu.ucsb.nceas.utilities.PropertiesMetaData&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/properties/SkinPropertyService.html#getMetaData--">getMetaData</a></span>()</code>
<div class="block">Get the main properties metadata.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>static edu.ucsb.nceas.utilities.PropertiesMetaData</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/properties/SkinPropertyService.html#getMetaData-java.lang.String-">getMetaData</a></span>(java.lang.String&nbsp;skinName)</code>
<div class="block">Get the main properties metadata.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>static java.util.HashMap&lt;java.lang.String,edu.ucsb.nceas.utilities.SortedProperties&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/properties/SkinPropertyService.html#getProperties--">getProperties</a></span>()</code>
<div class="block">Get the main backup properties file.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>static edu.ucsb.nceas.utilities.SortedProperties</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/properties/SkinPropertyService.html#getProperties-java.lang.String-">getProperties</a></span>(java.lang.String&nbsp;skinName)</code>
<div class="block">Get the main backup properties file.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/properties/SkinPropertyService.html#getProperty-java.lang.String-java.lang.String-">getProperty</a></span>(java.lang.String&nbsp;skinName,
           java.lang.String&nbsp;propertyName)</code>
<div class="block">Utility method to get a property value from the properties file for a
 specific skin.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>static java.util.Vector&lt;java.lang.String&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/properties/SkinPropertyService.html#getPropertyNames-java.lang.String-">getPropertyNames</a></span>(java.lang.String&nbsp;skinName)</code>
<div class="block">Get a set of all property names for a given skin.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>static java.util.Vector&lt;java.lang.String&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/properties/SkinPropertyService.html#getPropertyNamesByGroup-java.lang.String-java.lang.String-">getPropertyNamesByGroup</a></span>(java.lang.String&nbsp;skinName,
                       java.lang.String&nbsp;groupName)</code>
<div class="block">Get a Set of all property names that start with the groupName prefix.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>static void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/properties/SkinPropertyService.html#persistAllProperties--">persistAllProperties</a></span>()</code>
<div class="block">Save the properties to a properties file.</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>static void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/properties/SkinPropertyService.html#persistBackupProperties-java.lang.String-">persistBackupProperties</a></span>(java.lang.String&nbsp;skinName)</code>
<div class="block">Writes out backup configurable properties to a file.</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>static void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/properties/SkinPropertyService.html#persistProperties-java.lang.String-">persistProperties</a></span>(java.lang.String&nbsp;skinName)</code>
<div class="block">Save the properties to a properties file.</div>
</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/properties/SkinPropertyService.html#refreshable--">refreshable</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code>static void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/properties/SkinPropertyService.html#setProperty-java.lang.String-java.lang.String-java.lang.String-">setProperty</a></span>(java.lang.String&nbsp;skinName,
           java.lang.String&nbsp;propertyName,
           java.lang.String&nbsp;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="i20" class="altColor">
<td class="colFirst"><code>static void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/properties/SkinPropertyService.html#setPropertyNoPersist-java.lang.String-java.lang.String-java.lang.String-">setPropertyNoPersist</a></span>(java.lang.String&nbsp;skinName,
                    java.lang.String&nbsp;propertyName,
                    java.lang.String&nbsp;newValue)</code>
<div class="block">Utility method to set a property value in memory.</div>
</td>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/properties/SkinPropertyService.html#stop--">stop</a></span>()</code>&nbsp;</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&nbsp;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&nbsp;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">
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="getInstance--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getInstance</h4>
<pre>public static&nbsp;<a href="../../../../../edu/ucsb/nceas/metacat/properties/SkinPropertyService.html" title="class in edu.ucsb.nceas.metacat.properties">SkinPropertyService</a>&nbsp;getInstance()
                                       throws <a href="../../../../../edu/ucsb/nceas/metacat/shared/ServiceException.html" title="class in edu.ucsb.nceas.metacat.shared">ServiceException</a></pre>
<div class="block">Get the single instance of SkinPropertyService.</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="returnLabel">Returns:</span></dt>
<dd>the single instance of SkinPropertyService</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="refreshable--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>refreshable</h4>
<pre>public&nbsp;boolean&nbsp;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>&nbsp;in class&nbsp;<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&nbsp;void&nbsp;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>&nbsp;in class&nbsp;<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&nbsp;void&nbsp;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>&nbsp;in class&nbsp;<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-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getProperty</h4>
<pre>public static&nbsp;java.lang.String&nbsp;getProperty(java.lang.String&nbsp;skinName,
                                           java.lang.String&nbsp;propertyName)
                                    throws edu.ucsb.nceas.utilities.PropertyNotFoundException</pre>
<div class="block">Utility method to get a property value from the properties file for a
 specific skin.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>skinName</code> - the skin for which we want to retrieve the property</dd>
<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-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPropertyNames</h4>
<pre>public static&nbsp;java.util.Vector&lt;java.lang.String&gt;&nbsp;getPropertyNames(java.lang.String&nbsp;skinName)
                                                           throws edu.ucsb.nceas.utilities.PropertyNotFoundException</pre>
<div class="block">Get a set of all property names for a given skin.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>skinName</code> - the skin for which we want to retrieve the property names</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Set 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="getPropertyNamesByGroup-java.lang.String-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPropertyNamesByGroup</h4>
<pre>public static&nbsp;java.util.Vector&lt;java.lang.String&gt;&nbsp;getPropertyNamesByGroup(java.lang.String&nbsp;skinName,
                                                                         java.lang.String&nbsp;groupName)
                                                                  throws edu.ucsb.nceas.utilities.PropertyNotFoundException</pre>
<div class="block">Get a Set of all property names that start with the groupName prefix.</div>
<dl>
<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>Vector 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="getProperties--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getProperties</h4>
<pre>public static&nbsp;java.util.HashMap&lt;java.lang.String,edu.ucsb.nceas.utilities.SortedProperties&gt;&nbsp;getProperties()</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="returnLabel">Returns:</span></dt>
<dd>a SortedProperties object with the backup properties</dd>
</dl>
</li>
</ul>
<a name="getProperties-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getProperties</h4>
<pre>public static&nbsp;edu.ucsb.nceas.utilities.SortedProperties&nbsp;getProperties(java.lang.String&nbsp;skinName)</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="returnLabel">Returns:</span></dt>
<dd>a SortedProperties object with the backup properties</dd>
</dl>
</li>
</ul>
<a name="getBackupProperties--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getBackupProperties</h4>
<pre>public static&nbsp;java.util.HashMap&lt;java.lang.String,edu.ucsb.nceas.utilities.SortedProperties&gt;&nbsp;getBackupProperties()</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="returnLabel">Returns:</span></dt>
<dd>a SortedProperties object with the backup properties</dd>
</dl>
</li>
</ul>
<a name="getBackupProperties-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getBackupProperties</h4>
<pre>public static&nbsp;edu.ucsb.nceas.utilities.SortedProperties&nbsp;getBackupProperties(java.lang.String&nbsp;skinName)</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="returnLabel">Returns:</span></dt>
<dd>a SortedProperties object with the backup properties</dd>
</dl>
</li>
</ul>
<a name="getMetaData--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMetaData</h4>
<pre>public static&nbsp;java.util.HashMap&lt;java.lang.String,edu.ucsb.nceas.utilities.PropertiesMetaData&gt;&nbsp;getMetaData()</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="returnLabel">Returns:</span></dt>
<dd>a PropertiesMetaData object with the main properties metadata</dd>
</dl>
</li>
</ul>
<a name="getMetaData-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMetaData</h4>
<pre>public static&nbsp;edu.ucsb.nceas.utilities.PropertiesMetaData&nbsp;getMetaData(java.lang.String&nbsp;skinName)</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="returnLabel">Returns:</span></dt>
<dd>a PropertiesMetaData object with the main properties metadata</dd>
</dl>
</li>
</ul>
<a name="setProperty-java.lang.String-java.lang.String-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setProperty</h4>
<pre>public static&nbsp;void&nbsp;setProperty(java.lang.String&nbsp;skinName,
                               java.lang.String&nbsp;propertyName,
                               java.lang.String&nbsp;newValue)
                        throws java.io.IOException,
                               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="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>java.io.IOException</code></dd>
<dd><code>edu.ucsb.nceas.utilities.GeneralPropertyException</code></dd>
</dl>
</li>
</ul>
<a name="setPropertyNoPersist-java.lang.String-java.lang.String-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setPropertyNoPersist</h4>
<pre>public static&nbsp;void&nbsp;setPropertyNoPersist(java.lang.String&nbsp;skinName,
                                        java.lang.String&nbsp;propertyName,
                                        java.lang.String&nbsp;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="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-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>persistProperties</h4>
<pre>public static&nbsp;void&nbsp;persistProperties(java.lang.String&nbsp;skinName)
                              throws java.io.IOException,
                                     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="throwsLabel">Throws:</span></dt>
<dd><code>java.io.IOException</code></dd>
<dd><code>edu.ucsb.nceas.utilities.GeneralPropertyException</code></dd>
</dl>
</li>
</ul>
<a name="persistAllProperties--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>persistAllProperties</h4>
<pre>public static&nbsp;void&nbsp;persistAllProperties()
                                 throws java.io.IOException,
                                        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="throwsLabel">Throws:</span></dt>
<dd><code>java.io.IOException</code></dd>
<dd><code>edu.ucsb.nceas.utilities.GeneralPropertyException</code></dd>
</dl>
</li>
</ul>
<a name="persistBackupProperties-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>persistBackupProperties</h4>
<pre>public static&nbsp;void&nbsp;persistBackupProperties(java.lang.String&nbsp;skinName)
                                    throws edu.ucsb.nceas.utilities.GeneralPropertyException</pre>
<div class="block">Writes out backup configurable properties to a file.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>edu.ucsb.nceas.utilities.GeneralPropertyException</code></dd>
</dl>
</li>
</ul>
<a name="areSkinsConfigured--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>areSkinsConfigured</h4>
<pre>public static&nbsp;boolean&nbsp;areSkinsConfigured()
                                  throws <a href="../../../../../edu/ucsb/nceas/metacat/shared/MetacatUtilException.html" title="class in edu.ucsb.nceas.metacat.shared">MetacatUtilException</a></pre>
<div class="block">Reports whether properties are fully configured.</div>
<dl>
<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><a href="../../../../../edu/ucsb/nceas/metacat/shared/MetacatUtilException.html" title="class in edu.ucsb.nceas.metacat.shared">MetacatUtilException</a></code></dd>
</dl>
</li>
</ul>
<a name="checkAndSetProperty-javax.servlet.http.HttpServletRequest-java.lang.String-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkAndSetProperty</h4>
<pre>public static&nbsp;void&nbsp;checkAndSetProperty(javax.servlet.http.HttpServletRequest&nbsp;request,
                                       java.lang.String&nbsp;skinName,
                                       java.lang.String&nbsp;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="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>
<a name="checkAndSetProperty-java.lang.String-java.lang.String-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkAndSetProperty</h4>
<pre>public static&nbsp;void&nbsp;checkAndSetProperty(java.lang.String&nbsp;newValue,
                                       java.lang.String&nbsp;skinName,
                                       java.lang.String&nbsp;propertyName)
                                throws edu.ucsb.nceas.utilities.GeneralPropertyException</pre>
<div class="block">Check user input against existing value 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="paramLabel">Parameters:</span></dt>
<dd><code>newValue</code> - the value that was returned by the form</dd>
<dd><code>skinname</code> - the skin that we are checking</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>
<a name="bypassConfiguration--">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>bypassConfiguration</h4>
<pre>public static&nbsp;boolean&nbsp;bypassConfiguration()</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="returnLabel">Returns:</span></dt>
<dd>a boolean that is false if dev.runConfiguration is false and the
         backup properties file exists.</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/SkinPropertyService.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><a href="../../../../../edu/ucsb/nceas/metacat/properties/SimpleProperties.html" title="class in edu.ucsb.nceas.metacat.properties"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li>Next&nbsp;Class</li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?edu/ucsb/nceas/metacat/properties/SkinPropertyService.html" target="_top">Frames</a></li>
<li><a href="SkinPropertyService.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses-noframe.html">All&nbsp;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:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#fields.inherited.from.class.edu.ucsb.nceas.metacat.shared.BaseService">Field</a>&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</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>