use of com.amazon.ion.IonSexp in project ion-java by amzn.
the class IonReaderTextSystemX method getIonValue.
public IonValue getIonValue(IonSystem sys) {
if (isNullValue()) {
switch(_value_type) {
case NULL:
return sys.newNull();
case BOOL:
return sys.newNullBool();
case INT:
return sys.newNullInt();
case FLOAT:
return sys.newNullFloat();
case DECIMAL:
return sys.newNullDecimal();
case TIMESTAMP:
return sys.newNullTimestamp();
case SYMBOL:
return sys.newNullSymbol();
case STRING:
return sys.newNullString();
case CLOB:
return sys.newNullClob();
case BLOB:
return sys.newNullBlob();
case LIST:
return sys.newNullList();
case SEXP:
return sys.newNullSexp();
case STRUCT:
return sys.newNullString();
default:
throw new IonException("unrecognized type encountered");
}
}
switch(_value_type) {
case NULL:
return sys.newNull();
case BOOL:
return sys.newBool(booleanValue());
case INT:
return sys.newInt(longValue());
case FLOAT:
return sys.newFloat(doubleValue());
case DECIMAL:
return sys.newDecimal(decimalValue());
case TIMESTAMP:
IonTimestamp t = sys.newNullTimestamp();
Timestamp ti = timestampValue();
t.setValue(ti);
return t;
case SYMBOL:
return sys.newSymbol(stringValue());
case STRING:
return sys.newString(stringValue());
case CLOB:
IonClob clob = sys.newNullClob();
// FIXME inefficient: both newBytes and setBytes copy the data
clob.setBytes(newBytes());
return clob;
case BLOB:
IonBlob blob = sys.newNullBlob();
// FIXME inefficient: both newBytes and setBytes copy the data
blob.setBytes(newBytes());
return blob;
case LIST:
IonList list = sys.newNullList();
fillContainerList(sys, list);
return list;
case SEXP:
IonSexp sexp = sys.newNullSexp();
fillContainerList(sys, sexp);
return sexp;
case STRUCT:
IonStruct struct = sys.newNullStruct();
fillContainerStruct(sys, struct);
return struct;
default:
throw new IonException("unrecognized type encountered");
}
}
use of com.amazon.ion.IonSexp in project ion-java by amzn.
the class _Private_CurriedValueFactory method newSexp.
public IonSexp newSexp(int[] values) {
IonSexp v = myFactory.newSexp(values);
handle(v);
return v;
}
use of com.amazon.ion.IonSexp in project ion-java by amzn.
the class _Private_CurriedValueFactory method newSexp.
@Deprecated
public IonSexp newSexp(Collection<? extends IonValue> values) throws ContainedValueException, NullPointerException {
IonSexp v = myFactory.newSexp(values);
handle(v);
return v;
}
use of com.amazon.ion.IonSexp in project ion-java by amzn.
the class PrinterTest method testPrintingAnnotations.
// =========================================================================
// Test cases
@Test
public void testPrintingAnnotations() throws Exception {
IonNull value = (IonNull) oneValue("an::$0::null");
checkRendering("an::$0::null", value);
value.addTypeAnnotation("+");
value.addTypeAnnotation("\u0000");
value.addTypeAnnotation("$0");
checkRendering("an::$0::'+'::'\\0'::'$0'::null", value);
myPrinter.setPrintSymbolAsString(true);
checkRendering("an::$0::'+'::'\\0'::'$0'::null", value);
myPrinter.setPrintStringAsJson(true);
checkRendering("an::$0::'+'::'\\0'::'$0'::null", value);
myPrinter.setPrintSymbolAsString(false);
myPrinter.setPrintStringAsJson(false);
myPrinter.setSkipAnnotations(true);
checkRendering("null", value);
myPrinter.setSkipAnnotations(false);
IonSexp s = system().newEmptySexp();
s.add(value);
checkRendering("(an::$0::'+'::'\\0'::'$0'::null)", s);
myPrinter.setPrintSymbolAsString(true);
checkRendering("(an::$0::'+'::'\\0'::'$0'::null)", s);
myPrinter.setPrintStringAsJson(true);
checkRendering("(an::$0::'+'::'\\0'::'$0'::null)", s);
value.setTypeAnnotations("boo", "boo");
checkRendering("boo::boo::null", value);
}
use of com.amazon.ion.IonSexp in project ion-java by amzn.
the class _Private_CurriedValueFactory method newSexp.
public IonSexp newSexp(IonSequence firstChild) throws ContainedValueException, NullPointerException {
IonSexp v = myFactory.newSexp(firstChild);
handle(v);
return v;
}
Aggregations