Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(172)

Unified Diff: source/i18n/unicode/datefmt.h

Issue 845603002: Update ICU to 54.1 step 1 (Closed) Base URL: https://chromium.googlesource.com/chromium/deps/icu.git@master
Patch Set: remove unusued directories Created 5 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « source/i18n/unicode/currunit.h ('k') | source/i18n/unicode/dcfmtsym.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: source/i18n/unicode/datefmt.h
diff --git a/source/i18n/unicode/datefmt.h b/source/i18n/unicode/datefmt.h
index 736701accdc07bb8164893e6aba639990e3850f7..ce967a5db6f669612b167b0c2c1f4d195aef1e3a 100644
--- a/source/i18n/unicode/datefmt.h
+++ b/source/i18n/unicode/datefmt.h
@@ -1,6 +1,6 @@
/*
********************************************************************************
- * Copyright (C) 1997-2013, International Business Machines
+ * Copyright (C) 1997-2014, International Business Machines
* Corporation and others. All Rights Reserved.
********************************************************************************
*
@@ -29,6 +29,7 @@
#include "unicode/format.h"
#include "unicode/locid.h"
#include "unicode/enumset.h"
+#include "unicode/udisplaycontext.h"
/**
* \file
@@ -580,28 +581,61 @@ public:
static const Locale* U_EXPORT2 getAvailableLocales(int32_t& count);
/**
- * Returns true if the encapsulated Calendar object is set for lenient parsing.
+ * Returns whether both date/time parsing in the encapsulated Calendar object and DateFormat whitespace &
+ * numeric processing is lenient.
* @stable ICU 2.0
*/
virtual UBool isLenient(void) const;
/**
- * Specify whether or not date/time parsing is to be lenient. With lenient
- * parsing, the parser may use heuristics to interpret inputs that do not
- * precisely match this object's format. With strict parsing, inputs must
- * match this object's format.
- *
- * Note: This method is specific to the encapsulated Calendar object. DateFormat
- * leniency aspects are controlled by setBooleanAttribute.
+ * Specifies whether date/time parsing is to be lenient. With
+ * lenient parsing, the parser may use heuristics to interpret inputs that
+ * do not precisely match this object's format. Without lenient parsing,
+ * inputs must match this object's format more closely.
+ *
+ * Note: ICU 53 introduced finer grained control of leniency (and added
+ * new control points) making the preferred method a combination of
+ * setCalendarLenient() & setBooleanAttribute() calls.
+ * This method supports prior functionality but may not support all
+ * future leniency control & behavior of DateFormat. For control of pre 53 leniency,
+ * Calendar and DateFormat whitespace & numeric tolerance, this method is safe to
+ * use. However, mixing leniency control via this method and modification of the
+ * newer attributes via setBooleanAttribute() may produce undesirable
+ * results.
*
* @param lenient True specifies date/time interpretation to be lenient.
* @see Calendar::setLenient
- * @stable ICU 2.0
+ * @stable ICU 2.0
*/
virtual void setLenient(UBool lenient);
+
+ /* Cannot use #ifndef U_HIDE_DRAFT_API for the following draft method since it is virtual */
+ /**
+ * Returns whether date/time parsing in the encapsulated Calendar object processing is lenient.
+ * @draft ICU 53
+ */
+ virtual UBool isCalendarLenient(void) const;
+
+
+ /* Cannot use #ifndef U_HIDE_DRAFT_API for the following draft method since it is virtual */
+ /**
+ * Specifies whether encapsulated Calendar date/time parsing is to be lenient. With
+ * lenient parsing, the parser may use heuristics to interpret inputs that
+ * do not precisely match this object's format. Without lenient parsing,
+ * inputs must match this object's format more closely.
+ * @param lenient when true, parsing is lenient
+ * @see com.ibm.icu.util.Calendar#setLenient
+ * @draft ICU 53
+ */
+ virtual void setCalendarLenient(UBool lenient);
+
+
/**
* Gets the calendar associated with this date/time formatter.
+ * The calendar is owned by the formatter and must not be modified.
+ * Also, the calendar does not reflect the results of a parse operation.
+ * To parse to a calendar, use {@link #parse(const UnicodeString&, Calendar& cal, ParsePosition&) const parse(const UnicodeString&, Calendar& cal, ParsePosition&)}
* @return the calendar associated with this date/time formatter.
* @stable ICU 2.0
*/
@@ -673,29 +707,56 @@ public:
*/
virtual void setTimeZone(const TimeZone& zone);
+ /* Cannot use #ifndef U_HIDE_DRAFT_API for the following draft method since it is virtual */
+ /**
+ * Set a particular UDisplayContext value in the formatter, such as
+ * UDISPCTX_CAPITALIZATION_FOR_STANDALONE.
+ * @param value The UDisplayContext value to set.
+ * @param status Input/output status. If at entry this indicates a failure
+ * status, the function will do nothing; otherwise this will be
+ * updated with any new status from the function.
+ * @draft ICU 53
+ */
+ virtual void setContext(UDisplayContext value, UErrorCode& status);
+
+ /* Cannot use #ifndef U_HIDE_DRAFT_API for the following draft method since it is virtual */
+ /**
+ * Get the formatter's UDisplayContext value for the specified UDisplayContextType,
+ * such as UDISPCTX_TYPE_CAPITALIZATION.
+ * @param type The UDisplayContextType whose value to return
+ * @param status Input/output status. If at entry this indicates a failure
+ * status, the function will do nothing; otherwise this will be
+ * updated with any new status from the function.
+ * @return The UDisplayContextValue for the specified type.
+ * @draft ICU 53
+ */
+ virtual UDisplayContext getContext(UDisplayContextType type, UErrorCode& status) const;
+
+ /* Cannot use #ifndef U_HIDE_DRAFT_API for the following draft method since it is virtual */
/**
- * Set an boolean attribute on this DateFormat.
+ * Sets an boolean attribute on this DateFormat.
* May return U_UNSUPPORTED_ERROR if this instance does not support
* the specified attribute.
* @param attr the attribute to set
* @param newvalue new value
* @param status the error type
* @return *this - for chaining (example: format.setAttribute(...).setAttribute(...) )
- * @internal ICU technology preview
+ * @draft ICU 53
*/
virtual DateFormat& U_EXPORT2 setBooleanAttribute(UDateFormatBooleanAttribute attr,
UBool newvalue,
UErrorCode &status);
+ /* Cannot use #ifndef U_HIDE_DRAFT_API for the following draft method since it is virtual */
/**
- * Get an boolean from this DateFormat
+ * Returns a boolean from this DateFormat
* May return U_UNSUPPORTED_ERROR if this instance does not support
* the specified attribute.
* @param attr the attribute to set
* @param status the error type
* @return the attribute value. Undefined if there is an error.
- * @internal ICU technology preview
+ * @draft ICU 53
*/
virtual UBool U_EXPORT2 getBooleanAttribute(UDateFormatBooleanAttribute attr, UErrorCode &status) const;
@@ -755,6 +816,8 @@ private:
EnumSet<UDateFormatBooleanAttribute, 0, UDAT_BOOLEAN_ATTRIBUTE_COUNT> fBoolFlags;
+ UDisplayContext fCapitalizationContext;
+
public:
#ifndef U_HIDE_OBSOLETE_API
/**
« no previous file with comments | « source/i18n/unicode/currunit.h ('k') | source/i18n/unicode/dcfmtsym.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698