/* GENERATED SOURCE. DO NOT MODIFY. */ // © 2022 and later: Unicode, Inc. and others. // License & terms of use: https://www.unicode.org/copyright.html package android.icu.message2; import java.util.ArrayList; import java.util.List; import java.util.Map; /** * This maps closely to the official specification. * Since it is not final, we will not add javadoc everywhere. * *

See the * latest description.

* * @deprecated This API is for technology preview only. * @hide Only a subset of ICU is exposed in Android * @hide draft / provisional / internal are hidden on Android */ @Deprecated @SuppressWarnings("javadoc") public class MFDataModel { private MFDataModel() { // Prevent instantiation } // Messages /** * @deprecated This API is for technology preview only. * @hide Only a subset of ICU is exposed in Android * @hide draft / provisional / internal are hidden on Android */ @Deprecated public interface Message { // Provides a common type for PatternMessage and SelectMessage. } /** * @deprecated This API is for technology preview only. * @hide Only a subset of ICU is exposed in Android * @hide draft / provisional / internal are hidden on Android */ @Deprecated public static class PatternMessage implements Message { public final List declarations; public final Pattern pattern; /** * @deprecated This API is for technology preview only. * @hide draft / provisional / internal are hidden on Android */ @Deprecated public PatternMessage(List declarations, Pattern pattern) { this.declarations = declarations; this.pattern = pattern; } } /** * @deprecated This API is for technology preview only. * @hide Only a subset of ICU is exposed in Android * @hide draft / provisional / internal are hidden on Android */ @Deprecated public static class SelectMessage implements Message { public final List declarations; public final List selectors; public final List variants; /** * @deprecated This API is for technology preview only. * @hide draft / provisional / internal are hidden on Android */ @Deprecated public SelectMessage( List declarations, List selectors, List variants) { this.declarations = declarations; this.selectors = selectors; this.variants = variants; } } /** * @deprecated This API is for technology preview only. * @hide Only a subset of ICU is exposed in Android * @hide draft / provisional / internal are hidden on Android */ @Deprecated public interface Declaration { // Provides a common type for InputDeclaration, LocalDeclaration, and UnsupportedStatement. } /** * @deprecated This API is for technology preview only. * @hide Only a subset of ICU is exposed in Android * @hide draft / provisional / internal are hidden on Android */ @Deprecated public static class InputDeclaration implements Declaration { public final String name; public final VariableExpression value; /** * @deprecated This API is for technology preview only. * @hide draft / provisional / internal are hidden on Android */ @Deprecated public InputDeclaration(String name, VariableExpression value) { this.name = name; this.value = value; } } /** * @deprecated This API is for technology preview only. * @hide Only a subset of ICU is exposed in Android * @hide draft / provisional / internal are hidden on Android */ @Deprecated public static class LocalDeclaration implements Declaration { public final String name; public final Expression value; /** * @deprecated This API is for technology preview only. * @hide draft / provisional / internal are hidden on Android */ @Deprecated public LocalDeclaration(String name, Expression value) { this.name = name; this.value = value; } } /** * @deprecated This API is for technology preview only. * @hide Only a subset of ICU is exposed in Android * @hide draft / provisional / internal are hidden on Android */ @Deprecated public static class UnsupportedStatement implements Declaration { public final String keyword; public final String body; public final List expressions; /** * @deprecated This API is for technology preview only. * @hide draft / provisional / internal are hidden on Android */ @Deprecated public UnsupportedStatement(String keyword, String body, List expressions) { this.keyword = keyword; this.body = body; this.expressions = expressions; } } /** * @deprecated This API is for technology preview only. * @hide Only a subset of ICU is exposed in Android * @hide draft / provisional / internal are hidden on Android */ @Deprecated public interface LiteralOrCatchallKey { // Provides a common type for the selection keys: Variant, Literal, or CatchallKey. } /** * @deprecated This API is for technology preview only. * @hide Only a subset of ICU is exposed in Android * @hide draft / provisional / internal are hidden on Android */ @Deprecated public static class Variant implements LiteralOrCatchallKey { public final List keys; public final Pattern value; /** * @deprecated This API is for technology preview only. * @hide draft / provisional / internal are hidden on Android */ @Deprecated public Variant(List keys, Pattern value) { this.keys = keys; this.value = value; } } /** * @deprecated This API is for technology preview only. * @hide Only a subset of ICU is exposed in Android * @hide draft / provisional / internal are hidden on Android */ @Deprecated public static class CatchallKey implements LiteralOrCatchallKey { // String value; // Always '*' in MF2 } // Patterns // type Pattern = Array; /** * @deprecated This API is for technology preview only. * @hide Only a subset of ICU is exposed in Android * @hide draft / provisional / internal are hidden on Android */ @Deprecated public static class Pattern { public final List parts; Pattern() { this.parts = new ArrayList<>(); } } /** * @deprecated This API is for technology preview only. * @hide Only a subset of ICU is exposed in Android * @hide draft / provisional / internal are hidden on Android */ @Deprecated public interface PatternPart { // Provides a common type for StringPart and Expression. } /** * @deprecated This API is for technology preview only. * @hide Only a subset of ICU is exposed in Android * @hide draft / provisional / internal are hidden on Android */ @Deprecated public static class StringPart implements PatternPart { public final String value; StringPart(String value) { this.value = value; } } /** * @deprecated This API is for technology preview only. * @hide Only a subset of ICU is exposed in Android * @hide draft / provisional / internal are hidden on Android */ @Deprecated public interface Expression extends PatternPart { // Provides a common type for all kind of expressions: // LiteralExpression, VariableExpression, FunctionExpression, UnsupportedExpression, Markup } /** * @deprecated This API is for technology preview only. * @hide Only a subset of ICU is exposed in Android * @hide draft / provisional / internal are hidden on Android */ @Deprecated public static class LiteralExpression implements Expression { public final Literal arg; public final Annotation annotation; public final List attributes; /** * @deprecated This API is for technology preview only. * @hide draft / provisional / internal are hidden on Android */ @Deprecated public LiteralExpression(Literal arg, Annotation annotation, List attributes) { this.arg = arg; this.annotation = annotation; this.attributes = attributes; } } /** * @deprecated This API is for technology preview only. * @hide Only a subset of ICU is exposed in Android * @hide draft / provisional / internal are hidden on Android */ @Deprecated public static class VariableExpression implements Expression { public final VariableRef arg; public final Annotation annotation; public final List attributes; /** * @deprecated This API is for technology preview only. * @hide draft / provisional / internal are hidden on Android */ @Deprecated public VariableExpression( VariableRef arg, Annotation annotation, List attributes) { this.arg = arg; this.annotation = annotation; this.attributes = attributes; } } /** * @deprecated This API is for technology preview only. * @hide Only a subset of ICU is exposed in Android * @hide draft / provisional / internal are hidden on Android */ @Deprecated public interface Annotation { // Provides a common type for FunctionAnnotation, UnsupportedAnnotation } /** * @deprecated This API is for technology preview only. * @hide Only a subset of ICU is exposed in Android * @hide draft / provisional / internal are hidden on Android */ @Deprecated public static class FunctionExpression implements Expression { public final FunctionAnnotation annotation; public final List attributes; /** * @deprecated This API is for technology preview only. * @hide draft / provisional / internal are hidden on Android */ @Deprecated public FunctionExpression(FunctionAnnotation annotation, List attributes) { this.annotation = annotation; this.attributes = attributes; } } /** * @deprecated This API is for technology preview only. * @hide Only a subset of ICU is exposed in Android * @hide draft / provisional / internal are hidden on Android */ @Deprecated public static class UnsupportedExpression implements Expression { public final UnsupportedAnnotation annotation; public final List attributes; /** * @deprecated This API is for technology preview only. * @hide draft / provisional / internal are hidden on Android */ @Deprecated public UnsupportedExpression(UnsupportedAnnotation annotation, List attributes) { this.annotation = annotation; this.attributes = attributes; } } /** * @deprecated This API is for technology preview only. * @hide Only a subset of ICU is exposed in Android * @hide draft / provisional / internal are hidden on Android */ @Deprecated public static class Attribute { public final String name; public final LiteralOrVariableRef value; /** * @deprecated This API is for technology preview only. * @hide draft / provisional / internal are hidden on Android */ @Deprecated public Attribute(String name, LiteralOrVariableRef value) { this.name = name; this.value = value; } } // Expressions /** * @deprecated This API is for technology preview only. * @hide Only a subset of ICU is exposed in Android * @hide draft / provisional / internal are hidden on Android */ @Deprecated public interface LiteralOrVariableRef { // Provides a common type for Literal and VariableRef, // to represent things like `foo` / `|foo|` / `1234` (literals) // and `$foo` (VariableRef), as argument for placeholders or value in options. } /** * @deprecated This API is for technology preview only. * @hide Only a subset of ICU is exposed in Android * @hide draft / provisional / internal are hidden on Android */ @Deprecated public static class Literal implements LiteralOrVariableRef, LiteralOrCatchallKey { public final String value; /** * @deprecated This API is for technology preview only. * @hide draft / provisional / internal are hidden on Android */ @Deprecated public Literal(String value) { this.value = value; } } /** * @deprecated This API is for technology preview only. * @hide Only a subset of ICU is exposed in Android * @hide draft / provisional / internal are hidden on Android */ @Deprecated public static class VariableRef implements LiteralOrVariableRef { public final String name; /** * @deprecated This API is for technology preview only. * @hide draft / provisional / internal are hidden on Android */ @Deprecated public VariableRef(String name) { this.name = name; } } /** * @deprecated This API is for technology preview only. * @hide Only a subset of ICU is exposed in Android * @hide draft / provisional / internal are hidden on Android */ @Deprecated public static class FunctionAnnotation implements Annotation { public final String name; public final Map options; /** * @deprecated This API is for technology preview only. * @hide draft / provisional / internal are hidden on Android */ @Deprecated public FunctionAnnotation(String name, Map options) { this.name = name; this.options = options; } } /** * @deprecated This API is for technology preview only. * @hide Only a subset of ICU is exposed in Android * @hide draft / provisional / internal are hidden on Android */ @Deprecated public static class Option { public final String name; public final LiteralOrVariableRef value; /** * @deprecated This API is for technology preview only. * @hide draft / provisional / internal are hidden on Android */ @Deprecated public Option(String name, LiteralOrVariableRef value) { this.name = name; this.value = value; } } /** * @deprecated This API is for technology preview only. * @hide Only a subset of ICU is exposed in Android * @hide draft / provisional / internal are hidden on Android */ @Deprecated public static class UnsupportedAnnotation implements Annotation { public final String source; /** * @deprecated This API is for technology preview only. * @hide draft / provisional / internal are hidden on Android */ @Deprecated public UnsupportedAnnotation(String source) { this.source = source; } } // Markup /** * @deprecated This API is for technology preview only. * @hide Only a subset of ICU is exposed in Android * @hide draft / provisional / internal are hidden on Android */ @Deprecated public static class Markup implements Expression { enum Kind { OPEN, CLOSE, STANDALONE } public final Kind kind; public final String name; public final Map options; public final List attributes; /** * @deprecated This API is for technology preview only. * @hide draft / provisional / internal are hidden on Android */ @Deprecated public Markup( Kind kind, String name, Map options, List attributes) { this.kind = kind; this.name = name; this.options = options; this.attributes = attributes; } } }