Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
com.blazebit.persistence.impl.ReturningModificationCriteraBuilderFactoryImpl Maven / Gradle / Ivy
/*
* Copyright 2014 - 2020 Blazebit.
*
* 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 com.blazebit.persistence.impl;
import com.blazebit.persistence.ReturningDeleteCriteriaBuilder;
import com.blazebit.persistence.ReturningInsertCriteriaBuilder;
import com.blazebit.persistence.ReturningModificationCriteriaBuilderFactory;
import com.blazebit.persistence.ReturningUpdateCriteriaBuilder;
/**
*
* @author Christian Beikov
* @author Moritz Becker
* @since 1.1.0
*/
public class ReturningModificationCriteraBuilderFactoryImpl implements ReturningModificationCriteriaBuilderFactory {
private final MainQuery mainQuery;
private final CTEManager.CTEKey cteKey;
private final Class cteClass;
private final X result;
private final CTEBuilderListener listener;
ReturningModificationCriteraBuilderFactoryImpl(MainQuery mainQuery, CTEManager.CTEKey cteKey, Class cteClass, X result, final CTEBuilderListener listener) {
this.mainQuery = mainQuery;
this.cteKey = cteKey;
this.cteClass = cteClass;
this.result = result;
this.listener = listener;
}
@Override
public ReturningDeleteCriteriaBuilder delete(Class deleteClass) {
return delete(deleteClass, null);
}
@Override
public ReturningDeleteCriteriaBuilder delete(Class deleteClass, String alias) {
ReturningDeleteCriteriaBuilderImpl cb = new ReturningDeleteCriteriaBuilderImpl(mainQuery, mainQuery.cteManager.getQueryContext(), deleteClass, alias, cteKey, cteClass, result, listener);
listener.onBuilderStarted(cb);
return cb;
}
@Override
public ReturningDeleteCriteriaBuilder deleteCollection(Class deleteOwnerClass, String collectionName) {
return deleteCollection(deleteOwnerClass, null, collectionName);
}
@Override
public ReturningDeleteCriteriaBuilder deleteCollection(Class deleteOwnerClass, String alias, String collectionName) {
ReturningDeleteCollectionCriteriaBuilderImpl cb = new ReturningDeleteCollectionCriteriaBuilderImpl(mainQuery, mainQuery.cteManager.getQueryContext(), deleteOwnerClass, alias, cteKey, cteClass, result, listener, collectionName);
listener.onBuilderStarted(cb);
return cb;
}
@Override
public ReturningUpdateCriteriaBuilder update(Class updateClass) {
return update(updateClass, null);
}
@Override
public ReturningUpdateCriteriaBuilder update(Class updateClass, String alias) {
ReturningUpdateCriteriaBuilderImpl cb = new ReturningUpdateCriteriaBuilderImpl(mainQuery, mainQuery.cteManager.getQueryContext(), updateClass, alias, cteKey, cteClass, result, listener);
listener.onBuilderStarted(cb);
return cb;
}
@Override
public ReturningUpdateCriteriaBuilder updateCollection(Class updateOwnerClass, String collectionName) {
return updateCollection(updateOwnerClass, null, collectionName);
}
@Override
public ReturningUpdateCriteriaBuilder updateCollection(Class updateOwnerClass, String alias, String collectionName) {
ReturningUpdateCollectionCriteriaBuilderImpl cb = new ReturningUpdateCollectionCriteriaBuilderImpl(mainQuery, mainQuery.cteManager.getQueryContext(), updateOwnerClass, alias, cteKey, cteClass, result, listener, collectionName);
listener.onBuilderStarted(cb);
return cb;
}
@Override
public ReturningInsertCriteriaBuilder insert(Class insertClass) {
ReturningInsertCriteriaBuilderImpl cb = new ReturningInsertCriteriaBuilderImpl(mainQuery, mainQuery.cteManager.getQueryContext(), insertClass, cteKey, cteClass, result, listener);
listener.onBuilderStarted(cb);
return cb;
}
@Override
public ReturningInsertCriteriaBuilder insertCollection(Class insertOwnerClass, String collectionName) {
ReturningInsertCollectionCriteriaBuilderImpl cb = new ReturningInsertCollectionCriteriaBuilderImpl(mainQuery, mainQuery.cteManager.getQueryContext(), insertOwnerClass, cteKey, cteClass, result, listener, collectionName);
listener.onBuilderStarted(cb);
return cb;
}
}