<!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_201) on Thu Jul 23 15:58:40 CEST 2020 -->
<title>DateTimeFormatter</title>
<meta name="date" content="2020-07-23">
<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="DateTimeFormatter";
        }
    }
    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};
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/DateTimeFormatter.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-files/index-1.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/eclipse/nebula/widgets/formattedtext/DateFormatter.html" title="class in org.eclipse.nebula.widgets.formattedtext"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/eclipse/nebula/widgets/formattedtext/DefaultFormatterFactory.html" title="class in org.eclipse.nebula.widgets.formattedtext"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/eclipse/nebula/widgets/formattedtext/DateTimeFormatter.html" target="_top">Frames</a></li>
<li><a href="DateTimeFormatter.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="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&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">org.eclipse.nebula.widgets.formattedtext</div>
<h2 title="Class DateTimeFormatter" class="title">Class DateTimeFormatter</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li><a href="../../../../../org/eclipse/nebula/widgets/formattedtext/AbstractFormatter.html" title="class in org.eclipse.nebula.widgets.formattedtext">org.eclipse.nebula.widgets.formattedtext.AbstractFormatter</a></li>
<li>
<ul class="inheritance">
<li>org.eclipse.nebula.widgets.formattedtext.DateTimeFormatter</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd>java.util.EventListener, <a href="../../../../../org/eclipse/nebula/widgets/formattedtext/ITextFormatter.html" title="interface in org.eclipse.nebula.widgets.formattedtext">ITextFormatter</a>, org.eclipse.swt.events.VerifyListener, org.eclipse.swt.internal.SWTEventListener</dd>
</dl>
<dl>
<dt>Direct Known Subclasses:</dt>
<dd><a href="../../../../../org/eclipse/nebula/widgets/formattedtext/DateFormatter.html" title="class in org.eclipse.nebula.widgets.formattedtext">DateFormatter</a>, <a href="../../../../../org/eclipse/nebula/widgets/formattedtext/TimeFormatter.html" title="class in org.eclipse.nebula.widgets.formattedtext">TimeFormatter</a></dd>
</dl>
<hr>
<br>
<pre>public class <span class="typeNameLabel">DateTimeFormatter</span>
extends <a href="../../../../../org/eclipse/nebula/widgets/formattedtext/AbstractFormatter.html" title="class in org.eclipse.nebula.widgets.formattedtext">AbstractFormatter</a></pre>
<div class="block">This class provides formatting of <code>Date</code> values in a
 <code>FormattedText</code>. Supports a subset of date and time patterns
 defined in <code>SimpleDateFormat</code> for input.<p>

 <h4>Edit Patterns</h4>
 Edit patterns are composed of letters defining the parts of the mask, and
 characters defining the separators.<p>
 The following pattern letters are defined:
 <blockquote>
 <table border=0 cellspacing=3 cellpadding=0 summary="Chart shows pattern letters, date/time component, presentation, and examples.">
   <tr bgcolor="#ccccff">
     <th align=left>Letter</th>
     <th align=left>Date or Time Part</th>
     <th align=left>Examples</th>
   </tr>
   <tr>
     <td><code>y</code></td>
     <td>Year</td>
     <td><code>2006</code>; <code>06</code></td>
   </tr>
   <tr bgcolor="#eeeeff">
     <td><code>M</code></td>
     <td>Month in year</td>
     <td><code>07</code></td>
   </tr>
   <tr>
     <td><code>d</code></td>
     <td>Day in month</td>
     <td><code>10</code></td>
   </tr>
   <tr bgcolor="#eeeeff">
     <td><code>H</code></td>
     <td>Hour in day (0-23)</td>
     <td><code>0</code></td>
   </tr>
   <tr>
     <td><code>h</code></td>
     <td>Hour in am/pm (1-12)</td>
     <td><code>12</code></td>
   </tr>
   <tr bgcolor="#eeeeff">
     <td><code>m</code></td>
     <td>Minute in hour</td>
     <td><code>30</code></td>
   </tr>
   <tr>
     <td><code>s</code></td>
     <td>Second in minute</td>
     <td><code>55</code></td>
   </tr>
   <tr bgcolor="#eeeeff">
     <td><code>S</code></td>
     <td>Millisecond</td>
     <td><code>978</code></td>
   </tr>
   <tr>
     <td><code>a</code></td>
     <td>Am/pm marker</td>
     <td><code>PM</code></td>
   </tr>
 </table>
 </blockquote>
 Edit patterns are limited to numeric formats (except am/pm marker). Variable
 length fields and separators composed of more than one character are
 supported for input.

 <h4>Display Patterns</h4>
 Display patterns are associated to a <code>SimpleDateFormat</code> object.
 So they have to be compatible with it.

 <h4>Examples</h4>
 <ul>
         <li><code>new DateTimeFormatter("MM/dd/yyyy")</code> - 8 jul 2006 will edit
         and display as "07/08/2006".</li>
   <li><code>new DateTimeFormatter("d/M/yyyy H:m, "dd MMM yyyy HH:mm")</code>-
   8 jul 2006, 15:05 will edit as "8/7/2006 15:5" and display as
   "08 Jul 2006 15:05".</li>
 </ul></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>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected static java.util.Hashtable&lt;java.lang.String,java.lang.String&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/nebula/widgets/formattedtext/DateTimeFormatter.html#cachedPatterns">cachedPatterns</a></span></code>
<div class="block">Cache of patterns by locale ISO3 codes</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected java.util.Calendar</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/nebula/widgets/formattedtext/DateTimeFormatter.html#calendar">calendar</a></span></code>
<div class="block">Calendar containing the current value</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/nebula/widgets/formattedtext/DateTimeFormatter.html#fieldCount">fieldCount</a></span></code>
<div class="block">Number of fields in edit pattern</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected org.eclipse.nebula.widgets.formattedtext.DateTimeFormatter.FieldDesc[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/nebula/widgets/formattedtext/DateTimeFormatter.html#fields">fields</a></span></code>
<div class="block">Fields descriptions</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected org.eclipse.swt.events.FocusListener</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/nebula/widgets/formattedtext/DateTimeFormatter.html#flistener">flistener</a></span></code>
<div class="block">Focus listener on the Text widget</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected java.lang.StringBuffer</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/nebula/widgets/formattedtext/DateTimeFormatter.html#inputCache">inputCache</a></span></code>
<div class="block">Current edited value</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected java.lang.StringBuffer</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/nebula/widgets/formattedtext/DateTimeFormatter.html#inputMask">inputMask</a></span></code>
<div class="block">Input mask</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected org.eclipse.swt.events.KeyListener</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/nebula/widgets/formattedtext/DateTimeFormatter.html#klistener">klistener</a></span></code>
<div class="block">Key listener on the Text widget</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected java.util.Locale</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/nebula/widgets/formattedtext/DateTimeFormatter.html#locale">locale</a></span></code>
<div class="block">The Locale used by this formatter</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected org.eclipse.swt.widgets.Listener</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/nebula/widgets/formattedtext/DateTimeFormatter.html#modifyFilter">modifyFilter</a></span></code>
<div class="block">Filter for modify events</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected java.text.SimpleDateFormat</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/nebula/widgets/formattedtext/DateTimeFormatter.html#sdfDisplay">sdfDisplay</a></span></code>
<div class="block">Date formatter for display</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/nebula/widgets/formattedtext/DateTimeFormatter.html#yearStart">yearStart</a></span></code>
<div class="block">Year limit for 2 digits year field</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="fields.inherited.from.class.org.eclipse.nebula.widgets.formattedtext.AbstractFormatter">
<!--   -->
</a>
<h3>Fields inherited from class&nbsp;org.eclipse.nebula.widgets.formattedtext.<a href="../../../../../org/eclipse/nebula/widgets/formattedtext/AbstractFormatter.html" title="class in org.eclipse.nebula.widgets.formattedtext">AbstractFormatter</a></h3>
<code><a href="../../../../../org/eclipse/nebula/widgets/formattedtext/AbstractFormatter.html#EMPTY">EMPTY</a>, <a href="../../../../../org/eclipse/nebula/widgets/formattedtext/AbstractFormatter.html#ignore">ignore</a>, <a href="../../../../../org/eclipse/nebula/widgets/formattedtext/AbstractFormatter.html#SPACE">SPACE</a>, <a href="../../../../../org/eclipse/nebula/widgets/formattedtext/AbstractFormatter.html#text">text</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">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/nebula/widgets/formattedtext/DateTimeFormatter.html#DateTimeFormatter--">DateTimeFormatter</a></span>()</code>
<div class="block">Constructs a new instance with all defaults :
 
   edit mask in SHORT format for both date and time parts for the default locale
   display mask identical to the edit mask
   default locale
 </div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/nebula/widgets/formattedtext/DateTimeFormatter.html#DateTimeFormatter-java.util.Locale-">DateTimeFormatter</a></span>(java.util.Locale&nbsp;loc)</code>
<div class="block">Constructs a new instance with default edit and display masks for the given
 locale.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/nebula/widgets/formattedtext/DateTimeFormatter.html#DateTimeFormatter-java.lang.String-">DateTimeFormatter</a></span>(java.lang.String&nbsp;editPattern)</code>
<div class="block">Constructs a new instance with the given edit mask.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/nebula/widgets/formattedtext/DateTimeFormatter.html#DateTimeFormatter-java.lang.String-java.util.Locale-">DateTimeFormatter</a></span>(java.lang.String&nbsp;editPattern,
                 java.util.Locale&nbsp;loc)</code>
<div class="block">Constructs a new instance with the given edit mask and locale.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/nebula/widgets/formattedtext/DateTimeFormatter.html#DateTimeFormatter-java.lang.String-java.lang.String-">DateTimeFormatter</a></span>(java.lang.String&nbsp;editPattern,
                 java.lang.String&nbsp;displayPattern)</code>
