PageRenderTime 33ms CodeModel.GetById 31ms app.highlight 1ms RepoModel.GetById 0ms app.codeStats 0ms

/src/main/java/org/ocpsoft/prettytime/TimeUnit.java

http://github.com/ocpsoft/prettytime
Java | 48 lines | 5 code | 4 blank | 39 comment | 0 complexity | 671541332b4198775b3e64837ad70fa2 MD5 | raw file
Possible License(s): Apache-2.0
 1/*
 2 * Copyright 2012 <a href="mailto:lincolnbaxter@gmail.com">Lincoln Baxter, III</a>
 3 * 
 4 * Licensed under the Apache License, Version 2.0 (the "License");
 5 * you may not use this file except in compliance with the License.
 6 * You may obtain a copy of the License at
 7 * 
 8 *     http://www.apache.org/licenses/LICENSE-2.0
 9 * 
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16package org.ocpsoft.prettytime;
17
18
19/**
20 * Defines a Unit of time (e.g. seconds, minutes, hours) and its conversion to milliseconds.
21 * 
22 * @author <a href="mailto:lincolnbaxter@gmail.com">Lincoln Baxter, III</a>
23 */
24public interface TimeUnit {
25
26   /**
27    * The number of milliseconds represented by each instance of this TimeUnit.
28    * Must be a positive number greater than zero.
29    */
30   public long getMillisPerUnit();
31
32   /**
33    * The maximum quantity of this Unit to be used as a threshold for the next
34    * largest Unit (e.g. if one <code>Second</code> represents 1000ms, and
35    * <code>Second</code> has a maxQuantity of 5, then if the difference
36    * between compared timestamps is larger than 5000ms, PrettyTime will move
37    * on to the next smallest TimeUnit for calculation; <code>Minute</code>, by
38    * default)
39    * <p>
40    * millisPerUnit * maxQuantity = maxAllowedMs
41    * <p>
42    * If maxQuantity is zero, it will be equal to the next highest
43    * <code>TimeUnit.getMillisPerUnit() /
44    * this.getMillisPerUnit()</code> or infinity if there are no greater
45    * TimeUnits
46    */
47   public long getMaxQuantity();
48}