/*************************************************************************
 *
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 *
 * Copyright 2000, 2010 Oracle and/or its affiliates.
 *
 * OpenOffice.org - a multi-platform office productivity suite
 *
 * This file is part of OpenOffice.org.
 *
 * OpenOffice.org is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Lesser General Public License version 3
 * only, as published by the Free Software Foundation.
 *
 * OpenOffice.org is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU Lesser General Public License version 3 for more details
 * (a copy is included in the LICENSE file that accompanied this code).
 *
 * You should have received a copy of the GNU Lesser General Public License
 * version 3 along with OpenOffice.org.  If not, see
 * <http://www.openoffice.org/license.html>
 * for a copy of the LGPLv3 License.
 *
 ************************************************************************/

#ifndef __com_sun_star_i18n_XExtendedCalendar_idl__
#define __com_sun_star_i18n_XExtendedCalendar_idl__

#include <com/sun/star/i18n/XCalendar.idl>

//=============================================================================

module com { module sun { module star { module i18n {

//=============================================================================


/**
    This interface provides access to locale specific calendar
    systems.

    <p> It is derived from
    <type scope="::com::sun::star::i18n">XCalendar</type> and provides
    additional functionality to display parts of the date currently
    set at the calendar. </p>

     @since OOo 1.1.2
 */
published interface XExtendedCalendar : ::com::sun::star::i18n::XCalendar
{
    //-------------------------------------------------------------------------
    /**
        Returns a string (number or name to display) matching the
        given code constant.

        <p> Note that the string returned depends completely on the
        locale's calendar. It is not predictable if the string will be
        numeric or a name, or if in case it retuns a numeric string
        how many digits that will have. For example, a short year
        display string will normally be two digits with a Gregorian
        calendar, but with a Jewish calendar it will have three
        digits. <p/>

        @param nCalendarDisplayCode
            One of <type>CalendarDisplayCode</type>

        @param nNativeNumberMode
            One of <type>NativeNumberMode</type>. <br/>
            This argument designates the basic transliteration mode as
            if specified for the year representation. However, depending
            on the locale, different conversions for year and month, for
            example, may be chosen internally. This is beyond the user's
            control and depends on locale specific conventions of how a
            date is assembled.
     */
    string  getDisplayString( [in] long nCalendarDisplayCode, [in] short nNativeNumberMode );

};

//=============================================================================
}; }; }; };

#endif
