Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance. Project price only 1 $
You can buy this project and download/modify it how often you want.
//Copyright (c) 2006, Adobe Systems Incorporated
//All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. Redistributions in binary form must reproduce the above copyright
// notice, this list of conditions and the following disclaimer in the
// documentation and/or other materials provided with the distribution.
// 3. All advertising materials mentioning features or use of this software
// must display the following acknowledgement:
// This product includes software developed by the Adobe Systems Incorporated.
// 4. Neither the name of the Adobe Systems Incorporated nor the
// names of its contributors may be used to endorse or promote products
// derived from this software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY ADOBE SYSTEMS INCORPORATED ''AS IS'' AND ANY
// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
// DISCLAIMED. IN NO EVENT SHALL ADOBE SYSTEMS INCORPORATED BE LIABLE FOR ANY
// DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
// ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
//
// http://www.adobe.com/devnet/xmp/library/eula-xmp-library-java.html
package com.itextpdf.xmp;
import java.util.Calendar;
import java.util.TimeZone;
/**
* The XMPDateTime-class represents a point in time up to a resolution of nano
* seconds. Dates and time in the serialized XMP are ISO 8601 strings. There are utility functions
* to convert to the ISO format, a Calendar or get the Timezone. The fields of
* XMPDateTime are:
*
*
month - The month in the range 1..12.
*
day - The day of the month in the range 1..31.
*
minute - The minute in the range 0..59.
*
hour - The time zone hour in the range 0..23.
*
minute - The time zone minute in the range 0..59.
*
nanoSecond - The nano seconds within a second. Note: if the XMPDateTime is
* converted into a calendar, the resolution is reduced to milli seconds.
*
timeZone - a TimeZone-object.
*
* DateTime values are occasionally used in cases with only a date or only a time component. A date
* without a time has zeros for all the time fields. A time without a date has zeros for all date
* fields (year, month, and day).
*/
public interface XMPDateTime extends Comparable
{
/** @return Returns the year, can be negative. */
int getYear();
/** @param year Sets the year */
void setYear(int year);
/** @return Returns The month in the range 1..12. */
int getMonth();
/** @param month Sets the month 1..12 */
void setMonth(int month);
/** @return Returns the day of the month in the range 1..31. */
int getDay();
/** @param day Sets the day 1..31 */
void setDay(int day);
/** @return Returns hour - The hour in the range 0..23. */
int getHour();
/** @param hour Sets the hour in the range 0..23. */
void setHour(int hour);
/** @return Returns the minute in the range 0..59. */
int getMinute();
/** @param minute Sets the minute in the range 0..59. */
void setMinute(int minute);
/** @return Returns the second in the range 0..59. */
int getSecond();
/** @param second Sets the second in the range 0..59. */
void setSecond(int second);
/**
* @return Returns milli-, micro- and nano seconds.
* Nanoseconds within a second, often left as zero?
*/
int getNanoSecond();
/**
* @param nanoSecond Sets the milli-, micro- and nano seconds.
* Granularity goes down to milli seconds.
*/
void setNanoSecond(int nanoSecond);
/** @return Returns the time zone. */
TimeZone getTimeZone();
/** @param tz a time zone to set */
void setTimeZone(TimeZone tz);
/**
* This flag is set either by parsing or by setting year, month or day.
* @return Returns true if the XMPDateTime object has a date portion.
*/
boolean hasDate();
/**
* This flag is set either by parsing or by setting hours, minutes, seconds or milliseconds.
* @return Returns true if the XMPDateTime object has a time portion.
*/
boolean hasTime();
/**
* This flag is set either by parsing or by setting hours, minutes, seconds or milliseconds.
* @return Returns true if the XMPDateTime object has a defined timezone.
*/
boolean hasTimeZone();
/**
* @return Returns a Calendar (only with milli second precision).
* Note: the dates before Oct 15th 1585 (which normally fall into validity of
* the Julian calendar) are also rendered internally as Gregorian dates.
*/
Calendar getCalendar();
/**
* @return Returns the ISO 8601 string representation of the date and time.
*/
String getISO8601String();
}