<div class="block">Constructs a new instance with the given edit and display masks.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/nebula/widgets/formattedtext/DateTimeFormatter.html#DateTimeFormatter-java.lang.String-java.lang.String-java.util.Locale-">DateTimeFormatter</a></span>(java.lang.String&nbsp;editPattern,
                 java.lang.String&nbsp;displayPattern,
                 java.util.Locale&nbsp;loc)</code>
<div class="block">Constructs a new instance with the given masks and locale.</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">&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>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/nebula/widgets/formattedtext/DateTimeFormatter.html#detach--">detach</a></span>()</code>
<div class="block">Called when the formatter is replaced by an other one in the <code>FormattedText</code>
 control.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/nebula/widgets/formattedtext/DateTimeFormatter.html#getDefaultEditPattern-java.util.Locale-">getDefaultEditPattern</a></span>(java.util.Locale&nbsp;loc)</code>
<div class="block">Returns the default edit pattern for the given <code>Locale</code>.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/nebula/widgets/formattedtext/DateTimeFormatter.html#getDisplayString--">getDisplayString</a></span>()</code>
<div class="block">Returns the current value formatted for display.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/nebula/widgets/formattedtext/DateTimeFormatter.html#getEditString--">getEditString</a></span>()</code>
<div class="block">Returns the current value formatted for input.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>java.util.Locale</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/nebula/widgets/formattedtext/DateTimeFormatter.html#getLocale--">getLocale</a></span>()</code>
<div class="block">Returns the current Locale used by this formatter.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>java.lang.Object</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/nebula/widgets/formattedtext/DateTimeFormatter.html#getValue--">getValue</a></span>()</code>
<div class="block">Returns the current value of the text control if it is a valid
 <code>Date</code>.<br>
 The date is valid if all the input fields are set.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>java.lang.Class&lt;java.util.Date&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/nebula/widgets/formattedtext/DateTimeFormatter.html#getValueType--">getValueType</a></span>()</code>
