Implemented [Issue#26], ability to change root-value separator; usually to change it to linefeed (from single space)
diff --git a/src/main/java/com/fasterxml/jackson/core/JsonFactory.java b/src/main/java/com/fasterxml/jackson/core/JsonFactory.java
index 6a6ffbc..3a76f35 100644
--- a/src/main/java/com/fasterxml/jackson/core/JsonFactory.java
+++ b/src/main/java/com/fasterxml/jackson/core/JsonFactory.java
@@ -25,6 +25,7 @@
 import com.fasterxml.jackson.core.sym.BytesToNameCanonicalizer;
 import com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer;
 import com.fasterxml.jackson.core.util.BufferRecycler;
+import com.fasterxml.jackson.core.util.DefaultPrettyPrinter;
 
 /**
  * The main factory class of Jackson package, used to configure and
@@ -71,6 +72,8 @@
      */
     protected final static int DEFAULT_GENERATOR_FEATURE_FLAGS = JsonGenerator.Feature.collectDefaults();
 
+    private final static SerializableString DEFAULT_ROOT_VALUE_SEPARATOR = DefaultPrettyPrinter.DEFAULT_ROOT_VALUE_SEPARATOR;
+    
     /**
      * Enumeration that defines all on/off features that can only be
      * changed for {@link JsonFactory}.
@@ -217,6 +220,15 @@
      * additional processing on output during content generation.
      */
     protected OutputDecorator _outputDecorator;
+
+    /**
+     * Separator used between root-level values, if any; null indicates
+     * "do not add separator".
+     * Default separator is a single space character.
+     * 
+     * @since 2.1
+     */
+    protected SerializableString _rootValueSeparator = DEFAULT_ROOT_VALUE_SEPARATOR;
     
     /*
     /**********************************************************
@@ -519,6 +531,27 @@
         _outputDecorator = d;
         return this;
     }
+
+    /**
+     * Method that allows overriding String used for separating root-level
+     * JSON values (default is single space character)
+     * 
+     * @param sep Separator to use, if any; null means that no separator is
+     *   automatically added
+     * 
+     * @since 2.1
+     */
+    public JsonFactory setRootValueSeparator(String sep) {
+        _rootValueSeparator = (sep == null) ? null : new SerializedString(sep);
+        return this;
+    }
+
+    /**
+     * @since 2.1
+     */
+    public String getRootValueSeparator() {
+        return (_rootValueSeparator == null) ? null : _rootValueSeparator.getValue();
+    }
     
     /*
     /**********************************************************
@@ -1234,10 +1267,15 @@
     protected JsonGenerator _createJsonGenerator(Writer out, IOContext ctxt)
         throws IOException
     {
-        WriterBasedJsonGenerator gen = new WriterBasedJsonGenerator(ctxt, _generatorFeatures, _objectCodec, out);
+        WriterBasedJsonGenerator gen = new WriterBasedJsonGenerator(ctxt,
+                _generatorFeatures, _objectCodec, out);
         if (_characterEscapes != null) {
             gen.setCharacterEscapes(_characterEscapes);
         }
+        SerializableString rootSep = _rootValueSeparator;
+        if (rootSep != DEFAULT_ROOT_VALUE_SEPARATOR) {
+            gen.setRootValueSeparator(rootSep);
+        }
         return gen;
     }
 
@@ -1262,10 +1300,15 @@
     protected JsonGenerator _createUTF8JsonGenerator(OutputStream out, IOContext ctxt)
         throws IOException
     {
-        UTF8JsonGenerator gen = new UTF8JsonGenerator(ctxt, _generatorFeatures, _objectCodec, out);
+        UTF8JsonGenerator gen = new UTF8JsonGenerator(ctxt,
+                _generatorFeatures, _objectCodec, out);
         if (_characterEscapes != null) {
             gen.setCharacterEscapes(_characterEscapes);
         }
+        SerializableString rootSep = _rootValueSeparator;
+        if (rootSep != DEFAULT_ROOT_VALUE_SEPARATOR) {
+            gen.setRootValueSeparator(rootSep);
+        }
         return gen;
     }