Giriş
Şu satırı dahil ederiz
Şu satırı dahil ederiz
import java.time.Clock;Soyut bir sınıftır. Açıklaması şöyle
Kullanımto allow alternate clocks to be plugged in as and when required
1. fixed(), systemDefaultZone(), systemUTC() metodlarından birisi çağrılarak bir Clock elde edilir ve bu nesnenin instant() metodu çağrılır
2. fixed(), systemDefaultZone(), systemUTC() metodlarından birisi çağrılarak bir Clock elde edilir ve bu nesne Insant.now() metoduna geçilir.
Örnek
Şöyle yaparız
import java.time.Clock;
import java.time.Instant;
import java.util.Objects;
import java.util.Optional;
public class ExpiringValue<T> {
private final T value;
private final Instant expiresAt;
private final Clock clock;
public ExpiringValue(T value, Instant expiresAt) {
this(value, expiresAt, Clock.systemDefaultZone());
}
public ExpiringValue(T value, Instant expiresAt, Clock clock) {
this.value = Objects.requireNonNull(value);
this.expiresAt = Objects.requireNonNull(expiresAt);
this.clock = Objects.requireNonNull(clock);
}
public Optional<T> get() {
return isExpired() ? Optional.empty() : Optional.ofNullable(value);
}
private boolean isExpired() {
return !Instant.now(clock).isBefore(expiresAt);
}
}
fixed metoduŞöyle yaparız.
Clock clk = Clock.fixed(
Instant.parse( "2016-01-23T12:34:56Z" , ZoneOffset.UTC )
);
instant metoduŞöyle yaparız.
Instant now = Clock.systemUTC().instant();
systemDefaultZone metoduŞöyle yaparız.
Clock clk = Clock.systemDefaultZone ();
system metodu
Şöyle yaparız.
systemUTC metoduInstant now = Instant.now ( Clock.systemUTC () );
Instant now = Instant.now ( Clock.system ( ZoneId.of ( "America/Montreal" ) ) );
Instant now = Instant.now ( Clock.systemDefaultZone () );
Şöyle yaparız.
Clock clk = Clock.systemUTC();
Hiç yorum yok:
Yorum Gönder