<div class="block">Returns the type of value this <a href="../../../../../org/eclipse/nebula/widgets/formattedtext/ITextFormatter.html" title="interface in org.eclipse.nebula.widgets.formattedtext"><code>ITextFormatter</code></a> handles,
 i.e.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/nebula/widgets/formattedtext/DateTimeFormatter.html#isEmpty--">isEmpty</a></span>()</code>
<div class="block">Returns <code>true</code> if current edited value is empty, else returns
 <code>false</code>.<br>
 For a datetime, the value is considered empty if each field composing the
 datetime pattern contains an empty string.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/nebula/widgets/formattedtext/DateTimeFormatter.html#isValid--">isValid</a></span>()</code>
<div class="block">Returns <code>true</code> if current edited value is valid, else returns
 <code>false</code>.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/nebula/widgets/formattedtext/DateTimeFormatter.html#isValidCharPattern-char-">isValidCharPattern</a></span>(char&nbsp;c)</code>
<div class="block">Checks if a given char is valid for the edit pattern.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/nebula/widgets/formattedtext/DateTimeFormatter.html#setLocale-java.util.Locale-">setLocale</a></span>(java.util.Locale&nbsp;loc)</code>
<div class="block">Sets a new <code>Locale</code> on this formatter.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/nebula/widgets/formattedtext/DateTimeFormatter.html#setText-org.eclipse.swt.widgets.Text-">setText</a></span>(org.eclipse.swt.widgets.Text&nbsp;text)</code>
<div class="block">Sets the <code>Text</code> widget that will be managed by this formatter.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/nebula/widgets/formattedtext/DateTimeFormatter.html#setTimeZone-java.util.TimeZone-">setTimeZone</a></span>(java.util.TimeZone&nbsp;zone)</code>
<div class="block">Sets the time zone with the given time zone value.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/nebula/widgets/formattedtext/DateTimeFormatter.html#setValue-java.lang.Object-">setValue</a></span>(java.lang.Object&nbsp;value)</code>
<div class="block">Sets the value to edit.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/nebula/widgets/formattedtext/DateTimeFormatter.html#verifyText-org.eclipse.swt.events.VerifyEvent-">verifyText</a></span>(org.eclipse.swt.events.VerifyEvent&nbsp;e)</code>
<div class="block">Handles a <code>VerifyEvent</code> sent when the text is about to be modified.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.eclipse.nebula.widgets.formattedtext.AbstractFormatter">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;org.eclipse.nebula.widgets.formattedtext.<a href="../../../../../org/eclipse/nebula/widgets/formattedtext/AbstractFormatter.html" title="class in org.eclipse.nebula.widgets.formattedtext">AbstractFormatter</a></h3>
<code><a href="../../../../../org/eclipse/nebula/widgets/formattedtext/AbstractFormatter.html#beep--">beep</a>, <a href="../../../../../org/eclipse/nebula/widgets/formattedtext/AbstractFormatter.html#setIgnore-boolean-">setIgnore</a>, <a href="../../../../../org/eclipse/nebula/widgets/formattedtext/AbstractFormatter.html#updateText-java.lang.String-">updateText</a>, <a href="../../../../../org/eclipse/nebula/widgets/formattedtext/AbstractFormatter.html#updateText-java.lang.String-int-">updateText</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">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.detail">
<!--   -->
</a>
<h3>Field Detail</h3>
<a name="cachedPatterns">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>cachedPatterns</h4>
<pre>protected static&nbsp;java.util.Hashtable&lt;java.lang.String,java.lang.String&gt; cachedPatterns</pre>
<div class="block">Cache of patterns by locale ISO3 codes</div>
</li>
</ul>
<a name="calendar">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>calendar</h4>
<pre>protected&nbsp;java.util.Calendar calendar</pre>
<div class="block">Calendar containing the current value</div>
</li>
</ul>
<a name="sdfDisplay">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>sdfDisplay</h4>
<pre>protected&nbsp;java.text.SimpleDateFormat sdfDisplay</pre>
<div class="block">Date formatter for display</div>
</li>
</ul>
<a name="inputMask">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>inputMask</h4>
<pre>protected&nbsp;java.lang.StringBuffer inputMask</pre>
<div class="block">Input mask</div>
</li>
</ul>
<a name="inputCache">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>inputCache</h4>
<pre>protected&nbsp;java.lang.StringBuffer inputCache</pre>
<div class="block">Current edited value</div>
</li>
</ul>
<a name="fields">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>fields</h4>
<pre>protected&nbsp;org.eclipse.nebula.widgets.formattedtext.DateTimeFormatter.FieldDesc[] fields</pre>
<div class="block">Fields descriptions</div>
</li>
</ul>
<a name="fieldCount">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>fieldCount</h4>
<pre>protected&nbsp;int fieldCount</pre>
<div class="block">Number of fields in edit pattern</div>
</li>
</ul>
<a name="yearStart">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>yearStart</h4>
<pre>protected&nbsp;int yearStart</pre>
<div class="block">Year limit for 2 digits year field</div>
</li>
</ul>
<a name="klistener">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>klistener</h4>
<pre>protected&nbsp;org.eclipse.swt.events.KeyListener klistener</pre>
<div class="block">Key listener on the Text widget</div>
</li>
</ul>
<a name="flistener">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>flistener</h4>
<pre>protected&nbsp;org.eclipse.swt.events.FocusListener flistener</pre>
<div class="block">Focus listener on the Text widget</div>
</li>
</ul>
<a name="modifyFilter">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>modifyFilter</h4>
<pre>protected&nbsp;org.eclipse.swt.widgets.Listener modifyFilter</pre>
<div class="block">Filter for modify events</div>
</li>
</ul>
<a name="locale">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>locale</h4>
<pre>protected&nbsp;java.util.Locale locale</pre>
<div class="block">The Locale used by this formatter</div>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!--   -->
</a>
<h3>Constructor Detail</h3>
<a name="DateTimeFormatter--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DateTimeFormatter</h4>
<pre>public&nbsp;DateTimeFormatter()</pre>
<div class="block">Constructs a new instance with all defaults :
 <ul>
   <li>edit mask in SHORT format for both date and time parts for the default locale</li>
   <li>display mask identical to the edit mask</li>
   <li>default locale</li>
 </ul></div>
