app.data.local.CollectionRepository.java Source code

Java tutorial

Introduction

Here is the source code for app.data.local.CollectionRepository.java

Source

/*
 * Copyright 2016 TomeOkin
 * 
 * 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 app.data.local;

import app.data.model.Collection;
import app.data.model.Link;
import app.data.model.User;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.CrudRepository;

public interface CollectionRepository
        extends CrudRepository<Collection, Long>, JpaSpecificationExecutor<Collection> {

    Page<Collection> findByUser(User user, Pageable pageable);

    Collection findOneByUserAndLink(User user, Link link);

    Page<Collection> findByLink(Link link, Pageable pageable);

    // just for test now, don't need cache
    //void removeByUserAndLink(User user, Link link);

    @Override
    void delete(Long id);

    @Override
    Collection findOne(Long id);

    @Override
    <S extends Collection> S save(S entity);

    Page<Collection> findAll(Pageable pageable);
}