Class ComparisonDateTool.Comparison
- java.lang.Object
-
- org.apache.velocity.tools.generic.ComparisonDateTool.Comparison
-
- Enclosing class:
- ComparisonDateTool
public class ComparisonDateTool.Comparison extends java.lang.Object
-
-
Constructor Summary
Constructors Constructor Description Comparison(java.util.Calendar now, java.util.Calendar then, int type, int depth, boolean abbr, java.util.Locale loc)Comparison object constructor
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ComparisonDateTool.Comparisonabbr(boolean abbr)Sets whether or not this comparison is to be rendered in abbreviated form or not.ComparisonDateTool.Comparisondepth(int depth)Set the maximum number of units to render for this comparison.ComparisonDateTool.ComparisongetAbbr()This is equivalent to callingabbr(boolean abbr)withtrueas the argument, thus setting this comparison to be rendered in abbreviated form.longgetDays()Return the number of days between the dates being compared.ComparisonDateTool.ComparisongetDifference()Sets this comparison to be rendered as aComparisonDateTool.difference(java.lang.Object, java.lang.Object).ComparisonDateTool.ComparisongetExact()Sets this comparison to be rendered as if it where generated using theComparisonDateTool.timespan(Object now, Object then)method.protected int[]getExactDifference()Internal helper returning a cached map of all exact bygone time units per field.ComparisonDateTool.ComparisongetFull()Sets thedepth(int depth)to which this comparison is rendered to the maximum number of time units available to the tool.longgetHours()Return the number of hours between the dates being compared.longgetMilliseconds()Return the number of milliseconds between the dates being compared.longgetMinutes()Return the number of minutes between the dates being compared.longgetMonths()Return the approximate number of months between the dates being compared, or the bygone number of months after the bygone number of years in exact mode.ComparisonDateTool.ComparisongetRelative()Sets this comparison to be rendered as if it where generated using theComparisonDateTool.whenIs(Object now, Object then)method.longgetSeconds()Return the number of seconds between the dates being compared.longgetWeeks()Return the number of weeks between the dates being compared.longgetYears()Return the approximate number of years between the dates being compared, or the bygone number of years in exact mode.ComparisonDateTool.Comparisonlocale(java.util.Locale loc)Sets the locale used to look up the textual portions of the rendering.java.lang.StringtoString()Renders this comparison to a String.protected java.lang.StringtoString(long diff, int maxUnitDepth)Converts the specified positive duration of milliseconds into larger units up to the specified number of positive units, beginning with the largest positive unit.
-
-
-
Constructor Detail
-
Comparison
public Comparison(java.util.Calendar now, java.util.Calendar then, int type, int depth, boolean abbr, java.util.Locale loc)Comparison object constructor- Parameters:
now- The date to use as representative of "now"then- The secondary datetype- comparison typedepth- units depthabbr- whether to abbreviate unitsloc- locale to use
-
-
Method Detail
-
abbr
public ComparisonDateTool.Comparison abbr(boolean abbr)
Sets whether or not this comparison is to be rendered in abbreviated form or not. By default, it is not abbreviated.- Parameters:
abbr- flag value- Returns:
- new Comparison object
-
depth
public ComparisonDateTool.Comparison depth(int depth)
Set the maximum number of units to render for this comparison. By default, this is set to 1 unit.- Parameters:
depth- max units depth- Returns:
- new Comparison object
-
locale
public ComparisonDateTool.Comparison locale(java.util.Locale loc)
Sets the locale used to look up the textual portions of the rendering. This defaults to the Locale configured for this tool, if any. If no locale was configured, this defaults to the system default.- Parameters:
loc- locale to use- Returns:
- new Comparison object
-
getExactDifference
protected final int[] getExactDifference()
Internal helper returning a cached map of all exact bygone time units per field.- Returns:
- cached exact difference holder, as a calendar object
-
getYears
public long getYears()
Return the approximate number of years between the dates being compared, or the bygone number of years in exact mode.- Returns:
- years
-
getMonths
public long getMonths()
Return the approximate number of months between the dates being compared, or the bygone number of months after the bygone number of years in exact mode.- Returns:
- months
-
getWeeks
public long getWeeks()
Return the number of weeks between the dates being compared.- Returns:
- weeks
-
getDays
public long getDays()
Return the number of days between the dates being compared.- Returns:
- days
-
getHours
public long getHours()
Return the number of hours between the dates being compared.- Returns:
- hours
-
getMinutes
public long getMinutes()
Return the number of minutes between the dates being compared.- Returns:
- minutes
-
getSeconds
public long getSeconds()
Return the number of seconds between the dates being compared.- Returns:
- seconds
-
getMilliseconds
public long getMilliseconds()
Return the number of milliseconds between the dates being compared.- Returns:
- milliseconds
-
getFull
public ComparisonDateTool.Comparison getFull()
Sets thedepth(int depth)to which this comparison is rendered to the maximum number of time units available to the tool. By default, there are 8 units available, but the tool may be configured to "skip" any of the standard units, thus shortening the maximum depth.- Returns:
- new Comparison object
-
getDifference
public ComparisonDateTool.Comparison getDifference()
Sets this comparison to be rendered as aComparisonDateTool.difference(java.lang.Object, java.lang.Object). This effectively means that the comparison will render as a period of time, without any suffix to describe the relative position of the dates being compared (e.g. "later" or "ago").- Returns:
- new Comparison object
-
getRelative
public ComparisonDateTool.Comparison getRelative()
Sets this comparison to be rendered as if it where generated using theComparisonDateTool.whenIs(Object now, Object then)method. This effectively means that the comparison will render with a suffix to describe the relative position of the dates being compared (e.g. "later" or "ago").- Returns:
- new Comparison object
-
getExact
public ComparisonDateTool.Comparison getExact()
Sets this comparison to be rendered as if it where generated using theComparisonDateTool.timespan(Object now, Object then)method. This effectively means that the comparison will render with a suffix to describe the relative position of the dates being compared (e.g. "later" or "ago").- Returns:
- new Comparison object
-
getAbbr
public ComparisonDateTool.Comparison getAbbr()
This is equivalent to callingabbr(boolean abbr)withtrueas the argument, thus setting this comparison to be rendered in abbreviated form.- Returns:
- new Comparison object
-
toString
protected java.lang.String toString(long diff, int maxUnitDepth)Converts the specified positive duration of milliseconds into larger units up to the specified number of positive units, beginning with the largest positive unit. e.g.toString(181453, 3, false, null)will return "3 minutes 1 second 453 milliseconds",toString(181453, 2, false, null)will return "3 minutes 1 second", andtoString(180000, 2, true, null)will return "3 min".- Parameters:
diff- milliseconds, or, in exact mode, time unit indexmaxUnitDepth- maximum unit depth- Returns:
- string representation of the difference
-
toString
public java.lang.String toString()
Renders this comparison to a String.- Overrides:
toStringin classjava.lang.Object- Returns:
- string representation
-
-