|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectabk.json.AJsonElement
public abstract class AJsonElement
Las clases que heredan de AJsonElement están pensadas para convertirse en una cadena JSON válida.
El estándar JSON exige que las propiedades se entrecomillen
mediante comillas dobles. Y permite una serie de valores no entrecomillados: null
,
true
, false
.
Más detalles en el RFC-4627.
Field Summary | |
---|---|
(package private) static char |
DOT
'.' |
(package private) static String |
FALSE
"false" |
(package private) static String |
NULL
"null" |
(package private) static char |
SEP
',' |
(package private) static String |
TRUE
"true" |
(package private) static String |
UNDEFINED
"undefined" |
Constructor Summary | |
---|---|
protected |
AJsonElement()
Constructor por defecto, únicamente para las clases descendientes. |
Method Summary | |
---|---|
byte |
byteValue()
Devuelve el valor de un elemento que es de tipo AJsonNumber como byte . |
double |
doubleValue()
Devuelve el valor de un elemento que es de tipo AJsonNumber como double . |
float |
floatValue()
Devuelve el valor de un elemento que es de tipo AJsonNumber como float . |
protected static StringBuilder |
getBasePath(CharSequence owner)
Crea y devuelve un StringBuilder con la ruta base para concatenar los nombres de las propiedades anidadas. |
Boolean |
getBoolean()
Devuelve el valor de un elemento que es una instancia AJsonKeyword.TRUE o AJsonKeyword.FALSE como Boolean. |
protected static AJsonString |
getMapRef(Map<Object,String> map,
Object bean)
Devuelve una cadena que representa la referencia de un bean que ya está en un mapa de objetos procesados. |
Number |
getNumber()
Devuelve el valor de un elemento que es de tipo AJsonNumber como Number. |
String |
getString()
Devuelve el valor de un elemento que es de tipo AJsonString. |
int |
intValue()
Devuelve el valor de un elemento que es de tipo AJsonNumber como int . |
boolean |
isFalse()
Comprueba si el objeto es AJsonKeyword.FALSE. |
protected static boolean |
isMappeable(Class<?> type)
|
boolean |
isNull()
Comprueba si el objeto es AJsonKeyword.NULL. |
boolean |
isTrue()
Comprueba si el objeto es AJsonKeyword.TRUE. |
static AJsonElement |
jsonify(Object obj)
Parsea un objeto para devolver una representación JSON del mismo. |
protected static AJsonElement |
jsonifySimple(Object obj,
Map<Object,String> map,
String owner)
Parsea un objeto simple para devolver una representación JSON del mismo. |
long |
longValue()
Devuelve el valor de un elemento que es de tipo AJsonNumber como long . |
private ClassCastException |
newClassCastException()
|
short |
shortValue()
Devuelve el valor de un elemento que es de tipo AJsonNumber como short . |
protected static void |
stringify(AJsonElement el,
Appendable sb)
Realiza la operación de conversión a String de forma segura frente a elementos null . |
abstract void |
stringify(Appendable ap)
Se invoca para que escriba el objeto en el stream que se le pasa. |
void |
stringify(StringBuilder sb)
Se invoca para añadir la representacion JSON del objeto al StringBuilder que se le pasa. |
String |
toString()
Invoca a stringify(StringBuilder) con una instancia nueva de StringBuilder y devuelve el resultado de la operación como un String. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
static final String NULL
static final String TRUE
static final String FALSE
static final String UNDEFINED
static final char SEP
','
static final char DOT
'.'
Constructor Detail |
---|
protected AJsonElement()
Method Detail |
---|
public void stringify(StringBuilder sb)
sb
- Objeto donde añadir la representación JSON del objeto.
UndeclaredThrowableException
- si se produce algún error.protected static final void stringify(AJsonElement el, Appendable sb) throws IOException
null
.
el
- Elemento JSON a convertir. Si es null
se utiliza "null".sb
- Objeto Appendable al que se añade el elemento.
IOException
- si el sb lanza un error al añadir el texto.public abstract void stringify(Appendable ap) throws IOException
ap
- Objeto sobre el que se escribe el texto.
IOException
- si se produce un error de la capa de transporte.public String toString()
toString
in class Object
public static final AJsonElement jsonify(Object obj)
null
utiliza
AJsonBean.valueOf(Object).
obj
- Objeto a parsear.
IllegalArgumentException
- si obj es de un tipo distinto a los previstos.protected static final AJsonElement jsonifySimple(Object obj, Map<Object,String> map, String owner)
null
se parsea como un literal "null"
, con
AJsonKeyword."true"
o
"false"
.null
.
obj
- Objeto a parsear.map
- Mapa de objetos ya parseados.owner
- Ruta del objeto propietario del objeto.
null
si el
objeto no es sencillo.
IllegalArgumentException
- si el objeto es una instancia de Number no admitida,
conforme a AJsonNumber.valueOf(Number).protected static final AJsonString getMapRef(Map<Object,String> map, Object bean)
map
- Mapa con los objetos Java Bean parseados, dentro del cual estamos buscando una
referencia al bean recibido.bean
- Objeto a buscar en el mapa de objetos pareseados. Si se pasa null
siempre
se obtiene null
de vuelta.
null
si bean no está en el mapa de beans parseados, o en
otro caso, un AJsonString con una cadena como
"#.path.to.ref"
, donde "path.to.ref"
es una representación del
conjunto de propiedades anidadas que hay que recorrer para llegar a la referencia de
bean registrada en el mapa map.protected static final boolean isMappeable(Class<?> type)
protected static final StringBuilder getBasePath(CharSequence owner)
owner
- Nombre de la propiedad base.
"path.to"
devuelve un StringBuilder
que contiene "path.to."
. Si owner es nulo o vacío el contenido del
objeto devuelto es una cadena vacía.public boolean isTrue()
true
si el elemento en esa posición es AJsonKeyword.TRUE, o
false
en otro caso.getBoolean()
public boolean isFalse()
true
si el elemento en esa posición es AJsonKeyword.FALSE, o
false
en otro caso.getBoolean()
public boolean isNull()
true
si el elemento en esa posición es AJsonKeyword.NULL, o
false
en otro caso.private ClassCastException newClassCastException()
public String getString()
ClassCastException
- si el elemento no es un AJsonString.AJsonString.getString()
public Number getNumber()
ClassCastException
- si el elemento no es un AJsonNumber.AJsonNumber.getNumber()
public Boolean getBoolean()
ClassCastException
- si el elemento no es AJsonKeyword.TRUE o
AJsonKeyword.FALSE.isTrue()
,
isFalse()
public int intValue()
int
.
ClassCastException
- si el elemento en esa posición no es un
AJsonNumber.AJsonNumber.getNumber()
public long longValue()
long
.
ClassCastException
- si el elemento en esa posición no es un
AJsonNumber.AJsonNumber.getNumber()
public short shortValue()
short
.
ClassCastException
- si el elemento en esa posición no es un
AJsonNumber.AJsonNumber.getNumber()
public byte byteValue()
byte
.
ClassCastException
- si el elemento en esa posición no es un
AJsonNumber.AJsonNumber.getNumber()
public double doubleValue()
double
.
ClassCastException
- si el elemento en esa posición no es un
AJsonNumber.AJsonNumber.getNumber()
public float floatValue()
float
.
ClassCastException
- si el elemento en esa posición no es un
AJsonNumber.AJsonNumber.getNumber()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |