View Javadoc

1   /* This file is part of the project "Hilbert II" - http://www.qedeq.org" target="alexandria_uri">http://www.qedeq.org
2    *
3    * Copyright 2000-2014,  Michael Meyling <mime@qedeq.org>.
4    *
5    * "Hilbert II" is free software; you can redistribute
6    * it and/or modify it under the terms of the GNU General Public
7    * License as published by the Free Software Foundation; either
8    * version 2 of the License, or (at your option) any later version.
9    *
10   * This program is distributed in the hope that it will be useful,
11   * but WITHOUT ANY WARRANTY; without even the implied warranty of
12   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13   * GNU General Public License for more details.
14   */
15  
16  package org.qedeq.kernel.se.dto.module;
17  
18  import org.qedeq.base.utility.EqualsUtility;
19  import org.qedeq.kernel.se.base.module.LatexList;
20  import org.qedeq.kernel.se.base.module.LiteratureItem;
21  
22  
23  /**
24   * Single literature reference.
25   *
26   * @author  Michael Meyling
27   */
28  public class LiteratureItemVo implements LiteratureItem {
29  
30      /** Reference to this object with this label. */
31      private String label;
32  
33      /** Reference description. */
34      private LatexList item;
35  
36      /**
37       * Constructs a new section.
38       */
39      public LiteratureItemVo() {
40          // nothing to do
41      }
42  
43      /**
44       * Set reference label for this literature reference.
45       *
46       * @param   label   Reference to this object with this label.
47       */
48      public final void setLabel(final String label) {
49          this.label = label;
50      }
51  
52      public final String getLabel() {
53          return label;
54      }
55  
56      /**
57       * Set literature reference for this item.
58       *
59       * @param   item   literature reference.
60       */
61      public final void setItem(final LatexListVo item) {
62          this.item = item;
63      }
64  
65      public final LatexList getItem() {
66          return item;
67      }
68  
69      public boolean equals(final Object obj) {
70          if (!(obj instanceof LiteratureItemVo)) {
71              return false;
72          }
73          final LiteratureItemVo other = (LiteratureItemVo) obj;
74          return EqualsUtility.equals(getLabel(), other.getLabel())
75              && EqualsUtility.equals(getItem(), other.getItem());
76      }
77  
78      public int hashCode() {
79          return (getLabel() != null ? getLabel().hashCode() : 0)
80              ^ (getItem() != null ? 3 ^ getItem().hashCode() : 0);
81      }
82  
83      public String toString() {
84          final StringBuffer buffer = new StringBuffer();
85          buffer.append("Item label: " + label + "\n");
86          buffer.append(getItem() + "\n");
87          return buffer.toString();
88      }
89  
90  }