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

com.speedment.runtime.join.internal.component.stream.sql.SqlHasCreateJoin10 Maven / Gradle / Ivy

Go to download

A Speedment bundle that shades all dependencies into one jar. This is useful when deploying an application on a server.

The newest version!
/*
 *
 * Copyright (c) 2006-2019, 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.internal.component.stream.sql;

import com.speedment.common.function.Function10;
import com.speedment.common.function.Function9;
import com.speedment.runtime.config.Project;
import com.speedment.runtime.config.identifier.TableIdentifier;
import com.speedment.runtime.core.component.DbmsHandlerComponent;
import com.speedment.runtime.core.db.SqlFunction;
import com.speedment.runtime.join.Join;
import com.speedment.runtime.join.internal.component.stream.SqlAdapterMapper;
import com.speedment.runtime.join.stage.Stage;
import com.speedment.runtime.join.trait.HasCreateJoin10;
import com.speedment.runtime.join.trait.HasCreateJoin9;

import java.sql.ResultSet;
import java.util.List;

/**
 *
 * @author Per Minborg
 */
public final class SqlHasCreateJoin10
    extends AbstractSqlHasCreateJoin
    implements HasCreateJoin10 {

    public SqlHasCreateJoin10(
        final DbmsHandlerComponent dbmsHandlerComponent,
        final Project project,
        final SqlAdapterMapper sqlAdapterMapper,
        final boolean allowStreamIteratorAndSpliterator
    ) {
        super(dbmsHandlerComponent, project, sqlAdapterMapper, allowStreamIteratorAndSpliterator);
    }

    @Override
    public  Join createJoin(
        final List> stages,
        final Function10 constructor,
        final TableIdentifier t0,
        final TableIdentifier t1,
        final TableIdentifier t2,
        final TableIdentifier t3,
        final TableIdentifier t4,
        final TableIdentifier t5,
        final TableIdentifier t6,
        final TableIdentifier t7,
        final TableIdentifier t8,
        final TableIdentifier t9
    ) {
        final SqlFunction rsMapper0 = rsMapper(stages, 0, t0);
        final SqlFunction rsMapper1 = rsMapper(stages, 1, t1);
        final SqlFunction rsMapper2 = rsMapper(stages, 2, t2);
        final SqlFunction rsMapper3 = rsMapper(stages, 3, t3);
        final SqlFunction rsMapper4 = rsMapper(stages, 4, t4);
        final SqlFunction rsMapper5 = rsMapper(stages, 5, t5);
        final SqlFunction rsMapper6 = rsMapper(stages, 6, t6);
        final SqlFunction rsMapper7 = rsMapper(stages, 7, t7);
        final SqlFunction rsMapper8 = rsMapper(stages, 8, t8);
        final SqlFunction rsMapper9 = rsMapper(stages, 9, t9);
        final SqlFunction rsMapper = rs -> constructor.apply(
            rsMapper0.apply(rs),
            rsMapper1.apply(rs),
            rsMapper2.apply(rs),
            rsMapper3.apply(rs),
            rsMapper4.apply(rs),
            rsMapper5.apply(rs),
            rsMapper6.apply(rs),
            rsMapper7.apply(rs),
            rsMapper8.apply(rs),
            rsMapper9.apply(rs)
        );
        return newJoin(stages, rsMapper);
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy