net.intelie.pipes.time.TimeSpanBase Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of pipes-api Show documentation
Show all versions of pipes-api Show documentation
Intelie Pipes' API classes and interfaces
package net.intelie.pipes.time;
import net.intelie.pipes.util.AutomatonRepr;
import java.time.ZoneId;
import java.util.List;
public abstract class TimeSpanBase implements TimeSpan {
private static final long serialVersionUID = 1L;
private final SpanMetadata metadata;
public TimeSpanBase(String repr, TimeSpan... children) {
this(new SpanMetadata(repr, children));
}
public TimeSpanBase(SpanMetadata metadata) {
this.metadata = metadata;
}
@Override
public SpanAnnotations annotations() {
return metadata.annotations();
}
@Override
public SpanMetadata metadata() {
return metadata;
}
@Override
public List children() {
return metadata.children();
}
@Override
public AutomatonRepr repr(long timestamp, String zone) {
return metadata.repr(this, timestamp, zone);
}
@Override
public String toString() {
return metadata.toString();
}
public static TimeSpan forceZone(TimeSpan span, ZoneId zone) {
return span != null ? span.forceZone(zone) : null;
}
public static Period forceZone(Period period, ZoneId zone) {
return period != null ? period.forceZone(zone) : null;
}
}