eu.mondo.driver.mongo.util.StatementSerializer.java Source code

Java tutorial

Introduction

Here is the source code for eu.mondo.driver.mongo.util.StatementSerializer.java

Source

/*******************************************************************************
 * Copyright (c) 2010-2014, Daniel Stein, Istvan Rath and Daniel Varro
 * 
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v10.html
 *
 * Contributors:
 *   Daniel Stein - implementation for Mongo
 *******************************************************************************/

package eu.mondo.driver.mongo.util;

import java.io.IOException;

import org.openrdf.model.Statement;

import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.JsonSerializer;
import com.fasterxml.jackson.databind.SerializerProvider;
import com.fasterxml.jackson.databind.jsontype.TypeSerializer;

/**
 * 
 * @author Dniel Stein
 *
 */
public class StatementSerializer extends JsonSerializer<Statement> {

    @Override
    public void serializeWithType(Statement statement, JsonGenerator generator, SerializerProvider provider,
            TypeSerializer serializer) throws IOException, JsonProcessingException {
        serializer.writeTypePrefixForScalar(statement, generator);
        serialize(statement, generator, provider);
        serializer.writeTypeSuffixForScalar(statement, generator);
    }

    @Override
    public void serialize(Statement st, JsonGenerator generator, SerializerProvider provider)
            throws IOException, JsonProcessingException {

        generator.writeStartObject();
        generator.writeStringField("subject", st.getSubject().toString());
        generator.writeStringField("predicate", st.getPredicate().toString());
        generator.writeStringField("object", st.getObject().toString());
        generator.writeStringField("subjectBI", "");
        generator.writeStringField("predicateBI", "");
        generator.writeStringField("objectBI", "");
        generator.writeEndObject();

        generator.close();

    }

}