// 
// Decompiled by Procyon v0.6.0
// 

package it.unimi.dsi.fastutil.objects;

import it.unimi.dsi.fastutil.Pair;
import java.util.Objects;
import java.io.Serializable;

public class ObjectShortMutablePair<K> implements ObjectShortPair<K>, Serializable
{
    private static final long serialVersionUID = 0L;
    protected K left;
    protected short right;
    
    public ObjectShortMutablePair(final K left, final short right) {
        this.left = left;
        this.right = right;
    }
    
    public static <K> ObjectShortMutablePair<K> of(final K left, final short right) {
        return new ObjectShortMutablePair<K>(left, right);
    }
    
    @Override
    public K left() {
        return this.left;
    }
    
    @Override
    public ObjectShortMutablePair<K> left(final K l) {
        this.left = l;
        return this;
    }
    
    @Override
    public short rightShort() {
        return this.right;
    }
    
    @Override
    public ObjectShortMutablePair<K> right(final short r) {
        this.right = r;
        return this;
    }
    
    @Override
    public boolean equals(final Object other) {
        if (other == null) {
            return false;
        }
        if (other instanceof ObjectShortPair) {
            return Objects.equals(this.left, ((ObjectShortPair)other).left()) && this.right == ((ObjectShortPair)other).rightShort();
        }
        return other instanceof Pair && Objects.equals(this.left, ((Pair)other).left()) && Objects.equals(this.right, ((Pair)other).right());
    }
    
    @Override
    public int hashCode() {
        return ((this.left == null) ? 0 : this.left.hashCode()) * 19 + this.right;
    }
    
    @Override
    public String toString() {
        return "<" + this.left() + "," + this.rightShort() + ">";
    }
}
