blob: 97de9683a6548e109e99070828fee1b280a64ed8 [file] [log] [blame]
/* GENERATED SOURCE. DO NOT MODIFY. */
package com.android.org.bouncycastle.jce.provider;
import com.android.org.bouncycastle.asn1.x509.ReasonFlags;
/**
* This class helps to handle CRL revocation reasons mask. Each CRL handles a
* certain set of revocation reasons.
*/
class ReasonsMask
{
private int _reasons;
/**
* Constructs are reason mask with the reasons.
*
* @param reasons The reasons.
*/
ReasonsMask(ReasonFlags reasons)
{
_reasons = reasons.intValue();
}
private ReasonsMask(int reasons)
{
_reasons = reasons;
}
/**
* A reason mask with no reason.
*
*/
ReasonsMask()
{
this(0);
}
/**
* A mask with all revocation reasons.
*/
static final ReasonsMask allReasons = new ReasonsMask(ReasonFlags.aACompromise
| ReasonFlags.affiliationChanged | ReasonFlags.cACompromise
| ReasonFlags.certificateHold | ReasonFlags.cessationOfOperation
| ReasonFlags.keyCompromise | ReasonFlags.privilegeWithdrawn
| ReasonFlags.unused | ReasonFlags.superseded);
/**
* Adds all reasons from the reasons mask to this mask.
*
* @param mask The reasons mask to add.
*/
void addReasons(ReasonsMask mask)
{
_reasons = _reasons | mask.getReasons();
}
/**
* Returns <code>true</code> if this reasons mask contains all possible
* reasons.
*
* @return <code>true</code> if this reasons mask contains all possible
* reasons.
*/
boolean isAllReasons()
{
return _reasons == allReasons._reasons ? true : false;
}
/**
* Intersects this mask with the given reasons mask.
*
* @param mask The mask to intersect with.
* @return The intersection of this and teh given mask.
*/
ReasonsMask intersect(ReasonsMask mask)
{
ReasonsMask _mask = new ReasonsMask();
_mask.addReasons(new ReasonsMask(_reasons & mask.getReasons()));
return _mask;
}
/**
* Returns <code>true</code> if the passed reasons mask has new reasons.
*
* @param mask The reasons mask which should be tested for new reasons.
* @return <code>true</code> if the passed reasons mask has new reasons.
*/
boolean hasNewReasons(ReasonsMask mask)
{
return ((_reasons | mask.getReasons() ^ _reasons) != 0);
}
/**
* Returns the reasons in this mask.
*
* @return Returns the reasons.
*/
int getReasons()
{
return _reasons;
}
}