All Downloads are FREE. Search and download functionalities are using the official Maven repository.

net.binis.codegen.spring.query.QueryExecute Maven / Gradle / Ivy

There is a newer version: 1.2.21
Show newest version
package net.binis.codegen.spring.query;

/*-
 * #%L
 * code-generator-spring
 * %%
 * Copyright (C) 2021 - 2024 Binis Belev
 * %%
 * 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.
 * #L%
 */

import jakarta.persistence.FlushModeType;
import jakarta.persistence.LockModeType;
import jakarta.persistence.Tuple;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;

import java.util.List;
import java.util.Optional;
import java.util.function.Consumer;

public interface QueryExecute extends Queryable {

    R ensure();
    Optional reference();
    Optional get();
     Optional get(Class cls);
    List list();
    List references();
     List list(Class cls);
    long count();
    Optional top();
     Optional top(Class cls);
    List top(long records);
     List top(long records, Class cls);

    Page page(long pageSize);
     Page page(long pageSize, Class cls);
    Page page(Pageable pageable);
     Page page(Pageable pageable, Class cls);
    void paginated(long pageSize, Consumer consumer);
    void paginated(Pageable pageable, Consumer consumer);
     void paginated(long pageSize, Class cls, Consumer consumer);
     void paginated(Pageable pageable, Class cls, Consumer consumer);
    void paged(long pageSize, Consumer> consumer);
    void paged(Pageable pageable, Consumer> consumer);
     void paged(long pageSize, Class cls, Consumer> consumer);
     void paged(Pageable pageable, Class cls, Consumer> consumer);

    Optional tuple();
     Optional> tuple(Class cls);
    List tuples();
     List tuples(Class cls);
    PreparedQuery prepare();

     QueryExecute projection(Class projection);
    QueryExecute flush(FlushModeType type);
    QueryExecute lock(LockModeType type);
    QueryExecute hint(String hint, Object value);
    QueryFilter filter(String name);

    boolean exists();
    boolean notExists();
    void delete();
    int remove();
    int run();

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy