public Header() { statusCodeEncoder = new IntegerDecoder(); netAmountEncoder = new BigDecimalDecoder(); totalAmountEncoder = new BigDecimalDecoder(); taxEncoder = new BigDecimalDecoder(); dateEncoder = new DateDecoder(); Properties dateEncoderProperties = new Properties(); dateEncoderProperties.setProperty("format", "yyyyMMdd"); dateEncoder.setConfiguration(dateEncoderProperties); }
public OrderItem() { positionEncoder = new IntegerDecoder(); quantityEncoder = new LongDecoder(); priceEncoder = new BigDecimalDecoder(); Properties priceEncoderProperties = new Properties(); priceEncoderProperties.setProperty("format", "#,###.##"); priceEncoder.setConfiguration(priceEncoderProperties); }
public String encode(Object object, Delimiters interchangeDelimiters) throws DataDecodeException { DecimalFormat decimalFormat = getDecimalFormat(); setDecimalPointFormat(decimalFormat, interchangeDelimiters); return decimalFormat.format(object); }
public Object decode(String data) throws DataDecodeException { DecimalFormat decimalFormat = getDecimalFormat(); setDecimalPointFormat(decimalFormat, getContextDelimiters()); final Number number; try { number = decimalFormat.parse(data.trim()); } catch (final ParseException e) { throw new DataDecodeException("Failed to decode BigDecimal value '" + data + "' using NumberFormat instance " + decimalFormat + ".", e); } return (BigDecimal) number; }
public void write(Writer writer, Delimiters delimiters) throws IOException { Writer nodeWriter = writer; if(position != null) { nodeWriter.write(delimiters.escape(positionEncoder.encode(position))); } nodeWriter.write(delimiters.getField()); if(quantity != null) { nodeWriter.write(delimiters.escape(quantityEncoder.encode(quantity))); } nodeWriter.write(delimiters.getField()); if(productId != null) { nodeWriter.write(delimiters.escape(productId.toString())); } nodeWriter.write(delimiters.getField()); if(title != null) { nodeWriter.write(delimiters.escape(title.toString())); } nodeWriter.write(delimiters.getField()); if(price != null) { nodeWriter.write(delimiters.escape(priceEncoder.encode(price))); } writer.write(delimiters.getSegmentDelimiter()); writer.flush(); }
nodeWriter.write(delimiters.escape(statusCodeEncoder.encode(statusCode))); nodeWriter.write(delimiters.escape(netAmountEncoder.encode(netAmount))); nodeWriter.write(delimiters.escape(totalAmountEncoder.encode(totalAmount))); nodeWriter.write(delimiters.escape(taxEncoder.encode(tax))); nodeWriter.write(delimiters.escape(dateEncoder.encode(date)));
public DataDecoder getDecoder(ContentDeliveryConfig deliveryConfig) { @SuppressWarnings("unchecked") List decoders = deliveryConfig.getObjects("decoder:" + typeAlias); if (decoders == null || decoders.isEmpty()) { if(typeAlias != null) { decoder = DataDecoder.Factory.create(typeAlias); } else { decoder = resolveDecoderReflectively(); } } else if (!(decoders.get(0) instanceof DataDecoder)) { throw new DataDecodeException("Configured decoder '" + typeAlias + ":" + decoders.get(0).getClass().getName() + "' is not an instance of " + DataDecoder.class.getName()); } else { decoder = (DataDecoder) decoders.get(0); } if(decoder instanceof PreprocessDecoder) { PreprocessDecoder preprocessDecoder = (PreprocessDecoder) decoder; if(preprocessDecoder.getBaseDecoder() == null) { preprocessDecoder.setBaseDecoder(resolveDecoderReflectively()); } } return decoder; }
public String encode(Object object) throws DataDecodeException { DecimalFormat decimalFormat = getDecimalFormat(); return decimalFormat.format(object); }
public Object decode(String data) throws DataDecodeException { if(data.length() == 0) { // This will force the equals op to fail... return FailEquals.INSTANCE; } else { try { return super.decode(data); } catch(DataDecodeException e) { // This will force the equals op to fail... return FailEquals.INSTANCE; } } } }
private synchronized DecimalFormat getDecimalFormat() { //Check to see if we can use the parent default format NumberFormat parentNumberFormat = getNumberFormat(); if (parentNumberFormat != null && parentNumberFormat instanceof DecimalFormat) { // Clone because we potentially need to modify the decimal point... return (DecimalFormat) parentNumberFormat.clone(); } else { return new DecimalFormat(); } }
private DataDecoder resolveDecoderReflectively() throws DataDecodeException { Class<?> bindType = resolveBindTypeReflectively(); if(bindType != null) { DataDecoder resolvedDecoder = DataDecoder.Factory.create(bindType); if(resolvedDecoder != null) { return resolvedDecoder; } } return new StringDecoder(); }