/*******************************************************************************
* Copyright (c) 2013, 2015 Oracle and/or its affiliates. All rights reserved.
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v1.0 and Eclipse Distribution License v. 1.0
* which accompanies this distribution.
* The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
* and the Eclipse Distribution License is available at
* http://www.eclipse.org/org/documents/edl-v10.php.
*
* Contributors:
* Guy Pelletier - initial API and implementation
******************************************************************************/
package org.eclipse.persistence.internal.jpa.config.cache;
import org.eclipse.persistence.internal.jpa.config.MetadataImpl;
import org.eclipse.persistence.internal.jpa.metadata.cache.CacheMetadata;
import org.eclipse.persistence.jpa.config.Cache;
import org.eclipse.persistence.jpa.config.TimeOfDay;
/**
* JPA scripting API implementation.
*
* @author Guy Pelletier
* @since EclipseLink 2.5.1
*/
public class CacheImpl extends MetadataImpl<CacheMetadata> implements Cache {
public CacheImpl() {
super(new CacheMetadata());
}
public Cache setAlwaysRefresh(Boolean alwaysRefresh) {
getMetadata().setAlwaysRefresh(alwaysRefresh);
return this;
}
public Cache setCoordinationType(String coordinationType) {
getMetadata().setCoordinationType(coordinationType);
return this;
}
public Cache setDatabaseChangeNotificationType(String databaseChangeNotificationType) {
getMetadata().setDatabaseChangeNotificationType(databaseChangeNotificationType);
return this;
}
public Cache setDisableHits(Boolean disableHits) {
getMetadata().setDisableHits(disableHits);
return this;
}
public Cache setExpiry(Integer expiry) {
getMetadata().setExpiry(expiry);
return this;
}
public TimeOfDay setExpiryTimeOfDay() {
TimeOfDayImpl timeOfDay = new TimeOfDayImpl();
getMetadata().setExpiryTimeOfDay(timeOfDay.getMetadata());
return timeOfDay;
}
public Cache setIsolation(String isolation) {
getMetadata().setIsolation(isolation);
return this;
}
public Cache setRefreshOnlyIfNewer(Boolean refreshOnlyIfNewer) {
getMetadata().setRefreshOnlyIfNewer(refreshOnlyIfNewer);
return this;
}
public Cache setShared(Boolean shared) {
getMetadata().setShared(shared);
return this;
}
public Cache setSize(Integer size) {
getMetadata().setSize(size);
return this;
}
public Cache setType(String type) {
getMetadata().setType(type);
return this;
}
}