MemoryCacheEntryOptions constructor

MemoryCacheEntryOptions({
  1. DateTime? absoluteExpiration,
  2. Duration? absoluteExpirationRelativeToNow,
  3. Duration? slidingExpiration,
  4. CacheItemPriority priority = CacheItemPriority.normal,
  5. int? size,
  6. List<Stream<void>>? expirationTokens,
  7. List<PostEvictionCallbackRegistration>? postEvictionCallbacks,
})

Creates a new instance of MemoryCacheEntryOptions.

Implementation

MemoryCacheEntryOptions({
  this.absoluteExpiration,
  Duration? absoluteExpirationRelativeToNow,
  Duration? slidingExpiration,
  this.priority = CacheItemPriority.normal,
  int? size,
  List<Stream<void>>? expirationTokens,
  List<PostEvictionCallbackRegistration>? postEvictionCallbacks,
})  : _absoluteExpirationRelativeToNow = absoluteExpirationRelativeToNow,
      _slidingExpiration = slidingExpiration,
      _size = size,
      _expirationTokens = expirationTokens,
      _postEvictionCallbacks = postEvictionCallbacks {
  if (absoluteExpirationRelativeToNow != null &&
      !absoluteExpirationRelativeToNow.isNegative &&
      absoluteExpirationRelativeToNow == Duration.zero) {
    throw ArgumentError.value(
      absoluteExpirationRelativeToNow,
      'absoluteExpirationRelativeToNow',
      'The relative expiration value must be positive.',
    );
  }

  if (slidingExpiration != null &&
      !slidingExpiration.isNegative &&
      slidingExpiration == Duration.zero) {
    throw ArgumentError.value(
      slidingExpiration,
      'slidingExpiration',
      'The sliding expiration value must be positive.',
    );
  }

  if (size != null && size < 0) {
    throw ArgumentError.value(
      size,
      'size',
      'The size value must be non-negative.',
    );
  }
}