Package org.eclipse.hono.util
Class ConnectionDuration
java.lang.Object
org.eclipse.hono.util.LimitedResource
org.eclipse.hono.util.ConnectionDuration
The resource limits definition corresponding to the connection duration.
-
Constructor Summary
ConstructorDescriptionConnectionDuration
(Instant effectiveSince, ResourceLimitsPeriod period) Creates a new connection duration specification for an instant in time.ConnectionDuration
(Instant effectiveSince, ResourceLimitsPeriod period, long maxMinutes) Creates a new connection duration specification for an instant in time. -
Method Summary
Modifier and TypeMethodDescriptionfinal long
Gets the maximum device connection duration in minutes to be allowed for the time period defined by theTenantConstants.FIELD_PERIOD_MODE
andTenantConstants.FIELD_PERIOD_NO_OF_DAYS
.boolean
Checks if the device connection duration is effectively limited.Methods inherited from class org.eclipse.hono.util.LimitedResource
getEffectiveSince, getElapsedAccountingPeriodDuration, getPeriod
-
Constructor Details
-
ConnectionDuration
Creates a new connection duration specification for an instant in time.- Parameters:
effectiveSince
- The point in time at which the limit became or will become effective.period
- The definition of the accounting periods to be used for this specification ornull
to use the default period definition with modeResourceLimitsPeriod.PeriodMode.monthly
.- Throws:
NullPointerException
- if effectiveSince isnull
.
-
ConnectionDuration
public ConnectionDuration(@HonoTimestamp Instant effectiveSince, ResourceLimitsPeriod period, long maxMinutes) Creates a new connection duration specification for an instant in time.- Parameters:
effectiveSince
- The point in time at which the limit became or will become effective.period
- The definition of the accounting periods to be used for this specification ornull
to use the default period definition with modeResourceLimitsPeriod.PeriodMode.monthly
.maxMinutes
- The maximum connection duration in minutes to be allowed.- Throws:
NullPointerException
- if effectiveSince isnull
.IllegalArgumentException
- if the maximum number of minutes is set to less thanTenantConstants.UNLIMITED_MINUTES
.
-
-
Method Details
-
getMaxMinutes
public final long getMaxMinutes()Gets the maximum device connection duration in minutes to be allowed for the time period defined by theTenantConstants.FIELD_PERIOD_MODE
andTenantConstants.FIELD_PERIOD_NO_OF_DAYS
.- Returns:
- The maximum connection duration in minutes or
TenantConstants.UNLIMITED_MINUTES
if not set.
-
isLimited
public boolean isLimited()Checks if the device connection duration is effectively limited.- Returns:
true
if the max minutes value is not -1L and the period mode is notResourceLimitsPeriod.PeriodMode.unknown
.
-