</li>
</ul>
<a name="DateTimeFormatter-java.util.Locale-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DateTimeFormatter</h4>
<pre>public&nbsp;DateTimeFormatter(java.util.Locale&nbsp;loc)</pre>
<div class="block">Constructs a new instance with default edit and display masks for the given
 locale.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>loc</code> - locale</dd>
</dl>
</li>
</ul>
<a name="DateTimeFormatter-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DateTimeFormatter</h4>
<pre>public&nbsp;DateTimeFormatter(java.lang.String&nbsp;editPattern)</pre>
<div class="block">Constructs a new instance with the given edit mask. Display mask is
 identical to the edit mask, and locale is the default one.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>editPattern</code> - edit mask</dd>
</dl>
</li>
</ul>
<a name="DateTimeFormatter-java.lang.String-java.util.Locale-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DateTimeFormatter</h4>
<pre>public&nbsp;DateTimeFormatter(java.lang.String&nbsp;editPattern,
                         java.util.Locale&nbsp;loc)</pre>
<div class="block">Constructs a new instance with the given edit mask and locale. Display mask
 is identical to the edit mask.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>editPattern</code> - edit mask</dd>
<dd><code>loc</code> - locale</dd>
</dl>
</li>
</ul>
<a name="DateTimeFormatter-java.lang.String-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DateTimeFormatter</h4>
<pre>public&nbsp;DateTimeFormatter(java.lang.String&nbsp;editPattern,
                         java.lang.String&nbsp;displayPattern)</pre>
