
java.org.joda.time.ReadWritableInterval Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of joda Show documentation
Show all versions of joda Show documentation
Libraries for Elasticsearch
The newest version!
/*
* Copyright 2001-2005 Stephen Colebourne
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.joda.time;
/**
* Writable interface for an interval.
*
* @author Stephen Colebourne
* @author Brian S O'Neill
* @since 1.0
*/
public interface ReadWritableInterval extends ReadableInterval {
/**
* Sets this interval from two millisecond instants.
*
* @param startInstant the start of the time interval
* @param endInstant the start of the time interval
* @throws IllegalArgumentException if the end is before the start
*/
void setInterval(long startInstant, long endInstant);
/**
* Sets this interval to be the same as another.
*
* @param interval the interval to copy
* @throws IllegalArgumentException if the end is before the start
*/
void setInterval(ReadableInterval interval);
/**
* Sets this interval from two instants.
*
* @param startInstant the start of the time interval
* @param endInstant the start of the time interval
* @throws IllegalArgumentException if the end is before the start
*/
void setInterval(ReadableInstant startInstant, ReadableInstant endInstant);
//-----------------------------------------------------------------------
/**
* Sets the chronology of this time interval.
*
* @param chrono the chronology to use, null means ISO default
*/
void setChronology(Chronology chrono);
//-----------------------------------------------------------------------
/**
* Sets the start of this time interval.
*
* @param millisInstant the start of the time interval,
* millisecond instant from 1970-01-01T00:00:00Z
* @throws IllegalArgumentException if the end is before the start
*/
void setStartMillis(long millisInstant);
/**
* Sets the start of this time interval as an Instant.
*
* @param instant the start of the time interval
* @throws IllegalArgumentException if the end is before the start
*/
void setStart(ReadableInstant instant);
//-----------------------------------------------------------------------
/**
* Sets the end of this time interval.
*
* @param millisInstant the end of the time interval,
* millisecond instant from 1970-01-01T00:00:00Z
* @throws IllegalArgumentException if the end is before the start
*/
void setEndMillis(long millisInstant);
/**
* Sets the end of this time interval as an Instant.
*
* @param instant the end of the time interval
* @throws IllegalArgumentException if the end is before the start
*/
void setEnd(ReadableInstant instant);
//-----------------------------------------------------------------------
/**
* Sets the duration of this time interval, preserving the start instant.
*
* @param duration new duration for interval
* @throws IllegalArgumentException if the end is before the start
* @throws ArithmeticException if the end instant exceeds the capacity of a long
*/
void setDurationAfterStart(ReadableDuration duration);
/**
* Sets the duration of this time interval, preserving the end instant.
*
* @param duration new duration for interval
* @throws IllegalArgumentException if the end is before the start
* @throws ArithmeticException if the start instant exceeds the capacity of a long
*/
void setDurationBeforeEnd(ReadableDuration duration);
//-----------------------------------------------------------------------
/**
* Sets the period of this time interval, preserving the start instant.
*
* @param period new period for interval, null means zero length
* @throws IllegalArgumentException if the end is before the start
* @throws ArithmeticException if the end instant exceeds the capacity of a long
*/
void setPeriodAfterStart(ReadablePeriod period);
/**
* Sets the period of this time interval, preserving the end instant.
*
* @param period new period for interval, null means zero length
* @throws IllegalArgumentException if the end is before the start
* @throws ArithmeticException if the start instant exceeds the capacity of a long
*/
void setPeriodBeforeEnd(ReadablePeriod period);
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy