Package net.jini.core.constraint
Class DelegationRelativeTime
java.lang.Object
net.jini.core.constraint.DelegationRelativeTime
- All Implemented Interfaces:
Serializable,InvocationConstraint,RelativeTimeConstraint
public final class DelegationRelativeTime
extends Object
implements RelativeTimeConstraint, Serializable
Represents a constraint on delegation, such that if delegation is permitted, it be permitted only
for a range of time measured relative to the start of the remote call. The mechanisms and
credentials used to support this are not specified by this constraint. Each end of the range is
itself specified as a range, yielding four durations, all specified in milliseconds. If
t represents the current time at the start of a remote call, then the four durations
have the following semantics: minStart- delegation must not be permitted any earlier than timet + minStartmaxStart- delegation must be permitted from timet + maxStartonwardsminStop- delegation must be permitted up until at least timet + minStopmaxStop- delegation must not be permitted after timet + maxStop
The use of an instance of this class does not directly
imply a ClientAuthentication.YES constraint or a Delegation.YES constraint; those
must be specified separately to ensure that the client actually authenticates itself and that
delegation is actually used. Because this constraint is conditional on delegation, it does not
conflict with ClientAuthentication.NO or Delegation.NO.
- Since:
- 2.0
- Author:
- Sun Microsystems, Inc.
- See Also:
-
Constructor Summary
ConstructorsConstructorDescriptionDelegationRelativeTime(long minStart, long maxStart, long minStop, long maxStop) Creates a constraint with the specified durations. -
Method Summary
Modifier and TypeMethodDescriptionbooleanTwo instances of this class are equal if both have the same minimum start, the same maximum start, the same minimum stop, and the same maximum stop.longReturns the maximum start duration in milliseconds.longReturns the maximum stop duration in milliseconds.longReturns the minimum start duration in milliseconds.longReturns the minimum stop duration in milliseconds.inthashCode()Returns a hash code value for this object.makeAbsolute(long baseTime) Returns aDelegationAbsoluteTimeinstance with times obtained by adding the specified base time argument to the duration values from this instance.toString()Returns a string representation of this object.
-
Constructor Details
-
DelegationRelativeTime
public DelegationRelativeTime(long minStart, long maxStart, long minStop, long maxStop) Creates a constraint with the specified durations.- Parameters:
minStart- the minimum start duration in millisecondsmaxStart- the maximum start duration in millisecondsminStop- the minimum stop duration in millisecondsmaxStop- the maximum stop duration in milliseconds- Throws:
IllegalArgumentException- ifminStartis greater thanmaxStart, ormaxStartis greater thanminStop, orminStopis greater thanmaxStop, orminStopis less than zero
-
-
Method Details
-
getMinStart
public long getMinStart()Returns the minimum start duration in milliseconds.- Returns:
- the minimum start duration in milliseconds
-
getMaxStart
public long getMaxStart()Returns the maximum start duration in milliseconds.- Returns:
- the maximum start duration in milliseconds
-
getMinStop
public long getMinStop()Returns the minimum stop duration in milliseconds.- Returns:
- the minimum stop duration in milliseconds
-
getMaxStop
public long getMaxStop()Returns the maximum stop duration in milliseconds.- Returns:
- the maximum stop duration in milliseconds
-
makeAbsolute
Returns aDelegationAbsoluteTimeinstance with times obtained by adding the specified base time argument to the duration values from this instance. If an addition results in underflow or overflow, a time value ofLong.MIN_VALUEorLong.MAX_VALUEis used, respectively.- Specified by:
makeAbsolutein interfaceRelativeTimeConstraint- Parameters:
baseTime- an absolute time, specified in milliseconds from midnight, January 1, 1970 UTC- Returns:
- a constraint that has the relative times converted to absolute times by adding the specified absolute time to each relative time
-
hashCode
public int hashCode()Returns a hash code value for this object. -
equals
Two instances of this class are equal if both have the same minimum start, the same maximum start, the same minimum stop, and the same maximum stop. -
toString
Returns a string representation of this object.
-