BiometricAccuracyDescriptor.java

1
package com.yubico.fido.metadata;
2
3
import com.fasterxml.jackson.annotation.JsonProperty;
4
import java.util.Optional;
5
import lombok.Builder;
6
import lombok.Value;
7
import lombok.extern.jackson.Jacksonized;
8
9
/**
10
 * The BiometricAccuracyDescriptor describes relevant accuracy/complexity aspects in the case of a
11
 * biometric user verification method, see [<a
12
 * href="https://fidoalliance.org/specs/biometric/requirements/Biometrics-Requirements-v2.0-fd-20201006.html">FIDOBiometricsRequirements</a>].
13
 *
14
 * <p>At least one of the values MUST be set. If the vendor doesn’t want to specify such values,
15
 * then {@link VerificationMethodDescriptor#getBaDesc()} MUST be omitted.
16
 *
17
 * @see <a
18
 *     href="https://fidoalliance.org/specs/mds/fido-metadata-statement-v3.0-ps-20210518.html#biometricaccuracydescriptor-dictionary">FIDO
19
 *     Metadata Statement §3.3. BiometricAccuracyDescriptor dictionary</a>
20
 */
21
@Value
22
@Builder(toBuilder = true)
23
@Jacksonized
24
public class BiometricAccuracyDescriptor {
25
26
  Double selfAttestedFRR;
27
  Double selfAttestedFAR;
28
  Double iAPARThreshold;
29
  Integer maxTemplates;
30
  Integer maxRetries;
31
  Integer blockSlowdown;
32
33
  /**
34
   * @see <a
35
   *     href="https://fidoalliance.org/specs/mds/fido-metadata-statement-v3.0-ps-20210518.html#biometricaccuracydescriptor-dictionary">FIDO
36
   *     Metadata Statement §3.3. BiometricAccuracyDescriptor dictionary</a>
37
   */
38
  public Optional<Double> getSelfAttestedFRR() {
39 1 1. getSelfAttestedFRR : replaced return value with Optional.empty for com/yubico/fido/metadata/BiometricAccuracyDescriptor::getSelfAttestedFRR → SURVIVED
    return Optional.ofNullable(selfAttestedFRR);
40
  }
41
42
  /**
43
   * @see <a
44
   *     href="https://fidoalliance.org/specs/mds/fido-metadata-statement-v3.0-ps-20210518.html#biometricaccuracydescriptor-dictionary">FIDO
45
   *     Metadata Statement §3.3. BiometricAccuracyDescriptor dictionary</a>
46
   */
47
  public Optional<Double> getSelfAttestedFAR() {
48 1 1. getSelfAttestedFAR : replaced return value with Optional.empty for com/yubico/fido/metadata/BiometricAccuracyDescriptor::getSelfAttestedFAR → SURVIVED
    return Optional.ofNullable(selfAttestedFAR);
49
  }
50
51
  /**
52
   * @since 2.9.0
53
   * @see <a
54
   *     href="https://fidoalliance.org/specs/mds/fido-metadata-statement-v3.1-ps-20250521.html#sctn-type-bad">FIDO
55
   *     Metadata Statement §3.3. BiometricAccuracyDescriptor dictionary</a>
56
   */
57
  @JsonProperty("iAPARThreshold")
58
  public Optional<Double> getIAPARThreshold() {
59 1 1. getIAPARThreshold : replaced return value with Optional.empty for com/yubico/fido/metadata/BiometricAccuracyDescriptor::getIAPARThreshold → SURVIVED
    return Optional.ofNullable(iAPARThreshold);
60
  }
61
62
  /**
63
   * @see <a
64
   *     href="https://fidoalliance.org/specs/mds/fido-metadata-statement-v3.0-ps-20210518.html#biometricaccuracydescriptor-dictionary">FIDO
65
   *     Metadata Statement §3.3. BiometricAccuracyDescriptor dictionary</a>
66
   */
67
  public Optional<Integer> getMaxTemplates() {
68 1 1. getMaxTemplates : replaced return value with Optional.empty for com/yubico/fido/metadata/BiometricAccuracyDescriptor::getMaxTemplates → SURVIVED
    return Optional.ofNullable(maxTemplates);
69
  }
70
71
  /**
72
   * @see <a
73
   *     href="https://fidoalliance.org/specs/mds/fido-metadata-statement-v3.0-ps-20210518.html#biometricaccuracydescriptor-dictionary">FIDO
74
   *     Metadata Statement §3.3. BiometricAccuracyDescriptor dictionary</a>
75
   */
76
  public Optional<Integer> getMaxRetries() {
77 1 1. getMaxRetries : replaced return value with Optional.empty for com/yubico/fido/metadata/BiometricAccuracyDescriptor::getMaxRetries → SURVIVED
    return Optional.ofNullable(maxRetries);
78
  }
79
80
  /**
81
   * @see <a
82
   *     href="https://fidoalliance.org/specs/mds/fido-metadata-statement-v3.0-ps-20210518.html#biometricaccuracydescriptor-dictionary">FIDO
83
   *     Metadata Statement §3.3. BiometricAccuracyDescriptor dictionary</a>
84
   */
85
  public Optional<Integer> getBlockSlowdown() {
86 1 1. getBlockSlowdown : replaced return value with Optional.empty for com/yubico/fido/metadata/BiometricAccuracyDescriptor::getBlockSlowdown → SURVIVED
    return Optional.ofNullable(blockSlowdown);
87
  }
88
}

Mutations

39

1.1
Location : getSelfAttestedFRR
Killed by : none
replaced return value with Optional.empty for com/yubico/fido/metadata/BiometricAccuracyDescriptor::getSelfAttestedFRR → SURVIVED

48

1.1
Location : getSelfAttestedFAR
Killed by : none
replaced return value with Optional.empty for com/yubico/fido/metadata/BiometricAccuracyDescriptor::getSelfAttestedFAR → SURVIVED

59

1.1
Location : getIAPARThreshold
Killed by : none
replaced return value with Optional.empty for com/yubico/fido/metadata/BiometricAccuracyDescriptor::getIAPARThreshold → SURVIVED

68

1.1
Location : getMaxTemplates
Killed by : none
replaced return value with Optional.empty for com/yubico/fido/metadata/BiometricAccuracyDescriptor::getMaxTemplates → SURVIVED

77

1.1
Location : getMaxRetries
Killed by : none
replaced return value with Optional.empty for com/yubico/fido/metadata/BiometricAccuracyDescriptor::getMaxRetries → SURVIVED

86

1.1
Location : getBlockSlowdown
Killed by : none
replaced return value with Optional.empty for com/yubico/fido/metadata/BiometricAccuracyDescriptor::getBlockSlowdown → SURVIVED

Active mutators

Tests examined


Report generated by PIT 1.15.0