All Downloads are FREE. Search and download functionalities are using the official Maven repository.
Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
com.speedment.common.tuple.nullable.Tuple9OfNullables 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.
/*
*
* 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.nullable;
import com.speedment.common.tuple.MutableTuple;
import com.speedment.common.tuple.Tuple;
import com.speedment.common.tuple.TupleOfNullables;
import com.speedment.common.tuple.getter.TupleGetter0;
import com.speedment.common.tuple.getter.TupleGetter1;
import com.speedment.common.tuple.getter.TupleGetter2;
import com.speedment.common.tuple.getter.TupleGetter3;
import com.speedment.common.tuple.getter.TupleGetter4;
import com.speedment.common.tuple.getter.TupleGetter5;
import com.speedment.common.tuple.getter.TupleGetter6;
import com.speedment.common.tuple.getter.TupleGetter7;
import com.speedment.common.tuple.getter.TupleGetter8;
import com.speedment.common.tuple.getter.TupleGetter;
import java.util.Optional;
/**
* This interface defines a generic {@link TupleOfNullables} of degree9 that can
* hold null values. A TupleOfNullable is type safe, immutable and thread safe.
* For pure non-null value elements see {@link Tuple}. For mutable tuples see
* {@link MutableTuple}
* This {@link TupleOfNullables} has a degree of 9
*
* Generated by com.speedment.sources.pattern.tuple.TuplePattern
*
* @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
* @param type of element 7
* @param type of element 8
*
* @author Per Minborg
*
* @see Tuple
* @see TupleOfNullables
* @see MutableTuple
*/
public interface Tuple9OfNullables extends TupleOfNullables {
/**
* Returns the 0th element from this tuple.
*
* @return the 0th element from this tuple.
*/
Optional get0();
/**
* Returns the 1st element from this tuple.
*
* @return the 1st element from this tuple.
*/
Optional get1();
/**
* Returns the 2nd element from this tuple.
*
* @return the 2nd element from this tuple.
*/
Optional get2();
/**
* Returns the 3rd element from this tuple.
*
* @return the 3rd element from this tuple.
*/
Optional get3();
/**
* Returns the 4th element from this tuple.
*
* @return the 4th element from this tuple.
*/
Optional get4();
/**
* Returns the 5th element from this tuple.
*
* @return the 5th element from this tuple.
*/
Optional get5();
/**
* Returns the 6th element from this tuple.
*
* @return the 6th element from this tuple.
*/
Optional get6();
/**
* Returns the 7th element from this tuple.
*
* @return the 7th element from this tuple.
*/
Optional get7();
/**
* Returns the 8th element from this tuple.
*
* @return the 8th element from this tuple.
*/
Optional get8();
@Override
default int degree() {
return 9;
}
@SuppressWarnings("unchecked")
default Optional get(int index) {
switch (index) {
case 0 : return (Optional)get0();
case 1 : return (Optional)get1();
case 2 : return (Optional)get2();
case 3 : return (Optional)get3();
case 4 : return (Optional)get4();
case 5 : return (Optional)get5();
case 6 : return (Optional)get6();
case 7 : return (Optional)get7();
case 8 : return (Optional)get8();
default : throw new IllegalArgumentException(String.format("Index %d is outside bounds of tuple of degree %s", index, degree()
));
}
}
/**
* Returns a {@link TupleGetter getter} for the 0th element in the {@code
* Tuple}.
*
* @return the element at the 0th position
* @param the 0th element type
* @param the 1st element type
* @param the 2nd element type
* @param the 3rd element type
* @param the 4th element type
* @param the 5th element type
* @param the 6th element type
* @param the 7th element type
* @param the 8th element type
*/
static TupleGetter0, Optional> getter0() {
return Tuple9OfNullables::get0;
}
/**
* Returns the 0th element from this tuple or {@code null} if no such
* element is present.
*
* @return the 0th element from this tuple or {@code null} if no such
* element is present.
*/
default T0 getOrNull0() {
return get0().orElse(null);
}
/**
* Returns a {@link TupleGetter getter} for the 0th element in the {@code
* Tuple}.
*
* @return the element at the 0th position
* @param the 0th element type
* @param the 1st element type
* @param the 2nd element type
* @param the 3rd element type
* @param the 4th element type
* @param the 5th element type
* @param the 6th element type
* @param the 7th element type
* @param the 8th element type
*/
static TupleGetter0, T0> getterOrNull0() {
return Tuple9OfNullables::getOrNull0;
}
/**
* Returns a {@link TupleGetter getter} for the 1st element in the {@code
* Tuple}.
*
* @return the element at the 1st position
* @param the 0th element type
* @param the 1st element type
* @param the 2nd element type
* @param the 3rd element type
* @param the 4th element type
* @param the 5th element type
* @param the 6th element type
* @param the 7th element type
* @param the 8th element type
*/
static TupleGetter1, Optional> getter1() {
return Tuple9OfNullables::get1;
}
/**
* Returns the 1st element from this tuple or {@code null} if no such
* element is present.
*
* @return the 1st element from this tuple or {@code null} if no such
* element is present.
*/
default T1 getOrNull1() {
return get1().orElse(null);
}
/**
* Returns a {@link TupleGetter getter} for the 1st element in the {@code
* Tuple}.
*
* @return the element at the 1st position
* @param the 0th element type
* @param the 1st element type
* @param the 2nd element type
* @param the 3rd element type
* @param the 4th element type
* @param the 5th element type
* @param the 6th element type
* @param the 7th element type
* @param the 8th element type
*/
static TupleGetter1, T1> getterOrNull1() {
return Tuple9OfNullables::getOrNull1;
}
/**
* Returns a {@link TupleGetter getter} for the 2nd element in the {@code
* Tuple}.
*
* @return the element at the 2nd position
* @param the 0th element type
* @param the 1st element type
* @param the 2nd element type
* @param the 3rd element type
* @param the 4th element type
* @param the 5th element type
* @param the 6th element type
* @param the 7th element type
* @param the 8th element type
*/
static TupleGetter2, Optional> getter2() {
return Tuple9OfNullables::get2;
}
/**
* Returns the 2nd element from this tuple or {@code null} if no such
* element is present.
*
* @return the 2nd element from this tuple or {@code null} if no such
* element is present.
*/
default T2 getOrNull2() {
return get2().orElse(null);
}
/**
* Returns a {@link TupleGetter getter} for the 2nd element in the {@code
* Tuple}.
*
* @return the element at the 2nd position
* @param the 0th element type
* @param the 1st element type
* @param the 2nd element type
* @param the 3rd element type
* @param the 4th element type
* @param the 5th element type
* @param the 6th element type
* @param the 7th element type
* @param the 8th element type
*/
static TupleGetter2, T2> getterOrNull2() {
return Tuple9OfNullables::getOrNull2;
}
/**
* Returns a {@link TupleGetter getter} for the 3rd element in the {@code
* Tuple}.
*
* @return the element at the 3rd position
* @param the 0th element type
* @param the 1st element type
* @param the 2nd element type
* @param the 3rd element type
* @param the 4th element type
* @param the 5th element type
* @param the 6th element type
* @param the 7th element type
* @param the 8th element type
*/
static TupleGetter3, Optional> getter3() {
return Tuple9OfNullables::get3;
}
/**
* Returns the 3rd element from this tuple or {@code null} if no such
* element is present.
*
* @return the 3rd element from this tuple or {@code null} if no such
* element is present.
*/
default T3 getOrNull3() {
return get3().orElse(null);
}
/**
* Returns a {@link TupleGetter getter} for the 3rd element in the {@code
* Tuple}.
*
* @return the element at the 3rd position
* @param the 0th element type
* @param the 1st element type
* @param the 2nd element type
* @param the 3rd element type
* @param the 4th element type
* @param the 5th element type
* @param the 6th element type
* @param the 7th element type
* @param the 8th element type
*/
static TupleGetter3, T3> getterOrNull3() {
return Tuple9OfNullables::getOrNull3;
}
/**
* Returns a {@link TupleGetter getter} for the 4th element in the {@code
* Tuple}.
*
* @return the element at the 4th position
* @param the 0th element type
* @param the 1st element type
* @param the 2nd element type
* @param the 3rd element type
* @param the 4th element type
* @param the 5th element type
* @param the 6th element type
* @param the 7th element type
* @param the 8th element type
*/
static TupleGetter4, Optional> getter4() {
return Tuple9OfNullables::get4;
}
/**
* Returns the 4th element from this tuple or {@code null} if no such
* element is present.
*
* @return the 4th element from this tuple or {@code null} if no such
* element is present.
*/
default T4 getOrNull4() {
return get4().orElse(null);
}
/**
* Returns a {@link TupleGetter getter} for the 4th element in the {@code
* Tuple}.
*
* @return the element at the 4th position
* @param the 0th element type
* @param the 1st element type
* @param the 2nd element type
* @param the 3rd element type
* @param the 4th element type
* @param the 5th element type
* @param the 6th element type
* @param the 7th element type
* @param the 8th element type
*/
static TupleGetter4, T4> getterOrNull4() {
return Tuple9OfNullables::getOrNull4;
}
/**
* Returns a {@link TupleGetter getter} for the 5th element in the {@code
* Tuple}.
*
* @return the element at the 5th position
* @param the 0th element type
* @param the 1st element type
* @param the 2nd element type
* @param the 3rd element type
* @param the 4th element type
* @param the 5th element type
* @param the 6th element type
* @param the 7th element type
* @param the 8th element type
*/
static TupleGetter5, Optional> getter5() {
return Tuple9OfNullables::get5;
}
/**
* Returns the 5th element from this tuple or {@code null} if no such
* element is present.
*
* @return the 5th element from this tuple or {@code null} if no such
* element is present.
*/
default T5 getOrNull5() {
return get5().orElse(null);
}
/**
* Returns a {@link TupleGetter getter} for the 5th element in the {@code
* Tuple}.
*
* @return the element at the 5th position
* @param the 0th element type
* @param the 1st element type
* @param the 2nd element type
* @param the 3rd element type
* @param the 4th element type
* @param the 5th element type
* @param the 6th element type
* @param the 7th element type
* @param the 8th element type
*/
static TupleGetter5, T5> getterOrNull5() {
return Tuple9OfNullables::getOrNull5;
}
/**
* Returns a {@link TupleGetter getter} for the 6th element in the {@code
* Tuple}.
*
* @return the element at the 6th position
* @param the 0th element type
* @param the 1st element type
* @param the 2nd element type
* @param the 3rd element type
* @param the 4th element type
* @param the 5th element type
* @param the 6th element type
* @param the 7th element type
* @param the 8th element type
*/
static TupleGetter6, Optional> getter6() {
return Tuple9OfNullables::get6;
}
/**
* Returns the 6th element from this tuple or {@code null} if no such
* element is present.
*
* @return the 6th element from this tuple or {@code null} if no such
* element is present.
*/
default T6 getOrNull6() {
return get6().orElse(null);
}
/**
* Returns a {@link TupleGetter getter} for the 6th element in the {@code
* Tuple}.
*
* @return the element at the 6th position
* @param the 0th element type
* @param the 1st element type
* @param the 2nd element type
* @param the 3rd element type
* @param the 4th element type
* @param the 5th element type
* @param the 6th element type
* @param the 7th element type
* @param the 8th element type
*/
static TupleGetter6, T6> getterOrNull6() {
return Tuple9OfNullables::getOrNull6;
}
/**
* Returns a {@link TupleGetter getter} for the 7th element in the {@code
* Tuple}.
*
* @return the element at the 7th position
* @param the 0th element type
* @param the 1st element type
* @param the 2nd element type
* @param the 3rd element type
* @param the 4th element type
* @param the 5th element type
* @param the 6th element type
* @param the 7th element type
* @param the 8th element type
*/
static TupleGetter7, Optional> getter7() {
return Tuple9OfNullables::get7;
}
/**
* Returns the 7th element from this tuple or {@code null} if no such
* element is present.
*
* @return the 7th element from this tuple or {@code null} if no such
* element is present.
*/
default T7 getOrNull7() {
return get7().orElse(null);
}
/**
* Returns a {@link TupleGetter getter} for the 7th element in the {@code
* Tuple}.
*
* @return the element at the 7th position
* @param the 0th element type
* @param the 1st element type
* @param the 2nd element type
* @param the 3rd element type
* @param the 4th element type
* @param the 5th element type
* @param the 6th element type
* @param the 7th element type
* @param the 8th element type
*/
static TupleGetter7, T7> getterOrNull7() {
return Tuple9OfNullables::getOrNull7;
}
/**
* Returns a {@link TupleGetter getter} for the 8th element in the {@code
* Tuple}.
*
* @return the element at the 8th position
* @param the 0th element type
* @param the 1st element type
* @param the 2nd element type
* @param the 3rd element type
* @param the 4th element type
* @param the 5th element type
* @param the 6th element type
* @param the 7th element type
* @param the 8th element type
*/
static TupleGetter8, Optional> getter8() {
return Tuple9OfNullables::get8;
}
/**
* Returns the 8th element from this tuple or {@code null} if no such
* element is present.
*
* @return the 8th element from this tuple or {@code null} if no such
* element is present.
*/
default T8 getOrNull8() {
return get8().orElse(null);
}
/**
* Returns a {@link TupleGetter getter} for the 8th element in the {@code
* Tuple}.
*
* @return the element at the 8th position
* @param the 0th element type
* @param the 1st element type
* @param the 2nd element type
* @param the 3rd element type
* @param the 4th element type
* @param the 5th element type
* @param the 6th element type
* @param the 7th element type
* @param the 8th element type
*/
static TupleGetter8, T8> getterOrNull8() {
return Tuple9OfNullables::getOrNull8;
}
}