package us.shandian.giga.get; import androidx.annotation.NonNull; import java.io.Serializable; import java.util.Calendar; import us.shandian.giga.io.StoredFileHelper; public abstract class Mission implements Serializable { private static final long serialVersionUID = 1L;// last bump: 27 march 2019 /** * Source url of the resource */ public String source; /** * Length of the current resource */ public long length; /** * creation timestamp (and maybe unique identifier) */ public long timestamp; /** * pre-defined content type */ public char kind; /** * The downloaded file */ public StoredFileHelper storage; /** * Delete the downloaded file * * @return {@code true] if and only if the file is successfully deleted, otherwise, {@code false} */ public boolean delete() { if (storage != null) return storage.delete(); return true; } /** * Indicate if this mission is deleted whatever is stored */ public transient boolean deleted = false; @NonNull @Override public String toString() { Calendar calendar = Calendar.getInstance(); calendar.setTimeInMillis(timestamp); return "[" + calendar.getTime().toString() + "] " + (storage.isInvalid() ? storage.getName() : storage.getUri()); } }