Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Copyright 2010 CodeGist.org
   *
   *    Licensed under the Apache License, Version 2.0 (the "License");
   *    you may not use this file except in compliance with the License.
   *    You may obtain a copy of the License at
   *
   *        http://www.apache.org/licenses/LICENSE-2.0
   *
  *    Unless required by applicable law or agreed to in writing, software
  *    distributed under the License is distributed on an "AS IS" BASIS,
  *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  *    See the License for the specific language governing permissions and
  *    limitations under the License.
  *
  * ===================================================================
  *
  * More information at http://www.codegist.org.
  */
 
 package org.codegist.common.marshal;
 
 
 import java.io.*;
 import java.util.Map;

Json Marshaller and Unmarshaller based on org.codehaus.jackson.map.ObjectMapper. Requires Jackson lib in the classpath (http://jackson.codehaus.org/).

Author(s):
Laurent Gilles (laurent.gilles@codegist.org)
See also:
org.codehaus.jackson.map.ObjectMapper
 
 public class JacksonMarshaller implements MarshallerUnmarshaller {
 
     private final ObjectMapper jackson;
 
     public JacksonMarshaller() {
     }
 
     public JacksonMarshaller(ObjectMapper jackson) {
         this(jacksonnull);
     }
 
     public JacksonMarshaller(ObjectMapper jacksonMap<StringBooleandeserializationConfig) {
         this. = jackson;
         if (deserializationConfig != null) {
             for (Map.Entry<StringBooleanentry : deserializationConfig.entrySet()) {
                 jackson.configure(DeserializationConfig.Feature.valueOf(entry.getKey()), entry.getValue());
             }
         }
     }
 
 
     public String unmarshall(Object object) {
         Writer w = new StringWriter();
         unmarshall(objectw);
         return w.toString();
     }
 
 
     public void unmarshall(Object objectWriter writer) {
         try {
             .writeValue(writerobject);
         } catch (IOException e) {
             throw new MarshallException(e);
         }
 
     }
 
 
     public Object marshall(String contentthrows MarshallException {
         try {
             return .readValue(contentObject.class);
         } catch (IOException e) {
             throw new MarshallException(e);
         }
     }
 
 
     public Object marshall(InputStream isthrows MarshallException {
         try {
             return .readValue(isObject.class);
         } catch (IOException e) {
             throw new MarshallException(e);
         }
     }
 
 
     public Object marshall(Reader readerthrows MarshallException {
         try {
             return .readValue(readerObject.class);
         } catch (IOException e) {
             throw new MarshallException(e);
         }
    }
    public <T> T marshall(String contentType typethrows MarshallException {
        try {
            return .<T>readValue(content, TypeFactory.type(type));
        } catch (IOException e) {
            throw new MarshallException(e);
        }
    }
    public <T> T marshall(InputStream isType typethrows MarshallException {
        try {
            return .<T>readValue(is, TypeFactory.type(type));
        } catch (IOException e) {
            throw new MarshallException(e);
        }
    }
    public <T> T marshall(Reader readerType typethrows MarshallException {
        try {
            return .<T>readValue(reader, TypeFactory.type(type));
        } catch (IOException e) {
            throw new MarshallException(e);
        }
    }
    public <T> T marshall(String contentClass<T> type) {
        try {
            return .<T>readValue(contenttype);
        } catch (IOException e) {
            throw new MarshallException(e);
        }
    }
    public <T> T marshall(InputStream isClass<T> type) {
        try {
            return .<T>readValue(istype);
        } catch (IOException e) {
            throw new MarshallException(e);
        }
    }
    public <T> T marshall(Reader readerClass<T> type) {
        try {
            return .<T>readValue(readertype);
        } catch (IOException e) {
            throw new MarshallException(e);
        }
    }
    public <T> T marshall(Reader readerTypeReference<T> type) {
        try {
            return .<T>readValue(reader, TypeFactory.type(type.getType()));
        } catch (IOException e) {
            throw new MarshallException(e);
        }
    }
    public <T> T marshall(String contentTypeReference<T> type) {
        try {
            return .<T>readValue(content, TypeFactory.type(type.getType()));
        } catch (IOException e) {
            throw new MarshallException(e);
        }
    }
    public <T> T marshall(InputStream isTypeReference<T> type) {
        try {
            return .<T>readValue(is, TypeFactory.type(type.getType()));
        } catch (IOException e) {
            throw new MarshallException(e);
        }
    }
New to GrepCode? Check out our FAQ X