package com.planet_ink.coffee_mud.core.collections; public class Quint<T, K, L, M, N> extends Quad<T, K, L, M> { public N fifth; public Quint(T frst, K scnd, L thrd, M frth, N fith) { super(frst, scnd, thrd, frth); fifth = fith; } public static final class FirstConverter<T, K, L, M, N> implements Converter<Quint<T, K, L, M, N>, T> { @Override public T convert(Quint<T, K, L, M, N> obj) { return obj.first; } } public static final class SecondConverter<T, K, L, M, N> implements Converter<Quint<T, K, L, M, N>, K> { @Override public K convert(Quint<T, K, L, M, N> obj) { return obj.second; } } public static final class ThirdConverter<T, K, L, M, N> implements Converter<Quint<T, K, L, M, N>, L> { @Override public L convert(Quint<T, K, L, M, N> obj) { return obj.third; } } public static final class FourthConverter<T, K, L, M, N> implements Converter<Quint<T, K, L, M, N>, M> { @Override public M convert(Quint<T, K, L, M, N> obj) { return obj.fourth; } } public static final class FifthConverter<T, K, L, M, N> implements Converter<Quint<T, K, L, M, N>, N> { @Override public N convert(Quint<T, K, L, M, N> obj) { return obj.fifth; } } @Override public boolean equals(Object o) { if (o == this) return true; if (o instanceof Quint) { @SuppressWarnings("rawtypes") final Quint p = (Quint) o; return ((p.first == first) || ((p.first != null) && (p.first.equals(first)))) && ((p.second == second) || ((p.second != null) && (p.second.equals(second)))) && ((p.third == third) || ((p.third != null) && (p.third.equals(third)))) && ((p.fourth == fourth) || ((p.fourth != null) && (p.fourth.equals(fourth)))) && ((p.fifth == fifth) || ((p.fifth != null) && (p.fifth.equals(fifth)))); } return super.equals(o); } @Override public int hashCode() { return super.hashCode() ^ ((fifth == null) ? 0 : fifth.hashCode()); } }