org.eclipse.persistence.internal.jpa.config.classes.AbstractMappedClassImpl Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of eclipselink Show documentation
Show all versions of eclipselink Show documentation
EclipseLink build based upon Git transaction 180e602
/*******************************************************************************
* Copyright (c) 2013 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.classes;
import java.util.ArrayList;
import org.eclipse.persistence.internal.jpa.config.additionalcriteria.AdditionalCriteriaImpl;
import org.eclipse.persistence.internal.jpa.config.cache.CacheImpl;
import org.eclipse.persistence.internal.jpa.config.cache.CacheIndexImpl;
import org.eclipse.persistence.internal.jpa.config.cache.CacheInterceptorImpl;
import org.eclipse.persistence.internal.jpa.config.columns.PrimaryKeyImpl;
import org.eclipse.persistence.internal.jpa.config.listeners.EntityListenerImpl;
import org.eclipse.persistence.internal.jpa.config.locking.OptimisticLockingImpl;
import org.eclipse.persistence.internal.jpa.config.multitenant.MultitenantImpl;
import org.eclipse.persistence.internal.jpa.config.queries.FetchGroupImpl;
import org.eclipse.persistence.internal.jpa.config.queries.NamedNativeQueryImpl;
import org.eclipse.persistence.internal.jpa.config.queries.NamedPlsqlStoredFunctionQueryImpl;
import org.eclipse.persistence.internal.jpa.config.queries.NamedPlsqlStoredProcedureQueryImpl;
import org.eclipse.persistence.internal.jpa.config.queries.NamedQueryImpl;
import org.eclipse.persistence.internal.jpa.config.queries.NamedStoredFunctionQueryImpl;
import org.eclipse.persistence.internal.jpa.config.queries.NamedStoredProcedureQueryImpl;
import org.eclipse.persistence.internal.jpa.config.queries.QueryRedirectorsImpl;
import org.eclipse.persistence.internal.jpa.config.queries.SqlResultSetMappingImpl;
import org.eclipse.persistence.internal.jpa.config.sequencing.SequenceGeneratorImpl;
import org.eclipse.persistence.internal.jpa.config.sequencing.TableGeneratorImpl;
import org.eclipse.persistence.internal.jpa.config.sequencing.UuidGeneratorImpl;
import org.eclipse.persistence.internal.jpa.metadata.accessors.classes.MappedSuperclassAccessor;
import org.eclipse.persistence.internal.jpa.metadata.cache.CacheIndexMetadata;
import org.eclipse.persistence.internal.jpa.metadata.listeners.EntityListenerMetadata;
import org.eclipse.persistence.internal.jpa.metadata.queries.FetchGroupMetadata;
import org.eclipse.persistence.internal.jpa.metadata.queries.NamedNativeQueryMetadata;
import org.eclipse.persistence.internal.jpa.metadata.queries.NamedPLSQLStoredFunctionQueryMetadata;
import org.eclipse.persistence.internal.jpa.metadata.queries.NamedPLSQLStoredProcedureQueryMetadata;
import org.eclipse.persistence.internal.jpa.metadata.queries.NamedQueryMetadata;
import org.eclipse.persistence.internal.jpa.metadata.queries.NamedStoredFunctionQueryMetadata;
import org.eclipse.persistence.internal.jpa.metadata.queries.NamedStoredProcedureQueryMetadata;
import org.eclipse.persistence.internal.jpa.metadata.queries.SQLResultSetMappingMetadata;
import org.eclipse.persistence.jpa.config.AdditionalCriteria;
import org.eclipse.persistence.jpa.config.Cache;
import org.eclipse.persistence.jpa.config.CacheIndex;
import org.eclipse.persistence.jpa.config.CacheInterceptor;
import org.eclipse.persistence.jpa.config.EntityListener;
import org.eclipse.persistence.jpa.config.FetchGroup;
import org.eclipse.persistence.jpa.config.Multitenant;
import org.eclipse.persistence.jpa.config.NamedNativeQuery;
import org.eclipse.persistence.jpa.config.NamedPlsqlStoredFunctionQuery;
import org.eclipse.persistence.jpa.config.NamedPlsqlStoredProcedureQuery;
import org.eclipse.persistence.jpa.config.NamedQuery;
import org.eclipse.persistence.jpa.config.NamedStoredFunctionQuery;
import org.eclipse.persistence.jpa.config.NamedStoredProcedureQuery;
import org.eclipse.persistence.jpa.config.OptimisticLocking;
import org.eclipse.persistence.jpa.config.PrimaryKey;
import org.eclipse.persistence.jpa.config.QueryRedirectors;
import org.eclipse.persistence.jpa.config.SequenceGenerator;
import org.eclipse.persistence.jpa.config.SqlResultSetMapping;
import org.eclipse.persistence.jpa.config.TableGenerator;
import org.eclipse.persistence.jpa.config.UuidGenerator;
/**
* JPA scripting API implementation.
*
* @author Guy Pelletier
* @since EclipseLink 2.5.1
*/
@SuppressWarnings("unchecked")
public abstract class AbstractMappedClassImpl extends AbstractClassImpl {
public AbstractMappedClassImpl(T t) {
super(t);
getMetadata().setCacheIndexes(new ArrayList());
getMetadata().setEntityListeners(new ArrayList());
getMetadata().setFetchGroups(new ArrayList());
getMetadata().setNamedNativeQueries(new ArrayList());
getMetadata().setNamedQueries(new ArrayList());
getMetadata().setNamedStoredFunctionQueries(new ArrayList());
getMetadata().setNamedStoredProcedureQueries(new ArrayList());
getMetadata().setNamedPLSQLStoredFunctionQueries(new ArrayList());
getMetadata().setNamedPLSQLStoredProcedureQueries(new ArrayList());
getMetadata().setSqlResultSetMappings(new ArrayList());
}
public CacheIndex addCacheIndex() {
CacheIndexImpl cacheIndex = new CacheIndexImpl();
getMetadata().getCacheIndexes().add(cacheIndex.getMetadata());
return cacheIndex;
}
public EntityListener addEntityListener() {
EntityListenerImpl listener = new EntityListenerImpl();
getMetadata().getEntityListeners().add(listener.getMetadata());
return listener;
}
public FetchGroup addFetchGroup() {
FetchGroupImpl fetchGroup = new FetchGroupImpl();
getMetadata().getFetchGroups().add(fetchGroup.getMetadata());
return fetchGroup;
}
public NamedNativeQuery addNamedNativeQuery() {
NamedNativeQueryImpl query = new NamedNativeQueryImpl();
getMetadata().getNamedNativeQueries().add(query.getMetadata());
return query;
}
public NamedPlsqlStoredFunctionQuery addNamedPLSQLStoredFunctionQuery() {
NamedPlsqlStoredFunctionQueryImpl query = new NamedPlsqlStoredFunctionQueryImpl();
getMetadata().getNamedPLSQLStoredFunctionQueries().add(query.getMetadata());
return query;
}
public NamedPlsqlStoredProcedureQuery addNamedPLSQLStoredProcedureQuery() {
NamedPlsqlStoredProcedureQueryImpl query = new NamedPlsqlStoredProcedureQueryImpl();
getMetadata().getNamedPLSQLStoredProcedureQueries().add(query.getMetadata());
return query;
}
public NamedQuery addNamedQuery() {
NamedQueryImpl namedQuery = new NamedQueryImpl();
getMetadata().getNamedQueries().add(namedQuery.getMetadata());
return namedQuery;
}
public NamedStoredFunctionQuery addNamedStoredFunctionQuery() {
NamedStoredFunctionQueryImpl query = new NamedStoredFunctionQueryImpl();
getMetadata().getNamedStoredFunctionQueries().add(query.getMetadata());
return query;
}
public NamedStoredProcedureQuery addNamedStoredProcedureQuery() {
NamedStoredProcedureQueryImpl query = new NamedStoredProcedureQueryImpl();
getMetadata().getNamedStoredProcedureQueries().add(query.getMetadata());
return query;
}
public SqlResultSetMapping addSqlResultSetMapping() {
SqlResultSetMappingImpl sqlResultSetMapping = new SqlResultSetMappingImpl();
getMetadata().getSqlResultSetMappings().add(sqlResultSetMapping.getMetadata());
return sqlResultSetMapping;
}
public AdditionalCriteria setAdditionalCriteria() {
AdditionalCriteriaImpl additionalCriteria = new AdditionalCriteriaImpl();
getMetadata().setAdditionalCriteria(additionalCriteria.getMetadata());
return additionalCriteria;
}
public Cache setCache() {
CacheImpl cache = new CacheImpl();
getMetadata().setCache(cache.getMetadata());
return cache;
}
public R setCacheable(Boolean cacheable) {
getMetadata().setCacheable(cacheable);
return (R) this;
}
public CacheInterceptor setCacheInterceptor() {
CacheInterceptorImpl cacheInterceptor = new CacheInterceptorImpl();
getMetadata().setCacheInterceptor(cacheInterceptor.getMetadata());
return cacheInterceptor;
}
public R setExcludeDefaultListeners(Boolean excludeDefaultListeners) {
getMetadata().setExcludeDefaultListeners(excludeDefaultListeners);
return (R) this;
}
public R setExcludeSuperclassListeners(Boolean excludeSuperclassListeners) {
getMetadata().setExcludeSuperclassListeners(excludeSuperclassListeners);
return (R) this;
}
public R setExistenceChecking(String existenceChecking) {
getMetadata().setExistenceChecking(existenceChecking);
return (R) this;
}
public R setIdClass(String idClass) {
getMetadata().setIdClassName(idClass);
return (R) this;
}
public Multitenant setMultitenant() {
MultitenantImpl multitenant = new MultitenantImpl();
getMetadata().setMultitenant(multitenant.getMetadata());
return multitenant;
}
public OptimisticLocking setOptimisticLocking() {
OptimisticLockingImpl optimisticLocking = new OptimisticLockingImpl();
getMetadata().setOptimisticLocking(optimisticLocking.getMetadata());
return optimisticLocking;
}
public R setPostLoad(String methodName) {
getMetadata().setPostLoad(methodName);
return (R) this;
}
public R setPostPersist(String methodName) {
getMetadata().setPostPersist(methodName);
return (R) this;
}
public R setPostRemove(String methodName) {
getMetadata().setPostRemove(methodName);
return (R) this;
}
public R setPostUpdate(String methodName) {
getMetadata().setPostUpdate(methodName);
return (R) this;
}
public R setPrePersist(String methodName) {
getMetadata().setPrePersist(methodName);
return (R) this;
}
public R setPreRemove(String methodName) {
getMetadata().setPreRemove(methodName);
return (R) this;
}
public R setPreUpdate(String methodName) {
getMetadata().setPreUpdate(methodName);
return (R) this;
}
public PrimaryKey setPrimaryKey() {
PrimaryKeyImpl primaryKey = new PrimaryKeyImpl();
getMetadata().setPrimaryKey(primaryKey.getMetadata());
return primaryKey;
}
public QueryRedirectors setQueryRedirectors() {
QueryRedirectorsImpl queryRedirectors = new QueryRedirectorsImpl();
getMetadata().setQueryRedirectors(queryRedirectors.getMetadata());
return queryRedirectors;
}
public R setReadOnly(Boolean readOnly) {
getMetadata().setReadOnly(readOnly);
return (R) this;
}
public SequenceGenerator setSequenceGenerator() {
SequenceGeneratorImpl sequenceGenerator = new SequenceGeneratorImpl();
getMetadata().setSequenceGenerator(sequenceGenerator.getMetadata());
return sequenceGenerator;
}
public TableGenerator setTableGenerator() {
TableGeneratorImpl tableGenerator = new TableGeneratorImpl();
getMetadata().setTableGenerator(tableGenerator.getMetadata());
return tableGenerator;
}
public UuidGenerator setUuidGenerator() {
UuidGeneratorImpl uuidGenerator = new UuidGeneratorImpl();
getMetadata().setUuidGenerator(uuidGenerator.getMetadata());
return uuidGenerator;
}
}