diff options
Diffstat (limited to 'offapi/com/sun/star/resource/XStringResourceManager.idl')
-rw-r--r-- | offapi/com/sun/star/resource/XStringResourceManager.idl | 317 |
1 files changed, 317 insertions, 0 deletions
diff --git a/offapi/com/sun/star/resource/XStringResourceManager.idl b/offapi/com/sun/star/resource/XStringResourceManager.idl new file mode 100644 index 000000000000..140c6e832a59 --- /dev/null +++ b/offapi/com/sun/star/resource/XStringResourceManager.idl @@ -0,0 +1,317 @@ +/************************************************************************* + * + * 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_resource_XStringResourceManager_idl__ +#define __com_sun_star_resource_XStringResourceManager_idl__ + +#ifndef __com_sun_star_resource_MissingResourceException_idl__ +#include <com/sun/star/resource/MissingResourceException.idl> +#endif + +#ifndef __com_sun_star_resource_XStringResourceResolver_idl__ +#include <com/sun/star/resource/XStringResourceResolver.idl> +#endif + +#ifndef __com_sun_star_container_ElementExistException_idl__ +#include <com/sun/star/container/ElementExistException.idl> +#endif + +#ifndef __com_sun_star_lang_Locale_idl__ +#include <com/sun/star/lang/Locale.idl> +#endif + +#ifndef __com_sun_star_lang_IllegalArgumentException_idl__ +#include <com/sun/star/lang/IllegalArgumentException.idl> +#endif + +#ifndef __com_sun_star_lang_NoSupportException_idl__ +#include <com/sun/star/lang/NoSupportException.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module resource { + +//============================================================================= +/** + Interface to manage a resource string table containing a set of + strings for different locales. + + The interface is derived from + <type scope="com::sun::star::resource">XStringResourceResolver</type> + that allows to access the string table but not to modify it. This + interface also allows to modify the string table. + + It's designed to be used in the context of creating a string table, + e.g. from a string table editor or from a Dialog Editor designing + localized dialogs. + +*/ +interface XStringResourceManager: com::sun::star::resource::XStringResourceResolver +{ + /** + Returns the resource's read only state + + @return <TRUE/> if the resource is read only, otherwise <FALSE/> + */ + boolean isReadOnly(); + + + /** Sets the locale to be used + + @param aLocale + Specifies the current locale to be used. + + @param FindClosestMatch + <p>If true: If the exact locale that should be set is not available + the method tries to find the closest match. E.g. if en_US is re- + quired but not available, en would be the next choice. Finally + the default locale will be used <TRUE/>. + + <p>If false: If the exact locale that should be set is not available + a <type scope="com::sun::star::lang">IllegalArgumentException</type> + is thrown. + + <p>If false: If the exact locale that should be set is not available + a <type scope="com::sun::star::lang">IllegalArgumentException</type> + is thrown. + */ + void setCurrentLocale + ( + [in] com::sun::star::lang::Locale locale, + [in] boolean FindClosestMatch + ) + raises( com::sun::star::lang::IllegalArgumentException ); + + + /** Sets the default locale to be used + + @param aLocale + Specifies the default locale to be used. + If this locale is not available a + <type scope="com::sun::star::lang">IllegalArgumentException</type> + is thrown. + + @throws <type scope="com::sun::star::lang">NoSupportException</type> + if the resource is read only, see <member>isReadOnly</member> + */ + void setDefaultLocale( [in] com::sun::star::lang::Locale locale ) + raises( com::sun::star::lang::IllegalArgumentException, + com::sun::star::lang::NoSupportException ); + + + /** + Associates a String to a Resource ID for the current locale. + If an entry for the Resource ID already exists, the string + associated with it will be overwritten, otherwise a new + entry will be created. + + @param ResourceID + ID to address the string inside the resource for the current locale. + + @param Str + String to be associated with the Resource ID. + + @throws <type scope="com::sun::star::lang">NoSupportException</type> + if the resource is read only, see <member>isReadOnly</member> + */ + void setString + ( + [in] string ResourceID, + [in] string Str + ) + raises( com::sun::star::lang::NoSupportException ); + + + /** + Associates a String to a Resource ID for a specific locale. + If an entry for the Resource ID already exists, the string + associated with it will be overwritten, otherwise a new + entry will be created. + + It's not recommended to use this method to get the best + performance as the implementation may be optimized for + the use of the current locale. + + @param ResourceID + ID to address the string inside the resource. + + @param Str + String to be associated with the Resource ID. + + @param locale + The locale the string should be set for. + The locale has to match exactly with one of the locales provided by + <member>getLocales</member>. A closest match search is not supported. + + @throws <type scope="com::sun::star::lang">NoSupportException</type> + if the resource is read only, see <member>isReadOnly</member> + */ + void setStringForLocale + ( + [in] string ResourceID, + [in] string Str, + [in] com::sun::star::lang::Locale locale + ) + raises( com::sun::star::lang::NoSupportException ); + + + /** + Removes a Resource ID including the corresponding string for + the current locale. + + @param ResourceID + The Resource ID to be removed for the current locale. + + @throws + <type scope="com::sun::star::resource">MissingResourceException</type> + if the Resource ID is not valid. + + @throws + <type scope="com::sun::star::lang">NoSupportException</type> + if the resource is read only, see <member>isReadOnly</member> + */ + void removeId( [in] string ResourceID ) + raises( com::sun::star::resource::MissingResourceException, + com::sun::star::lang::NoSupportException ); + + + /** + Removes a Resource ID including the corresponding string for + s specific locale. + + @param ResourceID + The Resource ID to be removed. + + @param locale + The locale the Resource ID should be removed for. + The locale has to match exactly with one of the locales provided by + <member>getLocales</member>. A closest match search is not supported. + + @throws + <type scope="com::sun::star::resource">MissingResourceException</type> + if the Resource ID is not valid. + + @throws + <type scope="com::sun::star::lang">NoSupportException</type> + if the resource is read only, see <member>isReadOnly</member> + */ + void removeIdForLocale( [in] string ResourceID, [in] com::sun::star::lang::Locale locale ) + raises( com::sun::star::resource::MissingResourceException, + com::sun::star::lang::NoSupportException ); + + + /** + Creates a new locale. + + <p>For each existing ResourceID an empty string + will be created. The first locale created will + automatically be the first default locale. + Otherwise strings for all already created IDs + will be copied from the default locale.</p> + + @throws + <type scope="com::sun::star::container">ElementExistException</type> + if the Locale already has been created. + + @throws + <type scope="com::sun::star::lang">IllegalArgumentException</type> + if the Locale is not valid. + + @throws + <type scope="com::sun::star::lang">NoSupportException</type> + if the resource is read only, see <member>isReadOnly</member> + */ + void newLocale( [in] com::sun::star::lang::Locale locale ) + raises( com::sun::star::container::ElementExistException, + com::sun::star::lang::IllegalArgumentException, + com::sun::star::lang::NoSupportException ); + + + /** + Removes a locale completely including the corresponding + strings for each locale. + + @throws + <type scope="com::sun::star::lang">IllegalArgumentException</type> + if the Locale to be removed is not supported. + + @throws + <type scope="com::sun::star::lang">NoSupportException</type> + if the resource is read only, see <member>isReadOnly</member> + */ + void removeLocale( [in] com::sun::star::lang::Locale locale ) + raises( com::sun::star::lang::IllegalArgumentException, + com::sun::star::lang::NoSupportException ); + + + /** + Provides a numeric id that is unique within all Resource IDs + used in the string table. + + This method takes into account all Resource IDs starting with + a decimal number and only evaluates the ID until the first non + digit character is reached. This allows to extend unique IDs + with individual identifiers without breaking the mechanism of + this method. + + Examples: + ID "42" -> numeric id 42 + ID "0foo" -> numeric id 0 + ID "111.MyId.Something.Else" -> numeric id 111 + ID "No Digits" -> not considered for numeric id + + The id returned will be 0 for an empty string table and it will + be reset to 0 if all locales are removed. In all other cases + this method returns the maximum numeric id used so far at the + beginning of a Resource ID incremented by 1. When calling this + method more than once always the same number will be returned + until this number is really used at the beginning of a new + Resource ID passed to <member>setString</member> or + <member>setStringForLocale</member>. + + As the numeric id is guaranteed to be unique for the complete + string table all locales are taken into account. So using this + methods will force the implementation to load all locale data + that may not have been loaded so far. + + @throws + <type scope="com::sun::star::lang">NoSupportException</type> + if the next available id exceeds the range of type long. + So it's not recommended to use own Resource IDs starting + with a decimal number near to the maximum long value if + this methods should be used. + */ + long getUniqueNumericId() + raises( com::sun::star::lang::NoSupportException ); +}; + +//============================================================================= + +}; }; }; }; + +#endif |