1   package ch.ige.edossier.transfer.client;
2   
3   /**
4    * B32.03 - eDossier-Interceptions - Diplomarbeit an der Software-Schule Schweiz<br>
5    * Darstellungsobjekt für einen Combobox-Eintrag. Wird angewendet, sofern der ComboBox-Eintrag aus zwei Werten
6    * zusammengesetzt wird und die Werte einzeln angesprochen werden können müssen.
7    * <p>
8    * Copyright (c) 2004, Eidgenössisches Institut für Geistiges Eigentum
9    * @author    Anita Rueegsegger, Marc Bouquet
10   * @version   $Id: ComboBoxObject.java,v 1.3 2004/10/27 22:00:13 ruegsegger Exp $
11   */
12  public class ComboBoxObject extends Object
13  {
14    public String key = null;
15    public String value = null;
16    public String tooltip = null;
17  
18    public ComboBoxObject()
19    {
20    }
21  
22    /**
23     * Konstruktor
24     * @param key     Schlüsselwert
25     * @param value   Definiton
26     */
27    public ComboBoxObject( String key, String value )
28    {
29      this( key, value, null );
30    }
31  
32    /**
33     * Konstruktor
34     * @param key     Schlüsselwert
35     * @param value   Definiton
36     */
37    public ComboBoxObject( String key, String value, String tooltip )
38    {
39      this.key = key;
40      this.value = value;
41      this.tooltip = tooltip;
42    }
43  
44    /**
45     * Gibt die Werte der Variablen key und value mit Komma abgetrennt zurück
46     * @return gibt die Werte der Variablen key und value kommagetrennt zurück
47     */
48    public String toString()
49    {
50      if( key == null || key.equals( "" ) )
51      {
52        if( value == null || value.equals( "" ) )
53        {
54          return "";
55        }
56        else
57        {
58          return value;
59        }
60      }
61      else if( value == null || value.equals( "" ) )
62      {
63        return key;
64      }
65      else
66      {
67        return key + ", " + value;
68      }
69    }
70  
71    /**
72     * Vergleicht den Inhalt der Instanzvariablen beider Objekte miteinander
73     * @param object Objekt das auf Gleichheit mit diesem Objekt überprüft werden soll
74     * @return true sofern Werte der Instazvariablen des übergebene Objekt mit diesem übereinstimmen
75     */
76    public boolean equals( Object object )
77    {
78      boolean equals = false;
79  
80      if( object instanceof ComboBoxObject )
81      {
82        ComboBoxObject combo = ( ComboBoxObject )object;
83  
84        if( key != null )
85        {
86          if( value != null )
87          {
88            equals = key.equals( combo.key ) && value.equals( combo.value );
89          }
90          else
91          {
92            equals = key.equals( combo.key ) && value == combo.value;
93          }
94        }
95        else
96        {
97          if( value != null )
98          {
99            equals = key == combo.key && value.equals( combo.value );
100         }
101         else
102         {
103           equals = key == combo.key && value == combo.value;
104         }
105       }
106     }
107     return equals;
108   }
109 }
110