summaryrefslogtreecommitdiff
path: root/java/src/IceGridGUI/Application/Editable.java
diff options
context:
space:
mode:
authorBernard Normier <bernard@zeroc.com>2006-05-04 16:15:21 +0000
committerBernard Normier <bernard@zeroc.com>2006-05-04 16:15:21 +0000
commit87ed29e743f1c53e01878259a2c8ba1b352d3933 (patch)
treecf7de9d5ef8ac0362839c6122cad9d5217867e7f /java/src/IceGridGUI/Application/Editable.java
parentFixed typo. (diff)
downloadice-87ed29e743f1c53e01878259a2c8ba1b352d3933.tar.bz2
ice-87ed29e743f1c53e01878259a2c8ba1b352d3933.tar.xz
ice-87ed29e743f1c53e01878259a2c8ba1b352d3933.zip
Better PropertySets support
Diffstat (limited to 'java/src/IceGridGUI/Application/Editable.java')
-rwxr-xr-xjava/src/IceGridGUI/Application/Editable.java35
1 files changed, 29 insertions, 6 deletions
diff --git a/java/src/IceGridGUI/Application/Editable.java b/java/src/IceGridGUI/Application/Editable.java
index 79254f75634..34d81355f6e 100755
--- a/java/src/IceGridGUI/Application/Editable.java
+++ b/java/src/IceGridGUI/Application/Editable.java
@@ -42,14 +42,28 @@ class Editable implements Cloneable
_isNew = true;
}
- void removeElement(String id)
+ void removeElement(String id, Class forClass)
{
- _removedElements.add(id);
+ java.util.TreeSet set = (java.util.TreeSet)_removedElements.get(forClass);
+ if(set == null)
+ {
+ set = new java.util.TreeSet();
+ _removedElements.put(forClass, set);
+ }
+ set.add(id);
}
- String[] removedElements()
+ String[] removedElements(Class forClass)
{
- return (String[])_removedElements.toArray(new String[0]);
+ java.util.TreeSet set = (java.util.TreeSet)_removedElements.get(forClass);
+ if(set == null)
+ {
+ return new String[0];
+ }
+ else
+ {
+ return (String[])set.toArray(new String[0]);
+ }
}
Editable save()
@@ -57,7 +71,15 @@ class Editable implements Cloneable
try
{
Editable result = (Editable)clone();
- result._removedElements = (java.util.TreeSet)result._removedElements.clone();
+ java.util.HashMap removedElements = new java.util.HashMap();
+ java.util.Iterator p = result._removedElements.entrySet().iterator();
+ while(p.hasNext())
+ {
+ java.util.Map.Entry entry = (java.util.Map.Entry)p.next();
+ Object val = ((java.util.TreeSet)entry.getValue()).clone();
+ removedElements.put(entry.getKey(), val);
+ }
+ result._removedElements = removedElements;
return result;
}
catch(CloneNotSupportedException e)
@@ -76,5 +98,6 @@ class Editable implements Cloneable
private boolean _isNew = false;
private boolean _modified = false;
- private java.util.TreeSet _removedElements = new java.util.TreeSet();
+
+ private java.util.HashMap _removedElements = new java.util.HashMap();
}