Copyright 2011-2016 Terracotta, Inc. Copyright 2011-2016 Oracle America Incorporated Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
/** * Copyright 2011-2016 Terracotta, Inc. * Copyright 2011-2016 Oracle America Incorporated * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */
package javax.cache.expiry; import javax.cache.configuration.Factory; import javax.cache.configuration.FactoryBuilder; import java.io.Serializable;
An ExpiryPolicy that defines the expiry Duration of a Cache Entry based on when it was created. An update does not reset the expiry time.
Author:Greg Luck, Brian Oliver
See Also:
Since:1.0
/** * An {@link ExpiryPolicy} that defines the expiry {@link Duration} * of a Cache Entry based on when it was created. An update does not reset * the expiry time. * * @author Greg Luck * @author Brian Oliver * @since 1.0 * @see ExpiryPolicy */
public final class CreatedExpiryPolicy implements ExpiryPolicy, Serializable {
The serialVersionUID required for Serializable.
/** * The serialVersionUID required for {@link java.io.Serializable}. */
public static final long serialVersionUID = 201305291023L;
The Duration a Cache Entry should be available before it expires.
/** * The {@link Duration} a Cache Entry should be available before it expires. */
private Duration expiryDuration;
Params:
  • expiryDuration – the Duration a Cache Entry should exist be before it expires after being modified
/** * Constructs an {@link CreatedExpiryPolicy} {@link ExpiryPolicy}. * * @param expiryDuration the {@link Duration} a Cache Entry should exist be * before it expires after being modified */
public CreatedExpiryPolicy(Duration expiryDuration) { this.expiryDuration = expiryDuration; }
Obtains a Factory for a Created ExpiryPolicy.
Params:
  • duration – The expiry duration
Returns:a Factory for a Created ExpiryPolicy.
/** * Obtains a {@link Factory} for a Created {@link ExpiryPolicy}. * @param duration The expiry duration * @return a {@link Factory} for a Created {@link ExpiryPolicy}. */
public static Factory<ExpiryPolicy> factoryOf(Duration duration) { return new FactoryBuilder.SingletonFactory<ExpiryPolicy>(new CreatedExpiryPolicy(duration)); }
{@inheritDoc}
/** * {@inheritDoc} */
@Override public Duration getExpiryForCreation() { //for newly created entries we use the specified expiry duration return expiryDuration; }
{@inheritDoc}
/** * {@inheritDoc} */
@Override public Duration getExpiryForAccess() { //accessing a cache entry has no affect on the current expiry duration return null; }
{@inheritDoc}
/** * {@inheritDoc} */
@Override public Duration getExpiryForUpdate() { //updating a cache entry has no affect on the current expiry duration return null; }
{@inheritDoc}
/** * {@inheritDoc} */
@Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + ((expiryDuration == null) ? 0 : expiryDuration.hashCode()); return result; }
{@inheritDoc}
/** * {@inheritDoc} */
@Override public boolean equals(Object object) { if (this == object) { return true; } if (object == null) { return false; } if (!(object instanceof CreatedExpiryPolicy)) { return false; } CreatedExpiryPolicy other = (CreatedExpiryPolicy) object; if (expiryDuration == null) { if (other.expiryDuration != null) { return false; } } else if (!expiryDuration.equals(other.expiryDuration)) { return false; } return true; } }