public class

PeriodType

extends Object
implements Serializable
java.lang.Object
   ↳ org.joda.time.PeriodType

Class Overview

Controls a period implementation by specifying which duration fields are to be used.

The following implementations are provided:

  • Standard - years, months, weeks, days, hours, minutes, seconds, millis
  • YearMonthDayTime - years, months, days, hours, minutes, seconds, millis
  • YearMonthDay - years, months, days
  • YearWeekDayTime - years, weeks, days, hours, minutes, seconds, millis
  • YearWeekDay - years, weeks, days
  • YearDayTime - years, days, hours, minutes, seconds, millis
  • YearDay - years, days, hours
  • DayTime - days, hours, minutes, seconds, millis
  • Time - hours, minutes, seconds, millis
  • plus one for each single type

PeriodType is thread-safe and immutable, and all subclasses must be as well.

Summary

Protected Constructors
PeriodType(String name, DurationFieldType[] types, int[] indices)
Constructor.
Public Methods
static PeriodType dayTime()
Gets a type that defines all standard fields from days downwards.
static PeriodType days()
Gets a type that defines just the days field.
boolean equals(Object obj)
Compares this type to another object.
synchronized static PeriodType forFields(DurationFieldType[] types)
Gets a period type that contains the duration types of the array.
DurationFieldType getFieldType(int index)
Gets the field type by index.
String getName()
Gets the name of the period type.
int hashCode()
Returns a hashcode based on the field types.
static PeriodType hours()
Gets a type that defines just the hours field.
int indexOf(DurationFieldType type)
Gets the index of the field in this period.
boolean isSupported(DurationFieldType type)
Checks whether the field specified is supported by this period.
static PeriodType millis()
Gets a type that defines just the millis field.
static PeriodType minutes()
Gets a type that defines just the minutes field.
static PeriodType months()
Gets a type that defines just the months field.
static PeriodType seconds()
Gets a type that defines just the seconds field.
int size()
Gets the number of fields in the period type.
static PeriodType standard()
Gets a type that defines all standard fields.
static PeriodType time()
Gets a type that defines all standard time fields.
String toString()
Gets a debugging to string.
static PeriodType weeks()
Gets a type that defines just the weeks field.
PeriodType withDaysRemoved()
Returns a version of this PeriodType instance that does not support days.
PeriodType withHoursRemoved()
Returns a version of this PeriodType instance that does not support hours.
PeriodType withMillisRemoved()
Returns a version of this PeriodType instance that does not support milliseconds.
PeriodType withMinutesRemoved()
Returns a version of this PeriodType instance that does not support minutes.
PeriodType withMonthsRemoved()
Returns a version of this PeriodType instance that does not support months.
PeriodType withSecondsRemoved()
Returns a version of this PeriodType instance that does not support seconds.
PeriodType withWeeksRemoved()
Returns a version of this PeriodType instance that does not support weeks.
PeriodType withYearsRemoved()
Returns a version of this PeriodType instance that does not support years.
static PeriodType yearDay()
Gets a type that defines the year and day fields.
static PeriodType yearDayTime()
Gets a type that defines all standard fields except months and weeks.
static PeriodType yearMonthDay()
Gets a type that defines the year, month and day fields.
static PeriodType yearMonthDayTime()
Gets a type that defines all standard fields except weeks.
static PeriodType yearWeekDay()
Gets a type that defines year, week and day fields.
static PeriodType yearWeekDayTime()
Gets a type that defines all standard fields except months.
static PeriodType years()
Gets a type that defines just the years field.
[Expand]
Inherited Methods
From class java.lang.Object

Protected Constructors

protected PeriodType (String name, DurationFieldType[] types, int[] indices)

Constructor.

Parameters
name the name
types the types
indices the indices

Public Methods

public static PeriodType dayTime ()

Gets a type that defines all standard fields from days downwards.

  • days
  • hours
  • minutes
  • seconds
  • milliseconds

Returns
  • the period type

public static PeriodType days ()

Gets a type that defines just the days field.

Returns
  • the period type

public boolean equals (Object obj)

Compares this type to another object. To be equal, the object must be a PeriodType with the same set of fields.

Parameters
obj the object to compare to
Returns
  • true if equal

public static synchronized PeriodType forFields (DurationFieldType[] types)

Gets a period type that contains the duration types of the array.

