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

package org.bouncycastle.its;

import org.bouncycastle.util.Arrays;
import org.bouncycastle.oer.its.ieee1609dot2.PKRecipientInfo;
import org.bouncycastle.oer.its.ieee1609dot2.basetypes.HashedId8;
import org.bouncycastle.util.Selector;

public class ETSIRecipientID implements Selector<ETSIRecipientInfo>
{
    private final HashedId8 id;
    
    public ETSIRecipientID(final byte[] array) {
        this(new HashedId8(array));
    }
    
    public ETSIRecipientID(final HashedId8 id) {
        this.id = id;
    }
    
    @Override
    public boolean equals(final Object o) {
        if (this == o) {
            return true;
        }
        if (o == null || this.getClass() != o.getClass()) {
            return false;
        }
        final ETSIRecipientID etsiRecipientID = (ETSIRecipientID)o;
        return (this.id != null) ? this.id.equals(etsiRecipientID.id) : (etsiRecipientID.id == null);
    }
    
    @Override
    public int hashCode() {
        return (this.id != null) ? this.id.hashCode() : 0;
    }
    
    @Override
    public boolean match(final ETSIRecipientInfo etsiRecipientInfo) {
        return etsiRecipientInfo.getRecipientInfo().getChoice() == 2 && Arrays.areEqual(PKRecipientInfo.getInstance(etsiRecipientInfo.getRecipientInfo().getRecipientInfo()).getRecipientId().getHashBytes(), this.id.getHashBytes());
    }
    
    @Override
    public Object clone() {
        return this;
    }
}
