encode method
Implementation
static void encode(
XdrDataOutputStream stream, XdrClaimPredicate encodedClaimPredicate) {
stream.writeInt(encodedClaimPredicate.discriminant.value);
switch (encodedClaimPredicate.discriminant) {
case XdrClaimPredicateType.CLAIM_PREDICATE_UNCONDITIONAL:
break;
case XdrClaimPredicateType.CLAIM_PREDICATE_AND:
int pSize = encodedClaimPredicate.andPredicates.length;
stream.writeInt(pSize);
for (int i = 0; i < pSize; i++) {
XdrClaimPredicate.encode(
stream, encodedClaimPredicate.andPredicates[i]);
}
break;
case XdrClaimPredicateType.CLAIM_PREDICATE_OR:
int pSize = encodedClaimPredicate.orPredicates.length;
stream.writeInt(pSize);
for (int i = 0; i < pSize; i++) {
XdrClaimPredicate.encode(
stream, encodedClaimPredicate.orPredicates[i]);
}
break;
case XdrClaimPredicateType.CLAIM_PREDICATE_NOT:
if (encodedClaimPredicate.notPredicate != null) {
stream.writeInt(1);
XdrClaimPredicate.encode(stream, encodedClaimPredicate.notPredicate);
} else {
stream.writeInt(0);
}
break;
case XdrClaimPredicateType.CLAIM_PREDICATE_BEFORE_ABSOLUTE_TIME:
XdrInt64.encode(stream, encodedClaimPredicate.absBefore);
break;
case XdrClaimPredicateType.CLAIM_PREDICATE_BEFORE_RELATIVE_TIME:
XdrInt64.encode(stream, encodedClaimPredicate.relBefore);
break;
}
}