package com.github.lwhite1.tablesaw.columns.packeddata;
import com.github.lwhite1.tablesaw.columns.DateIntervalColumn;
import com.google.common.annotations.Beta;
/**
* EXPERIMENTAL
*/
@Beta
public abstract class DateInterval {
// boolean operations
abstract boolean equals(DateIntervalColumn interval);
abstract boolean before(DateIntervalColumn interval);
abstract boolean after(DateIntervalColumn interval);
abstract boolean contains(DateIntervalColumn interval);
abstract boolean containedIn(DateIntervalColumn interval);
abstract boolean meets(DateIntervalColumn interval);
// combination operations
abstract DateInterval union(DateInterval interval); // or
abstract DateInterval intersect(DateInterval interval); // and
abstract DateInterval minus(DateInterval interval); // and not
abstract DateInterval gap(DateInterval interval); // the difference between two intervals
}