Only the 8 standard duration field types are supported.

Parameters
types the types to include in the array.
Returns
  • the period type

public DurationFieldType getFieldType (int index)

Gets the field type by index.

Parameters
index the index to retrieve
Returns
  • the field type
Throws
IndexOutOfBoundsException if the index is invalid

public String getName ()

Gets the name of the period type.

Returns
  • the name

public int hashCode ()

Returns a hashcode based on the field types.

Returns
  • a suitable hashcode

public static PeriodType hours ()

Gets a type that defines just the hours field.

Returns
  • the period type

public int indexOf (DurationFieldType type)

Gets the index of the field in this period.

Parameters
type the type to check, may be null which returns -1
Returns
  • the index of -1 if not supported

public boolean isSupported (DurationFieldType type)

Checks whether the field specified is supported by this period.

Parameters
type the type to check, may be null which returns false
Returns
  • true if the field is supported

public static PeriodType millis ()

Gets a type that defines just the millis field.

Returns
  • the period type

public static PeriodType minutes ()

Gets a type that defines just the minutes field.

Returns
  • the period type

public static PeriodType months ()

Gets a type that defines just the months field.

Returns
  • the period type

public static PeriodType seconds ()

Gets a type that defines just the seconds field.

Returns
  • the period type

public int size ()

Gets the number of fields in the period type.

Returns
  • the number of fields

public static PeriodType standard ()

Gets a type that defines all standard fields.

  • years
  • months
  • weeks
  • days
  • hours
  • minutes
  • seconds
  • milliseconds

Returns
  • the period type

public static PeriodType time ()

Gets a type that defines all standard time fields.

  • hours
  • minutes
  • seconds
  • milliseconds

Returns
  • the period type

public String toString ()

Gets a debugging to string.

Returns
  • a string

public static PeriodType weeks ()

Gets a type that defines just the weeks field.

Returns
  • the period type

public PeriodType withDaysRemoved ()

Returns a version of this PeriodType instance that does not support days.

Returns
  • a new period type that supports the original set of fields except days

public PeriodType withHoursRemoved ()

Returns a version of this PeriodType instance that does not support hours.

Returns
  • a new period type that supports the original set of fields except hours

public PeriodType withMillisRemoved ()

Returns a version of this PeriodType instance that does not support milliseconds.

Returns
  • a new period type that supports the original set of fields except milliseconds

public PeriodType withMinutesRemoved ()

Returns a version of this PeriodType instance that does not support minutes.

Returns
  • a new period type that supports the original set of fields except minutes

public PeriodType withMonthsRemoved ()

Returns a version of this PeriodType instance that does not support months.

Returns
  • a new period type that supports the original set of fields except months

public PeriodType withSecondsRemoved ()

Returns a version of this PeriodType instance that does not support seconds.

Returns
  • a new period type that supports the original set of fields except seconds

public PeriodType withWeeksRemoved ()

Returns a version of this PeriodType instance that does not support weeks.

Returns
  • a new period type that supports the original set of fields except weeks

public PeriodType withYearsRemoved ()

Returns a version of this PeriodType instance that does not support years.

Returns
  • a new period type that supports the original set of fields except years

public static PeriodType yearDay ()

Gets a type that defines the year and day fields.

  • years
  • days

Returns
  • the period type

public static PeriodType yearDayTime ()

Gets a type that defines all standard fields except months and weeks.

  • years
  • days
  • hours
  • minutes
  • seconds
  • milliseconds

Returns
  • the period type

public static PeriodType yearMonthDay ()

Gets a type that defines the year, month and day fields.

  • years
  • months
  • days

Returns
  • the period type

public static PeriodType yearMonthDayTime ()

Gets a type that defines all standard fields except weeks.

  • years
  • months
  • days
  • hours
  • minutes
  • seconds
  • milliseconds

Returns
  • the period type

public static PeriodType yearWeekDay ()

Gets a type that defines year, week and day fields.

  • years
  • weeks
  • days

Returns
  • the period type

public static PeriodType yearWeekDayTime ()

Gets a type that defines all standard fields except months.

  • years
  • weeks
  • days
  • hours
  • minutes
  • seconds
  • milliseconds

Returns
  • the period type

public static PeriodType years ()

Gets a type that defines just the years field.

Returns
  • the period type