public final class EvaluatorHelper extends Object
Modifier and Type | Method and Description |
---|---|
static boolean |
allEvaluatorsAreAvailable(JulianDate date,
IAvailability... evaluators)
Determines whether all evaluators in an array are available at a given time.
|
static boolean |
allEvaluatorsAreAvailable(JulianDate date,
IAvailability evaluator1)
Determines whether all evaluators given are available at a given time.
|
static boolean |
allEvaluatorsAreAvailable(JulianDate date,
IAvailability evaluator1,
IAvailability evaluator2)
Determines whether all evaluators given are available at a given time.
|
static boolean |
allEvaluatorsAreAvailable(JulianDate date,
IAvailability evaluator1,
IAvailability evaluator2,
IAvailability evaluator3)
Determines whether all evaluators given are available at a given time.
|
static <T extends IAvailability> |
allEvaluatorsAreAvailable(JulianDate date,
Iterable<T> evaluators)
Determines whether all evaluators in a collection are available at a given time.
|
static <T extends IThreadAware> |
allEvaluatorsAreThreadSafe(Iterable<T> evaluators)
Determines if every evaluator in a collection is thread safe.
|
static boolean |
allEvaluatorsAreThreadSafe(IThreadAware... evaluators)
Determines if every evaluator in an array is thread safe.
|
static boolean |
allEvaluatorsAreThreadSafe(IThreadAware evaluator1)
Determines if every evaluator given is thread safe.
|
static boolean |
allEvaluatorsAreThreadSafe(IThreadAware evaluator1,
IThreadAware evaluator2)
Determines if every evaluator given is thread safe.
|
static boolean |
allEvaluatorsAreThreadSafe(IThreadAware evaluator1,
IThreadAware evaluator2,
IThreadAware evaluator3)
Determines if every evaluator given is thread safe.
|
static <T extends IThreadAware> |
allEvaluatorsAreThreadSafe(TimeIntervalCollection1<T> collection)
|
static boolean |
anyEvaluatorIsTimeVarying(IIsTimeVarying... evaluators)
Determines if any of the evaluators in an array are time varying.
|
static boolean |
anyEvaluatorIsTimeVarying(IIsTimeVarying evaluator1)
Determines if any of the evaluators given are time varying.
|
static boolean |
anyEvaluatorIsTimeVarying(IIsTimeVarying evaluator1,
IIsTimeVarying evaluator2)
Determines if any of the evaluators given are time varying.
|
static boolean |
anyEvaluatorIsTimeVarying(IIsTimeVarying evaluator1,
IIsTimeVarying evaluator2,
IIsTimeVarying evaluator3)
Determines if any of the evaluators given are time varying.
|
static <T extends IIsTimeVarying> |
anyEvaluatorIsTimeVarying(Iterable<T> evaluators)
Determines if any of the evaluators in a collection are time varying.
|
static <T extends IIsTimeVarying> |
anyEvaluatorIsTimeVarying(TimeIntervalCollection1<T> collection)
|
static <T extends IDisposable> |
dispose(Iterable<T> evaluators)
A helper method to use to dispose of a collection of evaluators.
|
static TimeIntervalCollection |
getAvailabilityIntervals(TimeIntervalCollection consideredIntervals,
IAvailability... evaluators)
Computes availability intervals as the intersection of the availability of each evaluator in an array.
|
static TimeIntervalCollection |
getAvailabilityIntervals(TimeIntervalCollection consideredIntervals,
IAvailability evaluator1)
Computes availability intervals as the intersection of the availability of multiple evaluators.
|
static TimeIntervalCollection |
getAvailabilityIntervals(TimeIntervalCollection consideredIntervals,
IAvailability evaluator1,
IAvailability evaluator2)
Computes availability intervals as the intersection of the availability of multiple evaluators.
|
static TimeIntervalCollection |
getAvailabilityIntervals(TimeIntervalCollection consideredIntervals,
IAvailability evaluator1,
IAvailability evaluator2,
IAvailability evaluator3)
Computes availability intervals as the intersection of the availability of multiple evaluators.
|
static <T extends IAvailability> |
getAvailabilityIntervals(TimeIntervalCollection consideredIntervals,
Iterable<T> evaluators)
Computes availability intervals as the intersection of the availability of each evaluator in a collection.
|
static <T> void |
updateCollectionReferences(List<T> collection,
CopyContext context)
Updates the references in the collection using the specified
CopyContext . |
public static <T extends IDisposable> void dispose(@Nonnull Iterable<T> evaluators)
T
- The type of evaluator in the collection.evaluators
- A collection of evaluators.@Nonnull public static TimeIntervalCollection getAvailabilityIntervals(@Nonnull TimeIntervalCollection consideredIntervals, @Nonnull IAvailability... evaluators)
null
are ignored.consideredIntervals
- The intervals over which availability information is needed. Returned availability
intervals will be constrained to these intervals.evaluators
- The array of evaluators.ArgumentNullException
- Thrown when evaluators
is null
.@Nonnull public static TimeIntervalCollection getAvailabilityIntervals(@Nonnull TimeIntervalCollection consideredIntervals, @Nullable IAvailability evaluator1)
null
are ignored.consideredIntervals
- The intervals over which availability information is needed. Returned availability
intervals will be constrained to these intervals.evaluator1
- The first evaluator.@Nonnull public static TimeIntervalCollection getAvailabilityIntervals(@Nonnull TimeIntervalCollection consideredIntervals, @Nullable IAvailability evaluator1, @Nullable IAvailability evaluator2)
null
are ignored.consideredIntervals
- The intervals over which availability information is needed. Returned availability
intervals will be constrained to these intervals.evaluator1
- The first evaluator.evaluator2
- The second evaluator.@Nonnull public static TimeIntervalCollection getAvailabilityIntervals(@Nonnull TimeIntervalCollection consideredIntervals, @Nullable IAvailability evaluator1, @Nullable IAvailability evaluator2, @Nullable IAvailability evaluator3)
null
are ignored.consideredIntervals
- The intervals over which availability information is needed. Returned availability
intervals will be constrained to these intervals.evaluator1
- The first evaluator.evaluator2
- The second evaluator.evaluator3
- The third evaluator.@Nonnull public static <T extends IAvailability> TimeIntervalCollection getAvailabilityIntervals(@Nonnull TimeIntervalCollection consideredIntervals, @Nonnull Iterable<T> evaluators)
null
are ignored.T
- The type of evaluator.consideredIntervals
- The intervals over which availability information is needed. Returned availability
intervals will be constrained to these intervals.evaluators
- The collection of evaluators.ArgumentNullException
- Thrown when evaluators
is null
.public static boolean allEvaluatorsAreThreadSafe(@Nonnull IThreadAware... evaluators)
null
are ignored.evaluators
- The array of evaluators.true
if every non-null evaluator in the array is thread safe; otherwise false
.ArgumentNullException
- Thrown when evaluators
is null
.public static boolean allEvaluatorsAreThreadSafe(@Nullable IThreadAware evaluator1)
null
are ignored.evaluator1
- The first evaluator.true
if every non-null evaluator given is thread safe; otherwise false
.public static boolean allEvaluatorsAreThreadSafe(@Nullable IThreadAware evaluator1, @Nullable IThreadAware evaluator2)
null
are ignored.evaluator1
- The first evaluator.evaluator2
- The second evaluator.true
if every non-null evaluator given is thread safe; otherwise false
.public static boolean allEvaluatorsAreThreadSafe(@Nullable IThreadAware evaluator1, @Nullable IThreadAware evaluator2, @Nullable IThreadAware evaluator3)
null
are ignored.evaluator1
- The first evaluator.evaluator2
- The second evaluator.evaluator3
- The third evaluator.true
if every non-null evaluator given is thread safe; otherwise false
.public static <T extends IThreadAware> boolean allEvaluatorsAreThreadSafe(@Nonnull Iterable<T> evaluators)
null
are ignored.T
- The type of evaluator.evaluators
- The collection of evaluators.true
if every evaluator in the collection is thread safe; otherwise false
.ArgumentNullException
- Thrown when evaluators
is null
.public static <T extends IThreadAware> boolean allEvaluatorsAreThreadSafe(@Nonnull TimeIntervalCollection1<T> collection)
Data
(get
)
in a TimeIntervalCollection1
is thread safe.
Any evaluators in the collection that are null
are ignored.T
- The type of evaluator.collection
- The time interval collection.true
if every evaluator in the collection is thread safe; otherwise false
.public static boolean anyEvaluatorIsTimeVarying(@Nonnull IIsTimeVarying... evaluators)
null
are ignored.evaluators
- The array of evaluators.true
if any non-null evaluator in the array is time varying; otherwise false
.ArgumentNullException
- Thrown when evaluators
is null
.public static boolean anyEvaluatorIsTimeVarying(@Nullable IIsTimeVarying evaluator1)
null
are ignored.evaluator1
- The first evaluator.true
if any non-null evaluator given is time varying; otherwise false
.public static boolean anyEvaluatorIsTimeVarying(@Nullable IIsTimeVarying evaluator1, @Nullable IIsTimeVarying evaluator2)
null
are ignored.evaluator1
- The first evaluator.evaluator2
- The second evaluator.true
if any non-null evaluator given is time varying; otherwise false
.public static boolean anyEvaluatorIsTimeVarying(@Nullable IIsTimeVarying evaluator1, @Nullable IIsTimeVarying evaluator2, @Nullable IIsTimeVarying evaluator3)
null
are ignored.evaluator1
- The first evaluator.evaluator2
- The second evaluator.evaluator3
- The third evaluator.true
if any non-null evaluator given is time varying; otherwise false
.public static <T extends IIsTimeVarying> boolean anyEvaluatorIsTimeVarying(@Nonnull Iterable<T> evaluators)
null
are ignored.T
- The type of evaluator.evaluators
- The collection of evaluators.true
if any non-null evaluator in the collection is time varying; otherwise false
.ArgumentNullException
- Thrown when evaluators
is null
.public static <T extends IIsTimeVarying> boolean anyEvaluatorIsTimeVarying(@Nonnull TimeIntervalCollection1<T> collection)
Data
(get
)
in a TimeIntervalCollection1
is time-varying.
Any evaluators in the collection that are null
are ignored.T
- The type of evaluator.collection
- The time interval collection.true
if any evaluator in the collection is time varying,
or if the time interval collection is non-infinite; otherwise false
.public static boolean allEvaluatorsAreAvailable(@Nonnull JulianDate date, @Nonnull IAvailability... evaluators)
date
- The date at which to determine availability.evaluators
- The array of evaluators.true
if all evaluators in the array are available for the given date; otherwise false
.ArgumentNullException
- Thrown when evaluators
is null
.public static boolean allEvaluatorsAreAvailable(@Nonnull JulianDate date, @Nullable IAvailability evaluator1)
null
are ignored.date
- The date at which to determine availability.evaluator1
- The first evaluator.true
if all non-null evaluators given are available for the given date; otherwise false
.public static boolean allEvaluatorsAreAvailable(@Nonnull JulianDate date, @Nullable IAvailability evaluator1, @Nullable IAvailability evaluator2)
null
are ignored.date
- The date at which to determine availability.evaluator1
- The first evaluator.evaluator2
- The second evaluator.true
if all non-null evaluators given are available for the given date; otherwise false
.public static boolean allEvaluatorsAreAvailable(@Nonnull JulianDate date, @Nullable IAvailability evaluator1, @Nullable IAvailability evaluator2, @Nullable IAvailability evaluator3)
null
are ignored.date
- The date at which to determine availability.evaluator1
- The first evaluator.evaluator2
- The second evaluator.evaluator3
- The third evaluator.true
if all non-null evaluators given are available for the given date; otherwise false
.public static <T extends IAvailability> boolean allEvaluatorsAreAvailable(@Nonnull JulianDate date, @Nonnull Iterable<T> evaluators)
T
- The type of evaluator.date
- The date at which to determine availability.evaluators
- The collection of evaluators.true
if all evaluators in the collection are available for the given date; otherwise false
.ArgumentNullException
- Thrown when evaluators
is null
.public static <T> void updateCollectionReferences(@Nullable List<T> collection, @Nonnull CopyContext context)
CopyContext
.
CopyContext#updateReference(T)
is called for each element in the collection and the
result is assigned back to the same location in the collection.T
- The type of element in the collection.collection
- The collection.context
- The context to use to update the references.