![JAR search and dependency download from the Maven repository](/logo.png)
com.yubico.fido.metadata.AlternativeDescriptions Maven / Gradle / Ivy
package com.yubico.fido.metadata;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonValue;
import java.util.Map;
import java.util.Optional;
import lombok.AccessLevel;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.Value;
/**
* See:
* https://fidoalliance.org/specs/mds/fido-metadata-statement-v3.0-ps-20210518.html#alternativedescriptions-dictionary
*
* @see FIDO
* Metadata Statement §3.11. AlternativeDescriptions dictionary
*/
@Value
@AllArgsConstructor(onConstructor_ = {@JsonCreator})
public class AlternativeDescriptions {
@JsonValue
@Getter(AccessLevel.NONE)
Map values;
/**
* Get a map entry in accordance with the rules defined in AlternativeDescriptions
* dictionary.
*
* @see AlternativeDescriptions
* dictionary.
*/
public Optional get(String languageCode) {
if (values.containsKey(languageCode)) {
return Optional.of(values.get(languageCode));
} else {
final String[] splits = languageCode.split("-");
if (splits.length > 1 && values.containsKey(splits[0])) {
return Optional.of(values.get(splits[0]));
} else {
return Optional.empty();
}
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy