Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  package com.fasterxml.jackson.core.util;
  
  
com.fasterxml.jackson.core.PrettyPrinter implementation that adds no indentation, just implements everything necessary for value output to work as expected, and provide simpler extension points to allow for creating simple custom implementations that add specific decoration or overrides. Since behavior then is very similar to using no pretty printer at all, usually sub-classes are used.

Beyond purely minimal implementation, there is limited amount of configurability which may be useful for actual use: for example, it is possible to redefine separator used between root-level values (default is single space; can be changed to line-feed).

Note: does NOT implement Instantiatable since this is a stateless implementation; that is, a single instance can be shared between threads.

 
 public class MinimalPrettyPrinter
     implements PrettyPrinterjava.io.Serializable
 {
     private static final long serialVersionUID = -562765100295218442L;

    
Default String used for separating root values is single space.
 
     public final static String DEFAULT_ROOT_VALUE_SEPARATOR = " ";
     
 
     /*
     /**********************************************************
     /* Life-cycle, construction, configuration
     /**********************************************************
      */
     
     public MinimalPrettyPrinter() {
         this();
     }
 
     public MinimalPrettyPrinter(String rootValueSeparator) {
          = rootValueSeparator;
     }
     
     public void setRootValueSeparator(String sep) {
          = sep;
     }
     
     /*
     /**********************************************************
     /* PrettyPrinter impl
     /**********************************************************
      */
 
     @Override
     {
         if ( != null) {
             jg.writeRaw();    
         }
     }
     
     @Override
     public void writeStartObject(JsonGenerator jg)
         throws IOExceptionJsonGenerationException
     {
         jg.writeRaw('{');
     }
     
     @Override
     public void beforeObjectEntries(JsonGenerator jg)
         throws IOExceptionJsonGenerationException
     {
         // nothing special, since no indentation is added
     }

    
Method called after an object field has been output, but before the value is output.

Default handling will just output a single colon to separate the two, without additional spaces.

 
     @Override
     public void writeObjectFieldValueSeparator(JsonGenerator jg)
         throws IOExceptionJsonGenerationException
     {
         jg.writeRaw(':');
     }
    
    
Method called after an object entry (field:value) has been completely output, and before another value is to be output.

Default handling (without pretty-printing) will output a single comma to separate the two.

    @Override
    public void writeObjectEntrySeparator(JsonGenerator jg)
        throws IOExceptionJsonGenerationException
    {
        jg.writeRaw(',');
    }
    @Override
    public void writeEndObject(JsonGenerator jgint nrOfEntries)
        throws IOExceptionJsonGenerationException
    {
        jg.writeRaw('}');
    }
    
    @Override
    public void writeStartArray(JsonGenerator jg)
        throws IOExceptionJsonGenerationException
    {
        jg.writeRaw('[');
    }
    
    @Override
    public void beforeArrayValues(JsonGenerator jg)
        throws IOExceptionJsonGenerationException
    {
        // nothing special, since no indentation is added
    }

    
Method called after an array value has been completely output, and before another value is to be output.

Default handling (without pretty-printing) will output a single comma to separate values.

    @Override
    public void writeArrayValueSeparator(JsonGenerator jg)
        throws IOExceptionJsonGenerationException
    {
        jg.writeRaw(',');
    }
    
    @Override
    public void writeEndArray(JsonGenerator jgint nrOfValues)
        throws IOExceptionJsonGenerationException
    {
        jg.writeRaw(']');
    }
New to GrepCode? Check out our FAQ X