source: pacpusframework/trunk/3rd/apache-log4cxx/include/log4cxx/helpers/resourcebundle.h@ 3

Last change on this file since 3 was 2, checked in by sgosseli, 12 years ago

Add 3rd party libraries (log4cxx).

File size: 3.6 KB
Line 
1/*
2 * Licensed to the Apache Software Foundation (ASF) under one or more
3 * contributor license agreements. See the NOTICE file distributed with
4 * this work for additional information regarding copyright ownership.
5 * The ASF licenses this file to You under the Apache License, Version 2.0
6 * (the "License"); you may not use this file except in compliance with
7 * the License. You may obtain a copy of the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 */
17
18#ifndef _LOG4CXX_HELPERS_RESOURCE_BUNDLE_H
19#define _LOG4CXX_HELPERS_RESOURCE_BUNDLE_H
20
21#include <log4cxx/helpers/objectimpl.h>
22#include <log4cxx/helpers/objectptr.h>
23
24namespace log4cxx
25{
26 namespace helpers
27 {
28 class Locale;
29
30 class ResourceBundle;
31 LOG4CXX_PTR_DEF(ResourceBundle);
32
33 /**
34 Resource bundles contain locale-specific objects
35 */
36 class LOG4CXX_EXPORT ResourceBundle : public ObjectImpl
37 {
38 public:
39 DECLARE_ABSTRACT_LOG4CXX_OBJECT(ResourceBundle)
40 BEGIN_LOG4CXX_CAST_MAP()
41 LOG4CXX_CAST_ENTRY(ResourceBundle)
42 END_LOG4CXX_CAST_MAP()
43
44 /**
45 Gets a string for the given key from this resource bundle or one of
46 its parents. Calling this method is equivalent to calling
47
48 @param key the key for the desired string
49 @return the string for the given key
50 @throw MissingResourceException - if no object for the given key
51 can be found
52 */
53 virtual LogString getString(const LogString& key) const = 0;
54
55 /**
56 Gets a resource bundle using the specified base name and locale
57
58 @param baseName the base name of the resource bundle, a fully
59 qualified class name or property filename
60 @param locale the locale for which a resource bundle is desired
61 */
62 static ResourceBundlePtr getBundle(const LogString& baseName,
63 const Locale& locale);
64
65 protected:
66 /*
67 Sets the parent bundle of this bundle. The parent bundle is
68 searched by #getString when this bundle does not contain a particular
69 resource.
70
71 Parameters:
72 parent - this bundle's parent bundle.
73 */
74 inline void setParent(const ResourceBundlePtr& parent1)
75 { this->parent = parent1; }
76
77 /**
78 The parent bundle of this bundle.
79
80 The parent bundle is searched by #getString when this bundle does
81 not contain a particular resource.
82 */
83 ResourceBundlePtr parent;
84 }; // class ResourceBundle
85 } // namespace helpers
86} // namespace log4cxx
87
88#endif
89
Note: See TracBrowser for help on using the repository browser.