]> git.somenet.org - irc/pjirc-ng.git/blob - src/main/java/irc/ParameterMixer.java
Pjirc 2.2.1 as available on the net, reformatted and made it compile.
[irc/pjirc-ng.git] / src / main / java / irc / ParameterMixer.java
1 /*****************************************************/\r
2 /*          This java file is a part of the          */\r
3 /*                                                   */\r
4 /*           -  Plouf's Java IRC Client  -           */\r
5 /*                                                   */\r
6 /*   Copyright (C)  2002 - 2004 Philippe Detournay   */\r
7 /*                                                   */\r
8 /*         All contacts : theplouf@yahoo.com         */\r
9 /*                                                   */\r
10 /*  PJIRC is free software; you can redistribute     */\r
11 /*  it and/or modify it under the terms of the GNU   */\r
12 /*  General Public License as published by the       */\r
13 /*  Free Software Foundation; version 2 or later of  */\r
14 /*  the License.                                     */\r
15 /*                                                   */\r
16 /*  PJIRC is distributed in the hope that it will    */\r
17 /*  be useful, but WITHOUT ANY WARRANTY; without     */\r
18 /*  even the implied warranty of MERCHANTABILITY or  */\r
19 /*  FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   */\r
20 /*  General Public License for more details.         */\r
21 /*                                                   */\r
22 /*  You should have received a copy of the GNU       */\r
23 /*  General Public License along with PJIRC; if      */\r
24 /*  not, write to the Free Software Foundation,      */\r
25 /*  Inc., 59 Temple Place, Suite 330, Boston,        */\r
26 /*  MA  02111-1307  USA                              */\r
27 /*                                                   */\r
28 /*****************************************************/\r
29 \r
30 package irc;\r
31 \r
32 /**\r
33  * The parameter mixer, designed to mix parameters from several other parameter\r
34  * providers.\r
35  */\r
36 public class ParameterMixer implements ParameterProvider {\r
37         private ParameterProvider _p1;\r
38         private ParameterProvider _p2;\r
39 \r
40         /**\r
41          * Creates a new parameter mixer, combining parameters from the two given\r
42          * parameter providers. If a parameter is defined in both providers, the first\r
43          * one will have priority.\r
44          * \r
45          * @param p1\r
46          *          the first parameter provider.\r
47          * @param p2\r
48          *          the second parameter provider.\r
49          */\r
50         public ParameterMixer(ParameterProvider p1, ParameterProvider p2) {\r
51                 _p1 = p1;\r
52                 _p2 = p2;\r
53         }\r
54 \r
55         @Override\r
56         public String getParameter(String name) {\r
57                 String ans = _p1.getParameter(name);\r
58                 if (ans == null)\r
59                         return _p2.getParameter(name);\r
60                 return ans;\r
61         }\r
62 \r
63 }\r