<div class="block">Constructs a new instance with the given edit and display masks. Uses the
 default locale.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>editPattern</code> - edit mask</dd>
<dd><code>displayPattern</code> - display mask</dd>
</dl>
</li>
</ul>
<a name="DateTimeFormatter-java.lang.String-java.lang.String-java.util.Locale-">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>DateTimeFormatter</h4>
<pre>public&nbsp;DateTimeFormatter(java.lang.String&nbsp;editPattern,
                         java.lang.String&nbsp;displayPattern,
                         java.util.Locale&nbsp;loc)</pre>
<div class="block">Constructs a new instance with the given masks and locale.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>editPattern</code> - edit mask</dd>
<dd><code>displayPattern</code> - display mask</dd>
<dd><code>loc</code> - locale</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="detach--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>detach</h4>
<pre>public&nbsp;void&nbsp;detach()</pre>
<div class="block">Called when the formatter is replaced by an other one in the <code>FormattedText</code>
 control. Allow to release resources like additional listeners.<p>

 Removes the <code>KeyListener</code> on the text widget.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/eclipse/nebula/widgets/formattedtext/ITextFormatter.html#detach--">detach</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/eclipse/nebula/widgets/formattedtext/ITextFormatter.html" title="interface in org.eclipse.nebula.widgets.formattedtext">ITextFormatter</a></code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../org/eclipse/nebula/widgets/formattedtext/AbstractFormatter.html#detach--">detach</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/eclipse/nebula/widgets/formattedtext/AbstractFormatter.html" title="class in org.eclipse.nebula.widgets.formattedtext">AbstractFormatter</a></code></dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../org/eclipse/nebula/widgets/formattedtext/ITextFormatter.html#detach--"><code>ITextFormatter.detach()</code></a></dd>
