package rmblworx.tools.timey.vo; import rmblworx.tools.timey.exception.ValueMinimumArgumentException; /* * Copyright 2014-2015 Christian Raue * MIT License http://opensource.org/licenses/mit-license.php */ /** * Nicht-Thread-sicheres Werteobjekt zum kapseln der Zeitangabe die für den * Countdown, den Alarm und die Stopuhr benötigt wird. * @author mmatthies */ public class TimeDescriptor { /** * Kapselt die aktuelle Systemzeit in Millisekunden. */ private long milliseconds; /** * Konstruktor der die direkte Angabe der zu setzenden Millisekunden * ermöglicht. * * @param milliSeconds * Anzahl der Millisekunden. Es findet keine Pruefung auf * negative Werte statt. */ public TimeDescriptor(final long milliSeconds) { this.milliseconds = milliSeconds; } /** * @return Die Anzahl der Millisekunden oder {@code 0} falls sie nie * gesetzt wurden. */ public long getMilliSeconds() { return this.milliseconds; } /** * @param currentTimeMillis * zu setzende Zeit in Millisekunden */ public void setMilliSeconds(final long currentTimeMillis) { if (currentTimeMillis < 0) { throw new ValueMinimumArgumentException("Values less than zero are not permitted!"); } this.milliseconds = currentTimeMillis; } @Override public String toString() { return "TimeDescriptor (ms): " + this.milliseconds; } }