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

package org.bouncycastle.cms;

import java.math.BigInteger;
import org.bouncycastle.asn1.x500.X500Name;
import org.bouncycastle.cert.selector.X509CertificateHolderSelector;

public class KeyAgreeRecipientId extends PKIXRecipientId
{
    private KeyAgreeRecipientId(final X509CertificateHolderSelector x509CertificateHolderSelector) {
        super(2, x509CertificateHolderSelector);
    }
    
    public KeyAgreeRecipientId(final byte[] array) {
        super(2, null, null, array);
    }
    
    public KeyAgreeRecipientId(final X500Name x500Name, final BigInteger bigInteger) {
        super(2, x500Name, bigInteger, null);
    }
    
    public KeyAgreeRecipientId(final X500Name x500Name, final BigInteger bigInteger, final byte[] array) {
        super(2, x500Name, bigInteger, array);
    }
    
    @Override
    public X500Name getIssuer() {
        return this.baseSelector.getIssuer();
    }
    
    @Override
    public BigInteger getSerialNumber() {
        return this.baseSelector.getSerialNumber();
    }
    
    @Override
    public byte[] getSubjectKeyIdentifier() {
        return this.baseSelector.getSubjectKeyIdentifier();
    }
    
    @Override
    public int hashCode() {
        return this.baseSelector.hashCode();
    }
    
    @Override
    public boolean equals(final Object o) {
        return o instanceof KeyAgreeRecipientId && this.baseSelector.equals(((KeyAgreeRecipientId)o).baseSelector);
    }
    
    @Override
    public Object clone() {
        return new KeyAgreeRecipientId(this.baseSelector);
    }
    
    @Override
    public boolean match(final Object o) {
        if (o instanceof KeyAgreeRecipientInformation) {
            return ((KeyAgreeRecipientInformation)o).getRID().equals(this);
        }
        return this.baseSelector.match(o);
    }
}
