com.fasterxml.jackson.databind.node.ValueNode Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of ehcache Show documentation
Show all versions of ehcache Show documentation
Ehcache is an open source, standards-based cache used to boost performance,
offload the database and simplify scalability. Ehcache is robust, proven and full-featured and
this has made it the most widely-used Java-based cache.
package com.fasterxml.jackson.databind.node;
import java.io.IOException;
import java.util.List;
import com.fasterxml.jackson.core.*;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.SerializerProvider;
import com.fasterxml.jackson.databind.jsontype.TypeSerializer;
/**
* This intermediate base class is used for all leaf nodes, that is,
* all non-container (array or object) nodes, except for the
* "missing node".
*/
public abstract class ValueNode
extends BaseJsonNode
{
protected ValueNode() { }
@Override
protected JsonNode _at(JsonPointer ptr) {
// will only allow direct matches, but no traversal through
// (base class checks for direct match)
return MissingNode.getInstance();
}
/**
* All current value nodes are immutable, so we can just return
* them as is.
*/
@SuppressWarnings("unchecked")
@Override
public T deepCopy() { return (T) this; }
@Override public abstract JsonToken asToken();
@Override
public void serializeWithType(JsonGenerator jg, SerializerProvider provider,
TypeSerializer typeSer)
throws IOException, JsonProcessingException
{
typeSer.writeTypePrefixForScalar(this, jg);
serialize(jg, provider);
typeSer.writeTypeSuffixForScalar(this, jg);
}
/*
/**********************************************************************
/* Base impls for standard methods
/**********************************************************************
*/
@Override
public String toString() { return asText(); }
/*
**********************************************************************
* Navigation methods
**********************************************************************
*/
@Override
public final JsonNode get(int index)
{
return null;
}
@Override
public final JsonNode path(int index)
{
return MissingNode.getInstance();
}
@Override
public final boolean has(int index)
{
return false;
}
@Override
public final boolean hasNonNull(int index)
{
return false;
}
@Override
public final JsonNode get(String fieldName)
{
return null;
}
@Override
public final JsonNode path(String fieldName)
{
return MissingNode.getInstance();
}
@Override
public final boolean has(String fieldName)
{
return false;
}
@Override
public final boolean hasNonNull(String fieldName)
{
return false;
}
/*
**********************************************************************
* Find methods: all "leaf" nodes return the same for these
**********************************************************************
*/
@Override
public final JsonNode findValue(String fieldName)
{
return null;
}
// note: co-variant return type
@Override
public final ObjectNode findParent(String fieldName)
{
return null;
}
@Override
public final List findValues(String fieldName, List foundSoFar)
{
return foundSoFar;
}
@Override
public final List findValuesAsText(String fieldName, List foundSoFar)
{
return foundSoFar;
}
@Override
public final List findParents(String fieldName, List foundSoFar)
{
return foundSoFar;
}
}