Update of /var/cvs/src/org/mmbase/datatypes
In directory james.mmbase.org:/tmp/cvs-serv11162
Modified Files:
BasicDataType.java
Log Message:
Made sure that name and description are also not any more modifyable if the
datatype is 'finished'
See also: http://cvs.mmbase.org/viewcvs/src/org/mmbase/datatypes
Index: BasicDataType.java
===================================================================
RCS file: /var/cvs/src/org/mmbase/datatypes/BasicDataType.java,v
retrieving revision 1.107
retrieving revision 1.108
diff -u -b -r1.107 -r1.108
--- BasicDataType.java 27 Apr 2009 12:13:44 -0000 1.107
+++ BasicDataType.java 27 Apr 2009 17:19:20 -0000 1.108
@@ -40,7 +40,7 @@
* @author Pierre van Rooden
* @author Michiel Meeuwissen
* @since MMBase-1.8
- * @version $Id: BasicDataType.java,v 1.107 2009/04/27 12:13:44 michiel Exp $
+ * @version $Id: BasicDataType.java,v 1.108 2009/04/27 17:19:20 michiel Exp $
*/
public class BasicDataType<C> extends AbstractDescriptor implements
DataType<C>, Comparable<DataType<C>>, Descriptor {
@@ -72,7 +72,7 @@
private Processor[] getProcessors;
private Processor[] setProcessors;
- private Map<String, Handler> handlers = new ConcurrentHashMap<String,
Handler>();
+ private Map<String, Handler<?>> handlers = new ConcurrentHashMap<String,
Handler<?>>();
private Element xml = null;
@@ -145,7 +145,7 @@
commitProcessor = (CommitProcessor) in.readObject();
getProcessors = (Processor[]) in.readObject();
setProcessors = (Processor[]) in.readObject();
- handlers = (Map<String, Handler>) in.readObject();
+ handlers = (Map<String, Handler<?>>) in.readObject();
//restrictions = (Collection<Restriction<?>>) in.readObject();
//unmodifiableRestrictions =
Collections.unmodifiableCollection(restrictions);
}
@@ -480,10 +480,12 @@
* {...@inheritdoc}
*/
public void finish(Object owner) {
- this.owner = owner;
if (! isFinished()) {
handlers = Collections.unmodifiableMap(handlers);
+ description = new ReadonlyLocalizedString(description);
+ guiName = new ReadonlyLocalizedString(guiName);
}
+ this.owner = owner;
}
/**
@@ -494,7 +496,9 @@
if (this.owner != owner) {
throw new IllegalArgumentException("Cannot rewrite this
datatype - specified owner is not correct");
}
- handlers = new ConcurrentHashMap<String, Handler>(handlers);
+ handlers = new ConcurrentHashMap<String, Handler<?>>(handlers);
+ guiName = guiName.clone();
+ description = description.clone();
this.owner = null;
}
return this;
@@ -745,11 +749,11 @@
}
- public Handler getHandler(String mimeType) {
+ public Handler<?> getHandler(String mimeType) {
return handlers.get(mimeType);
}
- public Map<String, Handler> getHandlers() {
+ public Map<String, Handler<?>> getHandlers() {
return handlers;
}
public Collection<Restriction<?>> getRestrictions() {
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs