<divclass="inheritance"title="Inheritance Tree"><ahref="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html"title="class or interface in java.lang"class="external-link">java.lang.Object</a>
<divclass="type-signature"><spanclass="modifiers">public class </span><spanclass="element-name type-name-label">TimeKeeper</span>
<spanclass="extends-implements">extends <ahref="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html"title="class or interface in java.lang"class="external-link">Object</a></span></div>
<divclass="col-first odd-row-color"><code>protected <ahref="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html"title="class or interface in java.lang"class="external-link">String</a></code></div>
<divclass="col-first even-row-color"><code>protected <ahref="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/Map.html"title="class or interface in java.util"class="external-link">Map</a><<ahref="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html"title="class or interface in java.lang"class="external-link">String</a>,​<ahref="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Long.html"title="class or interface in java.lang"class="external-link">Long</a>></code></div>
<divclass="col-constructor-name odd-row-color"><code><spanclass="member-name-link"><ahref="#%3Cinit%3E(java.lang.String)">TimeKeeper</a></span>​(<ahref="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html"title="class or interface in java.lang"class="external-link">String</a> lastState)</code></div>
<divclass="col-last odd-row-color"> </div>
<divclass="col-constructor-name even-row-color"><code><spanclass="member-name-link"><ahref="#%3Cinit%3E(java.lang.String,long)">TimeKeeper</a></span>​(<ahref="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html"title="class or interface in java.lang"class="external-link">String</a> lastState,
long lastStateChange)</code></div>
<divclass="col-last even-row-color"> </div>
<divclass="col-constructor-name odd-row-color"><code><spanclass="member-name-link"><ahref="#%3Cinit%3E(java.util.Map)">TimeKeeper</a></span>​(<ahref="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/Map.html"title="class or interface in java.util"class="external-link">Map</a><<ahref="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html"title="class or interface in java.lang"class="external-link">String</a>,​<ahref="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Long.html"title="class or interface in java.lang"class="external-link">Long</a>> times)</code></div>
<divclass="col-last odd-row-color"> </div>
<divclass="col-constructor-name even-row-color"><code><spanclass="member-name-link"><ahref="#%3Cinit%3E(java.util.Map,java.lang.String,long)">TimeKeeper</a></span>​(<ahref="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/Map.html"title="class or interface in java.util"class="external-link">Map</a><<ahref="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html"title="class or interface in java.lang"class="external-link">String</a>,​<ahref="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Long.html"title="class or interface in java.lang"class="external-link">Long</a>> times,
<ahref="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html"title="class or interface in java.lang"class="external-link">String</a> lastState,
<divclass="col-second even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><spanclass="member-name-link"><ahref="#addTime(java.lang.String,long)">addTime</a></span>​(<ahref="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html"title="class or interface in java.lang"class="external-link">String</a> state,
<divclass="col-second odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><spanclass="member-name-link"><ahref="#changeState(java.lang.String,long)">changeState</a></span>​(<ahref="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html"title="class or interface in java.lang"class="external-link">String</a> newState,
<divclass="col-second even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><spanclass="member-name-link"><ahref="#equals(java.lang.Object)">equals</a></span>​(<ahref="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html"title="class or interface in java.lang"class="external-link">Object</a> o)</code></div>
<divclass="col-first even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><ahref="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html"title="class or interface in java.lang"class="external-link">String</a></code></div>
<divclass="col-second odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><spanclass="member-name-link"><ahref="#getTime(java.lang.String)">getTime</a></span>​(<ahref="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html"title="class or interface in java.lang"class="external-link">String</a> state)</code></div>
<divclass="col-first even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><ahref="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/Map.html"title="class or interface in java.util"class="external-link">Map</a><<ahref="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html"title="class or interface in java.lang"class="external-link">String</a>,​<ahref="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Long.html"title="class or interface in java.lang"class="external-link">Long</a>></code></div>
<divclass="col-second odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><spanclass="member-name-link"><ahref="#renameState(java.lang.String,java.lang.String)">renameState</a></span>​(<ahref="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html"title="class or interface in java.lang"class="external-link">String</a> state,
<ahref="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html"title="class or interface in java.lang"class="external-link">String</a> renameTo)</code></div>
<divclass="col-second even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><spanclass="member-name-link"><ahref="#resetState(java.lang.String)">resetState</a></span>​(<ahref="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html"title="class or interface in java.lang"class="external-link">String</a> state)</code></div>
<divclass="col-second odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><spanclass="member-name-link"><ahref="#resetState(java.lang.String,long)">resetState</a></span>​(<ahref="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html"title="class or interface in java.lang"class="external-link">String</a> state,
<divclass="col-second odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><spanclass="member-name-link"><ahref="#setState(java.lang.String)">setState</a></span>​(<ahref="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html"title="class or interface in java.lang"class="external-link">String</a> state)</code></div>
<divclass="col-second even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><spanclass="member-name-link"><ahref="#setTime(java.lang.String,long)">setTime</a></span>​(<ahref="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html"title="class or interface in java.lang"class="external-link">String</a> state,
<divclass="col-second odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><spanclass="member-name-link"><ahref="#setTimes(java.util.Map)">setTimes</a></span>​(<ahref="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/Map.html"title="class or interface in java.util"class="external-link">Map</a><<ahref="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html"title="class or interface in java.lang"class="external-link">String</a>,​<ahref="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Long.html"title="class or interface in java.lang"class="external-link">Long</a>> times)</code></div>
<divclass="col-first even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><ahref="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html"title="class or interface in java.lang"class="external-link">String</a></code></div>
<h3id="methods.inherited.from.class.java.lang.Object">Methods inherited from class java.lang.<ahref="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html"title="class or interface in java.lang"class="external-link">Object</a></h3>
<code><ahref="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#clone()"title="class or interface in java.lang"class="external-link">clone</a>, <ahref="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#finalize()"title="class or interface in java.lang"class="external-link">finalize</a>, <ahref="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#getClass()"title="class or interface in java.lang"class="external-link">getClass</a>, <ahref="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#notify()"title="class or interface in java.lang"class="external-link">notify</a>, <ahref="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#notifyAll()"title="class or interface in java.lang"class="external-link">notifyAll</a>, <ahref="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#wait()"title="class or interface in java.lang"class="external-link">wait</a>, <ahref="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#wait(long)"title="class or interface in java.lang"class="external-link">wait</a>, <ahref="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#wait(long,int)"title="class or interface in java.lang"class="external-link">wait</a></code></div>
<divclass="member-signature"><spanclass="modifiers">protected</span> <spanclass="return-type"><ahref="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/Map.html"title="class or interface in java.util"class="external-link">Map</a><<ahref="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html"title="class or interface in java.lang"class="external-link">String</a>,​<ahref="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Long.html"title="class or interface in java.lang"class="external-link">Long</a>></span> <spanclass="element-name">times</span></div>
<divclass="member-signature"><spanclass="modifiers">protected</span> <spanclass="return-type"><ahref="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html"title="class or interface in java.lang"class="external-link">String</a></span> <spanclass="element-name">state</span></div>
<divclass="member-signature"><spanclass="modifiers">public</span> <spanclass="element-name">TimeKeeper</span>​<spanclass="parameters">(<ahref="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/Map.html"title="class or interface in java.util"class="external-link">Map</a><<ahref="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html"title="class or interface in java.lang"class="external-link">String</a>,​<ahref="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Long.html"title="class or interface in java.lang"class="external-link">Long</a>> times,
<ahref="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html"title="class or interface in java.lang"class="external-link">String</a> lastState,
<divclass="member-signature"><spanclass="modifiers">public</span> <spanclass="element-name">TimeKeeper</span>​<spanclass="parameters">(<ahref="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html"title="class or interface in java.lang"class="external-link">String</a> lastState,
<divclass="member-signature"><spanclass="modifiers">public</span> <spanclass="element-name">TimeKeeper</span>​<spanclass="parameters">(<ahref="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html"title="class or interface in java.lang"class="external-link">String</a> lastState)</span></div>
<divclass="member-signature"><spanclass="modifiers">public</span> <spanclass="element-name">TimeKeeper</span>​<spanclass="parameters">(<ahref="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/Map.html"title="class or interface in java.util"class="external-link">Map</a><<ahref="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html"title="class or interface in java.lang"class="external-link">String</a>,​<ahref="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Long.html"title="class or interface in java.lang"class="external-link">Long</a>> times)</span></div>
<divclass="member-signature"><spanclass="modifiers">public</span> <spanclass="return-type">void</span> <spanclass="element-name">setTime</span>​<spanclass="parameters">(<ahref="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html"title="class or interface in java.lang"class="external-link">String</a> state,
<dd><code><ahref="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/IllegalArgumentException.html"title="class or interface in java.lang"class="external-link">IllegalArgumentException</a></code> - If given state is null</dd>
<divclass="member-signature"><spanclass="modifiers">public</span> <spanclass="return-type">void</span> <spanclass="element-name">renameState</span>​<spanclass="parameters">(<ahref="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html"title="class or interface in java.lang"class="external-link">String</a> state,
<ahref="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html"title="class or interface in java.lang"class="external-link">String</a> renameTo)</span></div>
<divclass="member-signature"><spanclass="modifiers">public</span> <spanclass="return-type">void</span> <spanclass="element-name">changeState</span>​<spanclass="parameters">(<ahref="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html"title="class or interface in java.lang"class="external-link">String</a> newState,
<dd><code><ahref="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/IllegalArgumentException.html"title="class or interface in java.lang"class="external-link">IllegalArgumentException</a></code> - If newState is null.</dd>
<divclass="member-signature"><spanclass="modifiers">protected</span> <spanclass="return-type">void</span> <spanclass="element-name">resetState</span>​<spanclass="parameters">(<ahref="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html"title="class or interface in java.lang"class="external-link">String</a> state)</span></div>
<divclass="member-signature"><spanclass="modifiers">protected</span> <spanclass="return-type">void</span> <spanclass="element-name">resetState</span>​<spanclass="parameters">(<ahref="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html"title="class or interface in java.lang"class="external-link">String</a> state,
<divclass="member-signature"><spanclass="modifiers">public</span> <spanclass="return-type">long</span> <spanclass="element-name">getTime</span>​<spanclass="parameters">(<ahref="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html"title="class or interface in java.lang"class="external-link">String</a> state)</span></div>
<divclass="member-signature"><spanclass="modifiers">public</span> <spanclass="return-type">void</span> <spanclass="element-name">addTime</span>​<spanclass="parameters">(<ahref="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html"title="class or interface in java.lang"class="external-link">String</a> state,
<divclass="member-signature"><spanclass="modifiers">public</span> <spanclass="return-type"><ahref="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/Map.html"title="class or interface in java.util"class="external-link">Map</a><<ahref="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html"title="class or interface in java.lang"class="external-link">String</a>,​<ahref="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Long.html"title="class or interface in java.lang"class="external-link">Long</a>></span> <spanclass="element-name">getTimes</span>()</div>
<divclass="member-signature"><spanclass="modifiers">public</span> <spanclass="return-type">void</span> <spanclass="element-name">setTimes</span>​<spanclass="parameters">(<ahref="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/Map.html"title="class or interface in java.util"class="external-link">Map</a><<ahref="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html"title="class or interface in java.lang"class="external-link">String</a>,​<ahref="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Long.html"title="class or interface in java.lang"class="external-link">Long</a>> times)</span></div>
<divclass="member-signature"><spanclass="modifiers">public</span> <spanclass="return-type"><ahref="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html"title="class or interface in java.lang"class="external-link">String</a></span> <spanclass="element-name">getState</span>()</div>
<divclass="member-signature"><spanclass="modifiers">public</span> <spanclass="return-type">void</span> <spanclass="element-name">setState</span>​<spanclass="parameters">(<ahref="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html"title="class or interface in java.lang"class="external-link">String</a> state)</span></div>
<divclass="member-signature"><spanclass="modifiers">public</span> <spanclass="return-type">boolean</span> <spanclass="element-name">equals</span>​<spanclass="parameters">(<ahref="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html"title="class or interface in java.lang"class="external-link">Object</a> o)</span></div>
<dlclass="notes">
<dt>Overrides:</dt>
<dd><code><ahref="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)"title="class or interface in java.lang"class="external-link">equals</a></code> in class <code><ahref="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html"title="class or interface in java.lang"class="external-link">Object</a></code></dd>
<dd><code><ahref="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#hashCode()"title="class or interface in java.lang"class="external-link">hashCode</a></code> in class <code><ahref="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html"title="class or interface in java.lang"class="external-link">Object</a></code></dd>
<divclass="member-signature"><spanclass="modifiers">public</span> <spanclass="return-type"><ahref="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html"title="class or interface in java.lang"class="external-link">String</a></span> <spanclass="element-name">toString</span>()</div>
<dlclass="notes">
<dt>Overrides:</dt>
<dd><code><ahref="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#toString()"title="class or interface in java.lang"class="external-link">toString</a></code> in class <code><ahref="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html"title="class or interface in java.lang"class="external-link">Object</a></code></dd>