Author: michiel
Date: 2010-05-16 19:06:29 +0200 (Sun, 16 May 2010)
New Revision: 42168

Modified:
   mmbase/trunk/utils/src/main/java/org/mmbase/util/transformers/Identifier.java
Log:
small property for white space

Modified: 
mmbase/trunk/utils/src/main/java/org/mmbase/util/transformers/Identifier.java
===================================================================
--- 
mmbase/trunk/utils/src/main/java/org/mmbase/util/transformers/Identifier.java   
    2010-05-16 17:06:01 UTC (rev 42167)
+++ 
mmbase/trunk/utils/src/main/java/org/mmbase/util/transformers/Identifier.java   
    2010-05-16 17:06:29 UTC (rev 42168)
@@ -17,6 +17,7 @@
 /**
  * Transforms strings to identifiers, replacing punctuation and whitespace with
  * underscores.
+ * Optionally, white space can be replaced by something else (e.g. a hyphen).
  *
  * @author Pierre van Rooden
  * @since MMBase-1.7
@@ -27,6 +28,21 @@
     private static final long serialVersionUID = 0L;
     private static Logger log = Logging.getLoggerInstance(Identifier.class);
 
+    private String whitespace = "_";
+    /**
+     * @since MMBase-1.9.4
+     */
+    public void setWhitespaceReplacer(String ws) {
+        whitespace = ws;
+    }
+
+    /**
+     * @since MMBase-1.9.4
+     */
+    public String getWhitespaceReplacer() {
+        return whitespace;
+    }
+
     public Writer transform(Reader r, Writer w) {
         try {
             log.debug("Starting identifier");
@@ -35,6 +51,8 @@
                 if (c == -1) break;
                 if (Character.isLetterOrDigit((char)c)) {
                     w.write((char)c);
+                } if (Character.isWhitespace((char) c))  {
+                    w.write(whitespace);
                 } else {
                     w.write('_');
                 }

_______________________________________________
Cvs mailing list
Cvs@lists.mmbase.org
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to