Example usage for com.fasterxml.jackson.core JsonParser getTextOffset

List of usage examples for com.fasterxml.jackson.core JsonParser getTextOffset

Introduction

In this page you can find the example usage for com.fasterxml.jackson.core JsonParser getTextOffset.

Prototype

public abstract int getTextOffset() throws IOException, JsonParseException;

Source Link

Document

Accessor used with #getTextCharacters , to know offset of the first text content character within buffer.

Usage

From source file:org.oscim.tiling.source.geojson.GeoJsonTileDecoder.java

private final static boolean match(JsonParser jp, char[] fieldName) throws JsonParseException, IOException {

    int length = jp.getTextLength();
    if (length != fieldName.length)
        return false;

    char[] val = jp.getTextCharacters();
    int offset = jp.getTextOffset();

    for (int i = 0; i < length; i++) {
        if (fieldName[i] != val[i + offset])
            return false;
    }/*w  ww.j  a  v a 2s  . com*/

    return true;
}

From source file:org.oscim.tiling.source.geojson.GeoJsonTileDecoder.java

private void parseCoordinate(JsonParser jp) throws JsonParseException, IOException {
    int pos = 0;//from   ww  w.ja v a 2  s  .  co m
    double x = 0, y = 0; //, z = 0;

    for (JsonToken t; (t = jp.nextToken()) != null;) {
        if (t == VALUE_NUMBER_FLOAT || t == VALUE_NUMBER_INT) {

            // avoid String allocation (by getDouble...)
            char[] val = jp.getTextCharacters();
            int offset = jp.getTextOffset();
            int length = jp.getTextLength();
            double c = ArrayUtils.parseNumber(val, offset, offset + length);

            if (pos == 0)
                x = c;
            if (pos == 1)
                y = c;
            //if (pos == 2)
            //z = c;

            pos++;
            continue;
        }

        if (t == END_ARRAY)
            break;
    }

    mMapElement.addPoint((float) ((longitudeToX(x) - mTileX) * mTileScale),
            (float) ((latitudeToY(y) - mTileY) * mTileScale));

}

From source file:org.mongojack.internal.object.BsonObjectGenerator.java

@Override
public void copyCurrentEvent(JsonParser jp) throws IOException {
    JsonToken t = jp.getCurrentToken();/*from  w  ww. ja v  a2 s.c o  m*/
    switch (t) {
    case START_OBJECT:
        writeStartObject();
        break;
    case END_OBJECT:
        writeEndObject();
        break;
    case START_ARRAY:
        writeStartArray();
        break;
    case END_ARRAY:
        writeEndArray();
        break;
    case FIELD_NAME:
        writeFieldName(jp.getCurrentName());
        break;
    case VALUE_STRING:
        if (jp.hasTextCharacters()) {
            writeString(jp.getTextCharacters(), jp.getTextOffset(), jp.getTextLength());
        } else {
            writeString(jp.getText());
        }
        break;
    case VALUE_NUMBER_INT:
        switch (jp.getNumberType()) {
        case INT:
            writeNumber(jp.getIntValue());
            break;
        case BIG_INTEGER:
            writeNumber(jp.getBigIntegerValue());
            break;
        default:
            writeNumber(jp.getLongValue());
        }
        break;
    case VALUE_NUMBER_FLOAT:
        switch (jp.getNumberType()) {
        case BIG_DECIMAL:
            writeNumber(jp.getDecimalValue());
            break;
        case FLOAT:
            writeNumber(jp.getFloatValue());
            break;
        default:
            writeNumber(jp.getDoubleValue());
        }
        break;
    case VALUE_TRUE:
        writeBoolean(true);
        break;
    case VALUE_FALSE:
        writeBoolean(false);
        break;
    case VALUE_NULL:
        writeNull();
        break;
    case VALUE_EMBEDDED_OBJECT:
        writeObject(jp.getEmbeddedObject());
        break;
    }
}

From source file:com.google.openrtb.json.OpenRtbJsonReader.java

protected void readNativeField(JsonParser par, Native.Builder nativ, String fieldName) throws IOException {
    switch (fieldName) {
    case "request":
        if (par.getCurrentToken() == JsonToken.VALUE_STRING) {
            nativ.setRequestNative(factory().newNativeReader().readNativeRequest(
                    new CharArrayReader(par.getTextCharacters(), par.getTextOffset(), par.getTextLength())));
        } else { // Object
            nativ.setRequestNative(factory().newNativeReader().readNativeRequest(par));
        }/*www.  j a va 2 s.  c om*/
        break;
    case "ver":
        nativ.setVer(par.getText());
        break;
    case "api":
        for (startArray(par); endArray(par); par.nextToken()) {
            APIFramework value = APIFramework.valueOf(par.getIntValue());
            if (checkEnum(value)) {
                nativ.addApi(value);
            }
        }
        break;
    case "battr":
        for (startArray(par); endArray(par); par.nextToken()) {
            CreativeAttribute value = CreativeAttribute.valueOf(par.getIntValue());
            if (checkEnum(value)) {
                nativ.addBattr(value);
            }
        }
        break;
    default:
        readOther(nativ, par, fieldName);
    }
}