package com.grendelscan.commons.flex; import java.io.IOException; import java.io.OutputStream; import java.util.ArrayList; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import com.grendelscan.commons.flex.dataTypeDefinitions.AmfDataType; import com.grendelscan.commons.flex.output.AmfOutputStreamRegistry; import com.grendelscan.commons.http.dataHandling.references.DataReference; public class AmfDateTime extends AbstractAmfData { private static final Logger LOGGER = LoggerFactory.getLogger(AmfDateTime.class); /** * */ private static final long serialVersionUID = 1L; private long time; public AmfDateTime(String name, long time, AbstractAmfDataContainer<?> parent, int transactionId) { super(name, AmfDataType.kDate, parent, false, transactionId); this.time = time; } @Override public ArrayList<AbstractAmfData> getChildren() { return null; } @Override public void writeBytes(OutputStream out) { AmfOutputStream outputStream = AmfOutputStreamRegistry.getStream(out); try { writeCodeToStream(outputStream); // AmfUtils.writeUInt29(outputStream, 1); // Write the time as 64bit value in ms outputStream.writeDouble(time); } catch (IOException e) { LOGGER.error("Problem writing AMF: " + e.toString(), e); } } }