Package cc.plural.jsonij.marshal

Source Code of cc.plural.jsonij.marshal.JSONMarshaler

/**
* Copyright (C) 2010-2011 J.W.Marsden
*
* 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.
*
*/
package cc.plural.jsonij.marshal;

import cc.plural.jsonij.JSON;
import cc.plural.jsonij.Value;
import cc.plural.jsonij.marshal.codec.JSONValueCodec;
import cc.plural.jsonij.marshal.codec.JSONValueCodecStore;
import cc.plural.jsonij.parser.ParserException;
import java.io.IOException;
import java.io.InputStream;

/**
*
* @author jmarsden@plural.cc
*/
public class JSONMarshaler {

    protected static final JavaMarshaler JAVA_MARSHALLER;
    protected static final JSONDocumentMarshaler JSON_DOCUMENT_MARSHALER;
    public static boolean ALWAYS_SPECIFY_CLASS;
    public static String CLASS_PROPERTY;
    public static boolean ALWAYS_USE_INNER_PROPERTY;
    public static String INNER_ARRAY_PROPERTY;
    public static String INNER_OBJECT_PROPERTY;
    static JSONValueCodecStore CODEC_STORE;
    static int CYCLE_LEVELS;

    static {
        JAVA_MARSHALLER = new JavaMarshaler();
        JSON_DOCUMENT_MARSHALER = new JSONDocumentMarshaler();
        ALWAYS_SPECIFY_CLASS = false;
        CLASS_PROPERTY = "$class";
        ALWAYS_USE_INNER_PROPERTY = false;
        INNER_ARRAY_PROPERTY = "$innerArray";
        INNER_OBJECT_PROPERTY = "$innerObject";
        CODEC_STORE = null;
        CYCLE_LEVELS = 0;
    }

    public static JSON marshalObject(Object o) throws JSONMarshalerException {
        Value mashaledObject = JAVA_MARSHALLER.marshalObject(o);
        return new JSON(mashaledObject);
    }

    public static JSON marshalObject(boolean[] a) {
        Value marshaledArray = JAVA_MARSHALLER.marshalObject(a);
        return new JSON(marshaledArray);
    }

    public static JSON marshalObject(Boolean[] a) {
        Value marshaledArray = JAVA_MARSHALLER.marshalObject(a);
        return new JSON(marshaledArray);
    }

    public static JSON marshalObject(int[] a) {
        Value marshaledArray = JAVA_MARSHALLER.marshalObject(a);
        return new JSON(marshaledArray);
    }

    public static JSON marshalObject(Integer[] a) {
        Value marshaledArray = JAVA_MARSHALLER.marshalObject(a);
        return new JSON(marshaledArray);
    }

    public static JSON marshalObject(char[] a) {
        Value marshaledArray = JAVA_MARSHALLER.marshalObject(a);
        return new JSON(marshaledArray);
    }

    public static JSON marshalObject(Character[] a) {
        Value marshaledArray = JAVA_MARSHALLER.marshalObject(a);
        return new JSON(marshaledArray);
    }

    public static JSON marshalObject(double[] a) {
        Value marshaledArray = JAVA_MARSHALLER.marshalObject(a);
        return new JSON(marshaledArray);
    }

    public static JSON marshalObject(Double[] a) {
        Value marshaledArray = JAVA_MARSHALLER.marshalObject(a);
        return new JSON(marshaledArray);
    }

    public static JSON marshalObject(float[] a) {
        Value marshaledArray = JAVA_MARSHALLER.marshalObject(a);
        return new JSON(marshaledArray);
    }

    public static JSON marshalObject(Float[] a) {
        Value marshaledArray = JAVA_MARSHALLER.marshalObject(a);
        return new JSON(marshaledArray);
    }

    public static JSON marshalObject(short[] a) {
        Value marshaledArray = JAVA_MARSHALLER.marshalObject(a);
        return new JSON(marshaledArray);
    }

    public static JSON marshalObject(Short[] a) {
        Value marshaledArray = JAVA_MARSHALLER.marshalObject(a);
        return new JSON(marshaledArray);
    }

    public static JSON marshalObject(long[] a) {
        Value marshaledArray = JAVA_MARSHALLER.marshalObject(a);
        return new JSON(marshaledArray);
    }

    public static JSON marshalObject(Long[] a) {
        Value marshaledArray = JAVA_MARSHALLER.marshalObject(a);
        return new JSON(marshaledArray);
    }

    public static JSON marshalObject(String[] a) {
        Value marshaledArray = JAVA_MARSHALLER.marshalObject(a);
        return new JSON(marshaledArray);
    }

    public static JSON marshalObject(Object[] a) throws JSONMarshalerException {
        Value marshaledArray = JAVA_MARSHALLER.marshalObject(a);
        return new JSON(marshaledArray);
    }

    public static Value marshalObjectToValue(Object o) throws JSONMarshalerException {
        Value marshaledObject = JAVA_MARSHALLER.marshalObject(o);
        return marshaledObject;
    }

