| /************************************************************** |
| * |
| * Licensed to the Apache Software Foundation (ASF) under one |
| * or more contributor license agreements. See the NOTICE file |
| * distributed with this work for additional information |
| * regarding copyright ownership. The ASF licenses this file |
| * to you under the Apache License, Version 2.0 (the |
| * "License"); you may not use this file except in compliance |
| * with the License. You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, |
| * software distributed under the License is distributed on an |
| * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| * KIND, either express or implied. See the License for the |
| * specific language governing permissions and limitations |
| * under the 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. |
| |
| */ |
| published 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 |