com.speedment.runtime.join.internal.component.stream.sql.SqlHasCreateJoin10 Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of runtime-deploy Show documentation
Show all versions of runtime-deploy Show documentation
A Speedment bundle that shades all dependencies into one jar. This is
useful when deploying an application on a server.
/**
*
* Copyright (c) 2006-2018, 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);
}
}