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

com.speedment.runtime.join.provider.DelegateSqlJoinStreamSupplierComponent Maven / Gradle / Ivy

The newest version!
/*
 *
 * Copyright (c) 2006-2020, Speedment, Inc. All Rights Reserved.
 *
 * 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.speedment.runtime.join.provider;

import com.speedment.common.function.*;
import com.speedment.common.injector.Injector;
import com.speedment.common.injector.annotation.Config;
import com.speedment.common.injector.annotation.Execute;
import com.speedment.runtime.config.identifier.TableIdentifier;
import com.speedment.runtime.core.component.DbmsHandlerComponent;
import com.speedment.runtime.core.component.ProjectComponent;
import com.speedment.runtime.join.Join;
import com.speedment.runtime.join.JoinStreamSupplierComponent;
import com.speedment.runtime.join.internal.component.stream.SqlJoinStreamSupplierComponent;
import com.speedment.runtime.join.stage.Stage;

import java.util.List;
import java.util.function.BiFunction;

public class DelegateSqlJoinStreamSupplierComponent implements JoinStreamSupplierComponent {

    private final SqlJoinStreamSupplierComponent inner;

    public DelegateSqlJoinStreamSupplierComponent(
        @Config(name = "allowStreamIteratorAndSpliterator", value = "false") final boolean allowStreamIteratorAndSpliterator
    ) {
        this.inner = new SqlJoinStreamSupplierComponent(allowStreamIteratorAndSpliterator);
    }

    @Execute
    public void init(Injector injector, ProjectComponent projectComponent, DbmsHandlerComponent dbmsHandlerComponent) {
        inner.init(injector, projectComponent, dbmsHandlerComponent);
    }

    @Override
    public  Join createJoin(List> stages, BiFunction constructor, TableIdentifier t0, TableIdentifier t1) {
        return inner.createJoin(stages, constructor, t0, t1);
    }

    @Override
    public  Join createJoin(List> stages, TriFunction constructor, TableIdentifier t0, TableIdentifier t1, TableIdentifier t2) {
        return inner.createJoin(stages, constructor, t0, t1, t2);
    }

    @Override
    public  Join createJoin(List> stages, QuadFunction constructor, TableIdentifier t0, TableIdentifier t1, TableIdentifier t2, TableIdentifier t3) {
        return inner.createJoin(stages, constructor, t0, t1, t2, t3);
    }

    @Override
    public  Join createJoin(List> stages, Function5 constructor, TableIdentifier t0, TableIdentifier t1, TableIdentifier t2, TableIdentifier t3, TableIdentifier t4) {
        return inner.createJoin(stages, constructor, t0, t1, t2, t3, t4);
    }

    @Override
    public  Join createJoin(List> stages, Function6 constructor, TableIdentifier t0, TableIdentifier t1, TableIdentifier t2, TableIdentifier t3, TableIdentifier t4, TableIdentifier t5) {
        return inner.createJoin(stages, constructor, t0, t1, t2, t3, t4, t5);
    }

    @Override
    public  Join createJoin(List> stages, Function7 constructor, TableIdentifier t0, TableIdentifier t1, TableIdentifier t2, TableIdentifier t3, TableIdentifier t4, TableIdentifier t5, TableIdentifier t6) {
        return inner.createJoin(stages, constructor, t0, t1, t2, t3, t4, t5, t6);
    }

    @Override
    public  Join createJoin(List> stages, Function8 constructor, TableIdentifier t0, TableIdentifier t1, TableIdentifier t2, TableIdentifier t3, TableIdentifier t4, TableIdentifier t5, TableIdentifier t6, TableIdentifier t7) {
        return inner.createJoin(stages, constructor, t0, t1, t2, t3, t4, t5, t6, t7);
    }

    @Override
    public  Join createJoin(List> stages, Function9 constructor, TableIdentifier t0, TableIdentifier t1, TableIdentifier t2, TableIdentifier t3, TableIdentifier t4, TableIdentifier t5, TableIdentifier t6, TableIdentifier t7, TableIdentifier t8) {
        return inner.createJoin(stages, constructor, t0, t1, t2, t3, t4, t5, t6, t7, t8);
    }

    @Override
    public  Join createJoin(List> stages, Function10 constructor, TableIdentifier t0, TableIdentifier t1, TableIdentifier t2, TableIdentifier t3, TableIdentifier t4, TableIdentifier t5, TableIdentifier t6, TableIdentifier t7, TableIdentifier t8, TableIdentifier t9) {
        return inner.createJoin(stages, constructor, t0, t1, t2, t3, t4, t5, t6, t7, t8, t9);
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy