Revision 43326 trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.symbology/org.gvsig.symbology.lib/org.gvsig.symbology.lib.impl/src/main/java/org/gvsig/symbology/fmap/mapcontext/rendering/legend/impl/AbstractLegend.java
AbstractLegend.java | ||
---|---|---|
49 | 49 |
* the father of all XXXLegends and will implement all the methods that these |
50 | 50 |
* classes had not developed. |
51 | 51 |
* |
52 |
* @author 2005-2008 jaume dominguez faus - jaume.dominguez@iver.es |
|
53 |
* @author 2008 - pepe vidal salvador - jose.vidal.salvador@iver.es |
|
54 |
* @author 2009- <a href="cordinyana@gvsig.org">C?sar Ordi?ana</a> - gvSIG team |
|
55 | 52 |
*/ |
56 | 53 |
public abstract class AbstractLegend implements ILegend { |
57 | 54 |
|
58 | 55 |
public static final String LEGEND_PERSISTENCE_DEFINITION_NAME = "Legend"; |
59 | 56 |
|
60 |
// private static final String FIELD_LISTENERS = "listeners"; |
|
61 |
// |
|
62 |
// private static final String FIELD_OBSERVABLE = "observable"; |
|
63 |
|
|
64 | 57 |
private static final Logger LOG = |
65 | 58 |
LoggerFactory.getLogger(AbstractLegend.class); |
66 | 59 |
|
67 | 60 |
/** |
68 | 61 |
* List of LegendContentsChangedListener. |
69 | 62 |
*/ |
70 |
private List<LegendContentsChangedListener> listeners = |
|
71 |
new ArrayList<LegendContentsChangedListener>(); |
|
63 |
private final List<LegendContentsChangedListener> listeners = new ArrayList<>(); |
|
72 | 64 |
|
73 |
private BaseWeakReferencingObservable delegateDrawingObservable = |
|
74 |
new BaseWeakReferencingObservable(); |
|
65 |
private final BaseWeakReferencingObservable delegateDrawingObservable = new BaseWeakReferencingObservable(); |
|
75 | 66 |
|
76 |
private MapContextManager manager = MapContextLocator.getMapContextManager(); |
|
67 |
private final MapContextManager manager = MapContextLocator.getMapContextManager();
|
|
77 | 68 |
|
78 | 69 |
public MapContextManager getManager() { |
79 | 70 |
return manager; |
... | ... | |
83 | 74 |
return manager.getSymbolManager(); |
84 | 75 |
} |
85 | 76 |
|
77 |
@Override |
|
86 | 78 |
public void addLegendListener(LegendContentsChangedListener listener) { |
87 |
if (listener != null && !listeners.contains(listener)) |
|
88 |
listeners.add(listener); |
|
79 |
if (listener != null && !listeners.contains(listener)) { |
|
80 |
listeners.add(listener); |
|
81 |
} |
|
89 | 82 |
} |
90 | 83 |
|
84 |
@Override |
|
91 | 85 |
public void removeLegendListener(LegendContentsChangedListener listener) { |
92 | 86 |
listeners.remove(listener); |
93 | 87 |
} |
94 | 88 |
|
89 |
@Override |
|
95 | 90 |
public void fireDefaultSymbolChangedEvent(SymbolLegendEvent event) { |
96 | 91 |
|
97 | 92 |
for (int i = 0; i < listeners.size(); i++) { |
... | ... | |
100 | 95 |
} |
101 | 96 |
} |
102 | 97 |
|
98 |
@Override |
|
103 | 99 |
public LegendContentsChangedListener[] getListeners() { |
104 | 100 |
return (LegendContentsChangedListener[]) listeners |
105 | 101 |
.toArray(new LegendContentsChangedListener[listeners.size()]); |
... | ... | |
161 | 157 |
delegateDrawingObservable.notifyObservers(arg); |
162 | 158 |
} |
163 | 159 |
|
160 |
@Override |
|
164 | 161 |
public ILegend cloneLegend() { |
165 | 162 |
try { |
166 | 163 |
return (ILegend) clone(); |
... | ... | |
170 | 167 |
return null; |
171 | 168 |
} |
172 | 169 |
|
170 |
@Override |
|
173 | 171 |
public Object clone() throws CloneNotSupportedException { |
174 | 172 |
AbstractLegend legendClone = (AbstractLegend) super.clone(); |
175 | 173 |
|
176 | 174 |
return legendClone; |
177 | 175 |
} |
178 | 176 |
|
177 |
@Override |
|
179 | 178 |
public void loadFromState(PersistentState state) |
180 | 179 |
throws PersistenceException { |
181 | 180 |
// Do nothing |
182 | 181 |
} |
183 | 182 |
|
183 |
@Override |
|
184 | 184 |
public void saveToState(PersistentState state) throws PersistenceException { |
185 | 185 |
// Do nothing |
186 | 186 |
} |
187 | 187 |
|
188 | 188 |
public static class RegisterPersistence implements Callable { |
189 | 189 |
|
190 |
@Override |
|
190 | 191 |
public Object call() throws Exception { |
191 | 192 |
PersistenceManager manager = ToolsLocator.getPersistenceManager(); |
192 | 193 |
if( manager.getDefinition(LEGEND_PERSISTENCE_DEFINITION_NAME)==null ) { |
... | ... | |
198 | 199 |
null, |
199 | 200 |
null |
200 | 201 |
); |
201 |
// // Listeners |
|
202 |
// definition.addDynFieldList(FIELD_LISTENERS) |
|
203 |
// .setClassOfItems(LegendContentsChangedListener.class); |
|
204 |
// // Observable |
|
205 |
// definition.addDynFieldObject(FIELD_OBSERVABLE) |
|
206 |
// .setClassOfValue(BaseWeakReferencingObservable.class); |
|
207 | 202 |
} |
208 | 203 |
return Boolean.TRUE; |
209 | 204 |
} |
Also available in: Unified diff