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.
/*
* Copyright (c) 2017 Cadenza United Kingdom Limited
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*/
package com.cadenzauk.core.tuple;
import com.cadenzauk.core.function.Function8;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
import java.util.function.Function;
public class Tuple8 implements Tuple {
private final T1 item1;
private final T2 item2;
private final T3 item3;
private final T4 item4;
private final T5 item5;
private final T6 item6;
private final T7 item7;
private final T8 item8;
public Tuple8(T1 item1, T2 item2, T3 item3, T4 item4, T5 item5, T6 item6, T7 item7, T8 item8) {
this.item1 = item1;
this.item2 = item2;
this.item3 = item3;
this.item4 = item4;
this.item5 = item5;
this.item6 = item6;
this.item7 = item7;
this.item8 = item8;
}
@Override
public String toString() {
return "(" + item1 +
", " + item2 +
", " + item3 +
", " + item4 +
", " + item5 +
", " + item6 +
", " + item7 +
", " + item8 +
')';
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Tuple8,?,?,?,?,?,?,?> tuple8 = (Tuple8,?,?,?,?,?,?,?>) o;
return new EqualsBuilder()
.append(item1, tuple8.item1)
.append(item2, tuple8.item2)
.append(item3, tuple8.item3)
.append(item4, tuple8.item4)
.append(item5, tuple8.item5)
.append(item6, tuple8.item6)
.append(item7, tuple8.item7)
.append(item8, tuple8.item8)
.isEquals();
}
@Override
public int hashCode() {
return new HashCodeBuilder(17, 37)
.append(item1)
.append(item2)
.append(item3)
.append(item4)
.append(item5)
.append(item6)
.append(item7)
.append(item8)
.toHashCode();
}
public T1 item1() {
return item1;
}
public T2 item2() {
return item2;
}
public T3 item3() {
return item3;
}
public T4 item4() {
return item4;
}
public T5 item5() {
return item5;
}
public T6 item6() {
return item6;
}
public T7 item7() {
return item7;
}
public T8 item8() {
return item8;
}
public T map(Function8 function) {
return function.apply(item1, item2, item3, item4, item5, item6, item7, item8);
}
public Tuple8 map1(Function function) {
return Tuple.of(
function.apply(item1),
item2,
item3,
item4,
item5,
item6,
item7,
item8
);
}
public Tuple8 map2(Function function) {
return Tuple.of(
item1,
function.apply(item2),
item3,
item4,
item5,
item6,
item7,
item8
);
}
public Tuple8 map3(Function function) {
return Tuple.of(
item1,
item2,
function.apply(item3),
item4,
item5,
item6,
item7,
item8
);
}
public Tuple8 map4(Function function) {
return Tuple.of(
item1,
item2,
item3,
function.apply(item4),
item5,
item6,
item7,
item8
);
}
public Tuple8 map5(Function function) {
return Tuple.of(
item1,
item2,
item3,
item4,
function.apply(item5),
item6,
item7,
item8
);
}
public Tuple8 map6(Function function) {
return Tuple.of(
item1,
item2,
item3,
item4,
item5,
function.apply(item6),
item7,
item8
);
}
public Tuple8 map7(Function function) {
return Tuple.of(
item1,
item2,
item3,
item4,
item5,
item6,
function.apply(item7),
item8
);
}
public Tuple8 map8(Function function) {
return Tuple.of(
item1,
item2,
item3,
item4,
item5,
item6,
item7,
function.apply(item8)
);
}
}