Crossfire JXClient, Trunk  R20561
KnowledgeItem.java
Go to the documentation of this file.
1 /*
2  * This file is part of JXClient, the Fullscreen Java Crossfire Client.
3  *
4  * JXClient is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License as published by
6  * the Free Software Foundation; either version 2 of the License, or
7  * (at your option) any later version.
8  *
9  * JXClient is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  * GNU General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License
15  * along with JXClient; if not, write to the Free Software
16  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
17  *
18  * Copyright (C) 2005-2008 Yann Chachkoff.
19  * Copyright (C) 2006-2011 Andreas Kirschbaum.
20  */
21 
22 package com.realtime.crossfire.jxclient.knowledge;
23 
25 import org.jetbrains.annotations.NotNull;
26 
31 public class KnowledgeItem {
32 
37  @NotNull
39 
43  private final int knowledgeIndex;
44 
48  @NotNull
49  private final String type;
50 
54  @NotNull
55  private String title = "";
56 
60  private final int faceNum;
61 
69  public KnowledgeItem(final int knowledgeIndex, @NotNull final String type, @NotNull final String title, final int faceNum) {
70  this.knowledgeIndex = knowledgeIndex;
71  this.type = type;
72  this.title = title;
73  this.faceNum = faceNum;
74  }
75 
80  public int getKnowledgeIndex() {
81  return knowledgeIndex;
82  }
83 
88  @NotNull
89  public String getKnowledgeTitle() {
90  return title;
91  }
92 
97  public int getFaceNum() {
98  return faceNum;
99  }
100 
104  @NotNull
105  @Override
106  public String toString() {
107  return "Tag:"+knowledgeIndex+" Type:"+type+" Title:"+title+" Face:"+faceNum;
108  }
109 
114  @NotNull
115  public String getTooltipText() {
116  return title;
117  }
118 
122  private void fireChanged() {
123  for (final KnowledgeItemListener listener : listeners) {
124  listener.knowledgeChanged();
125  }
126  }
127 
132  public void addKnowledgeItemListener(@NotNull final KnowledgeItemListener listener) {
133  listeners.add(listener);
134  }
135 
140  public void removeKnowledgeItemListener(@NotNull final KnowledgeItemListener listener) {
141  listeners.remove(listener);
142  }
143 
148  @NotNull
149  public String getType() {
150  return type;
151  }
152 
153 }
String getTooltipText()
Returns a description for this spell to be used in tooltips.
void removeKnowledgeItemListener(@NotNull final KnowledgeItemListener listener)
Removes a KnowledgeItemListener to be notified of changes.
KnowledgeItem(final int knowledgeIndex, @NotNull final String type, @NotNull final String title, final int faceNum)
Creates a new instance.
String getKnowledgeTitle()
Returns the description.
Interface for listeners interested in KnowledgeItem related events.
void add(@NotNull final T listener)
Adds a listener.
final String type
The knowledge's type.
final EventListenerList2< KnowledgeItemListener > listeners
The KnowledgeListeners to be notified of changes.
final int knowledgeIndex
The knowledge identifier.
void addKnowledgeItemListener(@NotNull final KnowledgeItemListener listener)
Adds a KnowledgeItemListener to be notified of changes.
String getType()
Returns the knowledge&#39;s type.
void remove(@NotNull final T listener)
Removes a listener.