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

com.speedment.common.tuple.internal.nonnullable.mapper.Tuple7MapperImpl Maven / Gradle / Ivy

Go to download

A collection of Immutable Tuple classes that represent sets of a fixed length where every element has a specific type.

There is a newer version: 3.2.10
Show 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.common.tuple.internal.nonnullable.mapper;

import com.speedment.common.tuple.Tuple7;
import com.speedment.common.tuple.TupleMapper;
import com.speedment.common.tuple.Tuples;

import java.util.function.Function;

import static java.util.Objects.requireNonNull;

/**
 * An implementation class of a {@link TupleMapper } of degree 7
 * 

* Generated by com.speedment.sources.pattern.tuple.TupleMapperImplPattern * * @param Type of the original object for the mapper to use when creating a * {@code Tuple } * @param type of element 0 * @param type of element 1 * @param type of element 2 * @param type of element 3 * @param type of element 4 * @param type of element 5 * @param type of element 6 * * @author Per Minborg */ public final class Tuple7MapperImpl implements TupleMapper> { private final Function m0; private final Function m1; private final Function m2; private final Function m3; private final Function m4; private final Function m5; private final Function m6; /** * Constructs a {@link TupleMapper } that can create {@link Tuple7 }. * * @param m0 mapper to apply for element 0 * @param m1 mapper to apply for element 1 * @param m2 mapper to apply for element 2 * @param m3 mapper to apply for element 3 * @param m4 mapper to apply for element 4 * @param m5 mapper to apply for element 5 * @param m6 mapper to apply for element 6 */ public Tuple7MapperImpl( Function m0, Function m1, Function m2, Function m3, Function m4, Function m5, Function m6) { this.m0 = requireNonNull(m0); this.m1 = requireNonNull(m1); this.m2 = requireNonNull(m2); this.m3 = requireNonNull(m3); this.m4 = requireNonNull(m4); this.m5 = requireNonNull(m5); this.m6 = requireNonNull(m6); } @Override public Tuple7 apply(T t) { return Tuples.of( m0.apply(t), m1.apply(t), m2.apply(t), m3.apply(t), m4.apply(t), m5.apply(t), m6.apply(t) ); } @Override public int degree() { return 7; } @Override public Function get(int index) { switch(index){ case 0 : return get0(); case 1 : return get1(); case 2 : return get2(); case 3 : return get3(); case 4 : return get4(); case 5 : return get5(); case 6 : return get6(); default : throw new IndexOutOfBoundsException(); } } public Function get0() { return m0; } public Function get1() { return m1; } public Function get2() { return m2; } public Function get3() { return m3; } public Function get4() { return m4; } public Function get5() { return m5; } public Function get6() { return m6; } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy