decode method
Implementation
static XdrClaimPredicate decode(XdrDataInputStream stream) {
XdrClaimPredicate decoded = XdrClaimPredicate();
XdrClaimPredicateType discriminant = XdrClaimPredicateType.decode(stream);
decoded.discriminant = discriminant;
switch (decoded.discriminant) {
case XdrClaimPredicateType.CLAIM_PREDICATE_UNCONDITIONAL:
break;
case XdrClaimPredicateType.CLAIM_PREDICATE_AND:
int predicatesSize = stream.readInt();
decoded.andPredicates = List<XdrClaimPredicate>(predicatesSize);
for (int i = 0; i < predicatesSize; i++) {
decoded.andPredicates[i] = XdrClaimPredicate.decode(stream);
}
break;
case XdrClaimPredicateType.CLAIM_PREDICATE_OR:
int predicatesSize = stream.readInt();
decoded.orPredicates = List<XdrClaimPredicate>(predicatesSize);
for (int i = 0; i < predicatesSize; i++) {
decoded.orPredicates[i] = XdrClaimPredicate.decode(stream);
}
break;
case XdrClaimPredicateType.CLAIM_PREDICATE_NOT:
decoded.notPredicate = XdrClaimPredicate.decode(stream);
break;
case XdrClaimPredicateType.CLAIM_PREDICATE_BEFORE_ABSOLUTE_TIME:
decoded.absBefore = XdrInt64.decode(stream);
break;
case XdrClaimPredicateType.CLAIM_PREDICATE_BEFORE_RELATIVE_TIME:
decoded.relBefore = XdrInt64.decode(stream);
break;
}
return decoded;
}