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 Cvs@lists.mmbase.org http://lists.mmbase.org/mailman/listinfo/cvs