package com.nicewuerfel.blockown; import com.google.common.base.Optional; import java.util.Date; import javax.annotation.Nonnull; /** * Represents a owning ({@link Ownable}-{@link User}-Mapping at a specific time. * * @author Pheasn */ public final class OwningState { @Nonnull private final Ownable ownable; @Nonnull private final Optional<User> user; private final long timeStamp; public OwningState(@Nonnull Ownable ownable, @Nonnull Optional<User> user) { this.ownable = ownable; this.user = user; this.timeStamp = System.currentTimeMillis(); } public Ownable getOwnable() { return ownable; } public Optional<User> getUser() { return user; } public Date getTimeStamp() { return new Date(timeStamp); } }