Package com.helger.datetime.expiration
Class ExpirableWithReplacement<DATATYPE>
- java.lang.Object
-
- com.helger.datetime.expiration.ExpirableWithReplacement<DATATYPE>
-
- Type Parameters:
DATATYPE- The type of the object use for defining a replacement.
- All Implemented Interfaces:
IExpirable,IExpirableWithReplacement<DATATYPE>,IMutableExpirable,IMutableExpirableWithReplacement<DATATYPE>
public class ExpirableWithReplacement<DATATYPE> extends Object implements IMutableExpirableWithReplacement<DATATYPE>
Default implementation ofIMutableExpirableWithReplacement- Author:
- Philip Helger
-
-
Constructor Summary
Constructors Constructor Description ExpirableWithReplacement()ExpirableWithReplacement(LocalDateTime aExpirationDateTime, DATATYPE aReplacement)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanequals(Object o)LocalDateTimegetExpirationDateTime()DATATYPEgetReplacement()In case the object has an expiration date defined and is expired, the object returned by this method directs to replacement object to be used instead.inthashCode()com.helger.commons.state.EChangesetExpirationDateTime(LocalDateTime aExpirationDateTime)Change the expiration date time of this object.com.helger.commons.state.EChangesetReplacement(DATATYPE aReplacement)Define a replacement in case this object expires.StringtoString()-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface com.helger.datetime.expiration.IExpirable
isExpirationDefined, isExpiredAt, isExpiredNow
-
Methods inherited from interface com.helger.datetime.expiration.IMutableExpirable
resetExpiration
-
-
-
-
Constructor Detail
-
ExpirableWithReplacement
public ExpirableWithReplacement()
-
ExpirableWithReplacement
public ExpirableWithReplacement(@Nullable LocalDateTime aExpirationDateTime, @Nullable DATATYPE aReplacement)
-
-
Method Detail
-
getExpirationDateTime
@Nullable public LocalDateTime getExpirationDateTime()
- Specified by:
getExpirationDateTimein interfaceIExpirable- Returns:
- The date time when the object will expire/expired. May be
nullif no expiration is defined.
-
setExpirationDateTime
@Nonnull public com.helger.commons.state.EChange setExpirationDateTime(@Nullable LocalDateTime aExpirationDateTime)
Description copied from interface:IMutableExpirableChange the expiration date time of this object. If you want to remove the expiration, please callIMutableExpirable.resetExpiration()instead.- Specified by:
setExpirationDateTimein interfaceIMutableExpirable- Parameters:
aExpirationDateTime- The new expiration date time. May benull.- Returns:
EChange.CHANGEDif the expiration date time changed,EChange.UNCHANGEDotherwise.
-
getReplacement
@Nullable public DATATYPE getReplacement()
Description copied from interface:IExpirableWithReplacementIn case the object has an expiration date defined and is expired, the object returned by this method directs to replacement object to be used instead.- Specified by:
getReplacementin interfaceIExpirableWithReplacement<DATATYPE>- Returns:
nullif no replacement is defined, a non-nullobject otherwise.
-
setReplacement
@Nonnull public com.helger.commons.state.EChange setReplacement(@Nullable DATATYPE aReplacement)
Description copied from interface:IMutableExpirableWithReplacementDefine a replacement in case this object expires.- Specified by:
setReplacementin interfaceIMutableExpirableWithReplacement<DATATYPE>- Parameters:
aReplacement- The replacement object to use.- Returns:
EChange.CHANGEDif something was changed,EChange.UNCHANGEDotherwise.
-
-