</dl>
</li>
</ul>
<a name="getDefaultEditPattern-java.util.Locale-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDefaultEditPattern</h4>
<pre>public&nbsp;java.lang.String&nbsp;getDefaultEditPattern(java.util.Locale&nbsp;loc)</pre>
<div class="block">Returns the default edit pattern for the given <code>Locale</code>.<p>

 A <code>DateFormat</code> object is instantiated with SHORT format for
 both date and time parts for the given locale. The corresponding pattern
 string is then retrieved by calling the <code>toPattern</code>.<p>

 Default patterns are stored in a cache with ISO3 language and country codes
 as key. So they are computed only once by locale.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>loc</code> - locale</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>edit pattern for the locale</dd>
</dl>
</li>
</ul>
<a name="getDisplayString--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDisplayString</h4>
<pre>public&nbsp;java.lang.String&nbsp;getDisplayString()</pre>
<div class="block">Returns the current value formatted for display.
 This method is called by <code>FormattedText</code> when the <code>Text</code>
 widget looses focus.
 The displayed value is the result of formatting on the <code>calendar</code>
 with a <code>SimpleDateFormat<code> for the display pattern passed in
 constructor. In case the input is invalid (eg. blanks fields), the edit
 string is returned in place of the display string.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>display string if valid, edit string else</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../org/eclipse/nebula/widgets/formattedtext/ITextFormatter.html#getDisplayString--"><code>ITextFormatter.getDisplayString()</code></a></dd>
</dl>
</li>
</ul>
<a name="getEditString--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getEditString</h4>
<pre>public&nbsp;java.lang.String&nbsp;getEditString()</pre>
<div class="block">Returns the current value formatted for input.
 This method is called by <code>FormattedText</code> when the <code>Text</code>
 widget gains focus.
 The value returned is the content of the StringBuilder used as cache.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>edit string</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../org/eclipse/nebula/widgets/formattedtext/ITextFormatter.html#getEditString--"><code>ITextFormatter.getEditString()</code></a></dd>
</dl>
</li>
</ul>
<a name="getLocale--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLocale</h4>
<pre>public&nbsp;java.util.Locale&nbsp;getLocale()</pre>
<div class="block">Returns the current Locale used by this formatter.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Current Locale used</dd>
</dl>
</li>
</ul>
<a name="getValue--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getValue</h4>
<pre>public&nbsp;java.lang.Object&nbsp;getValue()</pre>
<div class="block">Returns the current value of the text control if it is a valid
 <code>Date</code>.<br>
 The date is valid if all the input fields are set. If invalid, returns
 <code>null</code>.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>current date value if valid, <code>null</code> else</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../org/eclipse/nebula/widgets/formattedtext/ITextFormatter.html#getValue--"><code>ITextFormatter.getValue()</code></a></dd>
</dl>
</li>
</ul>
<a name="getValueType--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getValueType</h4>
<pre>public&nbsp;java.lang.Class&lt;java.util.Date&gt;&nbsp;getValueType()</pre>
<div class="block">Returns the type of value this <a href="../../../../../org/eclipse/nebula/widgets/formattedtext/ITextFormatter.html" title="interface in org.eclipse.nebula.widgets.formattedtext"><code>ITextFormatter</code></a> handles,
 i.e. returns in <a href="../../../../../org/eclipse/nebula/widgets/formattedtext/DateTimeFormatter.html#getValue--"><code>getValue()</code></a>.<br>
 A DateTimeFormatter always returns a Date value.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The value type.</dd>
</dl>
</li>
</ul>
<a name="isEmpty--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isEmpty</h4>
<pre>public&nbsp;boolean&nbsp;isEmpty()</pre>
<div class="block">Returns <code>true</code> if current edited value is empty, else returns
 <code>false</code>.<br>
 For a datetime, the value is considered empty if each field composing the
 datetime pattern contains an empty string.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if empty, else false</dd>
