+
+ private enum TrustLevel {
+ UNTRUSTED,
+ TRUSTED_UNVERIFIED,
+ TRUSTED_VERIFIED;
+
+ private static TrustLevel[] cachedValues = null;
+
+ public static TrustLevel fromInt(int i) {
+ if (TrustLevel.cachedValues == null) {
+ TrustLevel.cachedValues = TrustLevel.values();
+ }
+ return TrustLevel.cachedValues[i];
+ }
+ }
+
+ private class Identity {
+ IdentityKey identityKey;
+ TrustLevel trustLevel;
+
+ public Identity(IdentityKey identityKey, TrustLevel trustLevel) {
+ this.identityKey = identityKey;
+ this.trustLevel = trustLevel;
+ }
+
+ public boolean isTrusted() {
+ return trustLevel == TrustLevel.TRUSTED_UNVERIFIED ||
+ trustLevel == TrustLevel.TRUSTED_VERIFIED;
+ }
+ }