public final class InvocationConstraints extends Object implements Serializable
Note that it is possible for an instance of this class to contain both requirements that conflict with each other, and preferences that conflict with each other and with requirements.
| Modifier and Type | Field and Description | 
|---|---|
static InvocationConstraints | 
EMPTY
An empty instance, one that has no requirements and no preferences. 
 | 
| Constructor and Description | 
|---|
InvocationConstraints(Collection reqs,
                     Collection prefs)
Creates an instance that has all of the constraints from the first
 collection,  
reqs, added as requirements if the collection
 is a non-null value, and has all of the constraints from
 the second collection, prefs, added as preferences if the
 collection is a non-null value. | 
InvocationConstraints(InvocationConstraint[] reqs,
                     InvocationConstraint[] prefs)
Creates an instance that has all of the constraints from the first
 array,  
reqs, added as requirements if the array is a
 non-null value, and has all of the constraints from
 the second array, prefs, added as preferences if the
 array is a non-null value. | 
InvocationConstraints(InvocationConstraint req,
                     InvocationConstraint pref)
Creates an instance that has the first constraint,  
req,
 added as a requirement if it is a non-null value, and has
 the second constraint, pref, added as a preference if it
 is a non-null value and is not a duplicate of the
 requirement. | 
| Modifier and Type | Method and Description | 
|---|---|
static InvocationConstraints | 
combine(InvocationConstraints constraints1,
       InvocationConstraints constraints2)
Returns an instance of this class that has all of the requirements from
 each non- 
null argument added as requirements and has all
 of the preferences from each non-null argument added as
 preferences. | 
boolean | 
equals(Object obj)
Two instances of this class are equal if they have the same requirements
 and the same preferences. 
 | 
int | 
hashCode()
Returns a hash code value for this object. 
 | 
boolean | 
isEmpty()
Returns  
true if the instance has no requirements and no
 preferences; returns false otherwise. | 
InvocationConstraints | 
makeAbsolute()
Returns an instance of this class constructed from all of the same
 requirements and preferences as this instance, but with every
 constraint that is an instance of  
RelativeTimeConstraint
 replaced by the result of invoking the constraint's
 makeAbsolute method with the current time (as given by
 System.currentTimeMillis). | 
InvocationConstraints | 
makeAbsolute(long baseTime)
Returns an instance of this class equal to the result of taking the
 requirements and preferences in this instance, replacing each
 constraint that is an instance of  
RelativeTimeConstraint with
 the result of invoking that constraint's makeAbsolute
 method with the specified base time, and creating a new instance of
 this class with duplicate requirements, duplicate preferences, and
 preferences that are duplicates of requirements all removed. | 
Set | 
preferences()
Returns an immutable set of all of the preferences. 
 | 
Set | 
requirements()
Returns an immutable set of all of the requirements. 
 | 
String | 
toString()
Returns a string representation of this object. 
 | 
public static final InvocationConstraints EMPTY
public InvocationConstraints(InvocationConstraint req, InvocationConstraint pref)
req,
 added as a requirement if it is a non-null value, and has
 the second constraint, pref, added as a preference if it
 is a non-null value and is not a duplicate of the
 requirement.req - a requirement, or nullpref - a preference, or nullpublic InvocationConstraints(InvocationConstraint[] reqs, InvocationConstraint[] prefs)
reqs, added as requirements if the array is a
 non-null value, and has all of the constraints from
 the second array, prefs, added as preferences if the
 array is a non-null value. Duplicate requirements,
 duplicate preferences, and preferences that are duplicates of
 requirements are all removed. The arguments passed to the constructor
 are neither modified nor retained; subsequent changes to those
 arguments have no effect on the instance created.reqs - requirements, or nullprefs - preferences, or nullNullPointerException - if any element of an argument is
 nullpublic InvocationConstraints(Collection reqs, Collection prefs)
reqs, added as requirements if the collection
 is a non-null value, and has all of the constraints from
 the second collection, prefs, added as preferences if the
 collection is a non-null value. Duplicate requirements,
 duplicate preferences, and preferences that are duplicates of
 requirements are all removed. The arguments passed to the constructor
 are neither modified nor retained; subsequent changes to those
 arguments have no effect on the instance created.reqs - requirements, or nullprefs - preferences, or nullNullPointerException - if any element of an argument is
 nullIllegalArgumentException - if any element of an argument is not
 an instance of InvocationConstraintpublic static InvocationConstraints combine(InvocationConstraints constraints1, InvocationConstraints constraints2)
null argument added as requirements and has all
 of the preferences from each non-null argument added as
 preferences. Duplicate requirements, duplicate preferences, and
 preferences that are duplicates of requirements are all removed.constraints1 - constraints, or nullconstraints2 - constraints, or nullnull argument added as requirements and has all
 of the preferences from each non-null argument added as
 preferencespublic InvocationConstraints makeAbsolute(long baseTime)
RelativeTimeConstraint with
 the result of invoking that constraint's makeAbsolute
 method with the specified base time, and creating a new instance of
 this class with duplicate requirements, duplicate preferences, and
 preferences that are duplicates of requirements all removed.baseTime - an absolute time, specified in milliseconds from
 midnight, January 1, 1970 UTCRelativeTimeConstraint
 with the result of invoking that constraint's makeAbsolute
 method with the specified base time, and creating a new instance of
 this class with duplicate requirements, duplicate preferences, and
 preferences that are duplicates of requirements all removedpublic InvocationConstraints makeAbsolute()
RelativeTimeConstraint
 replaced by the result of invoking the constraint's
 makeAbsolute method with the current time (as given by
 System.currentTimeMillis). Duplicate
 requirements, duplicate preferences, and preferences that are
 duplicates of requirements are all removed.RelativeTimeConstraint
 replaced by the result of invoking the constraint's
 makeAbsolute method with the current timepublic Set requirements()
UnsupportedOperationException
 being thrown.public Set preferences()
UnsupportedOperationException
 being thrown.public boolean isEmpty()
true if the instance has no requirements and no
 preferences; returns false otherwise.true if the instance has no requirements and no
 preferences; false otherwisepublic int hashCode()
public boolean equals(Object obj)
TrustEquivalence.checkTrustEquivalence.