    public static Value marshalObjectToValue(boolean[] a) {
        Value marshaledArray = JAVA_MARSHALLER.marshalObject(a);
        return marshaledArray;
    }

    public static Value marshalObjectToValue(Boolean[] a) {
        Value marshaledArray = JAVA_MARSHALLER.marshalObject(a);
        return marshaledArray;
    }

    public static Value marshalObjectToValue(int[] a) {
        Value marshaledArray = JAVA_MARSHALLER.marshalObject(a);
        return marshaledArray;
    }

    public static Value marshalObjectToValue(Integer[] a) {
        Value marshaledArray = JAVA_MARSHALLER.marshalObject(a);
        return marshaledArray;
    }

    public static Value marshalObjectToValue(char[] a) {
        Value marshaledArray = JAVA_MARSHALLER.marshalObject(a);
        return marshaledArray;
    }

    public static Value marshalObjectToValue(Character[] a) {
        Value marshaledArray = JAVA_MARSHALLER.marshalObject(a);
        return marshaledArray;
    }

    public static Value marshalObjectToValue(double[] a) {
        Value marshaledArray = JAVA_MARSHALLER.marshalObject(a);
        return marshaledArray;
    }

    public static Value marshalObjectToValue(Double[] a) {
        Value marshaledArray = JAVA_MARSHALLER.marshalObject(a);
        return marshaledArray;
    }

    public static Value marshalObjectToValue(float[] a) {
        Value marshaledArray = JAVA_MARSHALLER.marshalObject(a);
        return marshaledArray;
    }

    public static Value marshalObjectToValue(Float[] a) {
        Value marshaledArray = JAVA_MARSHALLER.marshalObject(a);
        return marshaledArray;
    }

    public static Value marshalObjectToValue(short[] a) {
        Value marshaledArray = JAVA_MARSHALLER.marshalObject(a);
        return marshaledArray;
    }

    public static Value marshalObjectToValue(Short[] a) {
        Value marshaledArray = JAVA_MARSHALLER.marshalObject(a);
        return marshaledArray;
    }

    public static Value marshalObjectToValue(long[] a) {
        Value marshaledArray = JAVA_MARSHALLER.marshalObject(a);
        return marshaledArray;
    }

    public static Value marshalObjectToValue(Long[] a) {
        Value marshaledArray = JAVA_MARSHALLER.marshalObject(a);
        return marshaledArray;
    }

    public static Value marshalObjectToValue(String[] a) {
        Value marshaledArray = JAVA_MARSHALLER.marshalObject(a);
        return marshaledArray;
    }

    public static Value marshalObjectToValue(Object[] a) throws JSONMarshalerException {
        Value marshaledArray = JAVA_MARSHALLER.marshalObject(a);
        return marshaledArray;
    }

    public static Object marshalJSON(String json, Class<?> c) throws JSONMarshalerException, IOException, ParserException {
        Object marshaledObject = JSON_DOCUMENT_MARSHALER.marshalJSONDocument(JSON.parse(json), c);
        return marshaledObject;
    }

    public static Object marshalJSON(JSON json, Class<?> c) throws JSONMarshalerException {
        Object marshaledObject = JSON_DOCUMENT_MARSHALER.marshalJSONDocument(json, c);
        return marshaledObject;
    }

    public static Object marshalJSON(Value value, Class<?> c) throws JSONMarshalerException {
        Object marshaledObject = JSON_DOCUMENT_MARSHALER.marshalJSONDocument(value, c);
        return marshaledObject;
    }

    public static Object marshalJSON(InputStream stream, Class<?> c) throws JSONMarshalerException {
        Object marshaledObject = JSON_DOCUMENT_MARSHALER.marshalJSONDocument(stream, c);
        return marshaledObject;
    }

    public static void resetCodecStore() {
        if (CODEC_STORE != null) {
            CODEC_STORE = null;
        }
    }

    public static boolean hasCodec(Class<?> codecType) {
        if (CODEC_STORE == null) {
            return false;
        } else {
            return CODEC_STORE.hasCodec(codecType);
        }
    }

    public static void registerCodec(Class<?> type, Class<? extends JSONValueCodec> codec) {
        if (CODEC_STORE == null) {
            CODEC_STORE = new JSONValueCodecStore();
        }
        CODEC_STORE.registerCodec(type, codec);
    }

    public static JSONValueCodecStore.JSONValueCodecHelper getCodecHelper(Class<?> type) {
        if (CODEC_STORE == null) {
            return null;
        } else {
            return CODEC_STORE.getCodecHelper(type);
        }
    }

    public static Class<? extends JSONValueCodec> getCodec(Class<?> type) {
        if (CODEC_STORE == null) {
            return null;
        } else {
            return CODEC_STORE.getCodec(type);
        }
    }

    public static int getCycleLevels() {
        return CYCLE_LEVELS;
    }

    public static void setCycleLevels(int levels) {
        CYCLE_LEVELS = levels;
    }
}
TOP

Related Classes of cc.plural.jsonij.marshal.JSONMarshaler

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.