</dl>
</li>
</ul>
<a name="isValid--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isValid</h4>
<pre>public&nbsp;boolean&nbsp;isValid()</pre>
<div class="block">Returns <code>true</code> if current edited value is valid, else returns
 <code>false</code>. An empty value is considered as invalid.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if valid, else false</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../org/eclipse/nebula/widgets/formattedtext/ITextFormatter.html#isValid--"><code>ITextFormatter.isValid()</code></a></dd>
</dl>
</li>
</ul>
<a name="isValidCharPattern-char-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isValidCharPattern</h4>
<pre>protected&nbsp;void&nbsp;isValidCharPattern(char&nbsp;c)</pre>
<div class="block">Checks if a given char is valid for the edit pattern. This method must be
 override to restrict the edit pattern in subclasses.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>c</code> - pattern char</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.IllegalArgumentException</code> - if not valid</dd>
</dl>
</li>
</ul>
<a name="setLocale-java.util.Locale-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setLocale</h4>
<pre>public&nbsp;void&nbsp;setLocale(java.util.Locale&nbsp;loc)</pre>
<div class="block">Sets a new <code>Locale</code> on this formatter.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>loc</code> - locale</dd>
</dl>
</li>
</ul>
<a name="setText-org.eclipse.swt.widgets.Text-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setText</h4>
<pre>public&nbsp;void&nbsp;setText(org.eclipse.swt.widgets.Text&nbsp;text)</pre>
<div class="block">Sets the <code>Text</code> widget that will be managed by this formatter.<p>

 The ancestor is override to add a key listener on the text widget.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/eclipse/nebula/widgets/formattedtext/ITextFormatter.html#setText-org.eclipse.swt.widgets.Text-">setText</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/eclipse/nebula/widgets/formattedtext/ITextFormatter.html" title="interface in org.eclipse.nebula.widgets.formattedtext">ITextFormatter</a></code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../org/eclipse/nebula/widgets/formattedtext/AbstractFormatter.html#setText-org.eclipse.swt.widgets.Text-">setText</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/eclipse/nebula/widgets/formattedtext/AbstractFormatter.html" title="class in org.eclipse.nebula.widgets.formattedtext">AbstractFormatter</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>text</code> - Text widget</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../org/eclipse/nebula/widgets/formattedtext/ITextFormatter.html#setText-org.eclipse.swt.widgets.Text-"><code>ITextFormatter.setText(Text)</code></a></dd>
</dl>
</li>
</ul>
<a name="setTimeZone-java.util.TimeZone-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setTimeZone</h4>
<pre>public&nbsp;void&nbsp;setTimeZone(java.util.TimeZone&nbsp;zone)</pre>
<div class="block">Sets the time zone with the given time zone value. The time zone is applied
 to both the <code>Calendar</code> used as value cache, and the
 <code>SimpleDateFormat</code> used for display mask.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>zone</code> - Time zone</dd>
</dl>
</li>
</ul>
<a name="setValue-java.lang.Object-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setValue</h4>
<pre>public&nbsp;void&nbsp;setValue(java.lang.Object&nbsp;value)</pre>
<div class="block">Sets the value to edit. The value provided must be a <code>Date</code>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>value</code> - date value</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.IllegalArgumentException</code> - if not a date</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../org/eclipse/nebula/widgets/formattedtext/ITextFormatter.html#setValue-java.lang.Object-"><code>ITextFormatter.setValue(java.lang.Object)</code></a></dd>
</dl>
</li>
</ul>
<a name="verifyText-org.eclipse.swt.events.VerifyEvent-">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>verifyText</h4>
<pre>public&nbsp;void&nbsp;verifyText(org.eclipse.swt.events.VerifyEvent&nbsp;e)</pre>
<div class="block">Handles a <code>VerifyEvent</code> sent when the text is about to be modified.
 This method is the entry point of all operations of formatting.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><code>VerifyListener.verifyText(org.eclipse.swt.events.VerifyEvent)</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/DateTimeFormatter.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-files/index-1.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/eclipse/nebula/widgets/formattedtext/DateFormatter.html" title="class in org.eclipse.nebula.widgets.formattedtext"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/eclipse/nebula/widgets/formattedtext/DefaultFormatterFactory.html" title="class in org.eclipse.nebula.widgets.formattedtext"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/eclipse/nebula/widgets/formattedtext/DateTimeFormatter.html" target="_top">Frames</a></li>
<li><a href="DateTimeFormatter.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="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>
