0
パラメータ - enum値を取るカスタム修飾子があります。 Enum値には、目的のインスタンスの構築に固有の情報が含まれます。修飾子をプロバイダメソッドに渡す
修飾子(Javaの)::
@Documented
@Qualifier
@Retention(RUNTIME)
public @interface Format {
Type value() default SYSTEM;
enum Type {
UI("dd-MM-yyyy HH:mm"),
UI_DATE("EEEE,\u00A0dd MMMM yyyy"),
.
.
.
private String format;
public String getFormat() {
return format;
}
Type(String formatString) {
format = formatString;
}
}
}
モジュール(Kotlin):私はそれを列挙するために新たな価値を付加するまでだ場合
はこのように、モジュールに同じ定型的なコードにつながる
@Module
class DateTimeModule {
@Provides
@Format(Format.Type.UI)
fun dateTimeFormatterUI(): DateTimeFormatter {
return DateTimeFormat.forPattern(Format.Type.UI.format).withLocale(DefaultConfigVariables.LOCALE)
}
@Provides
@Format(Format.Type.UI_DATE)
fun dateFormatterUI(): DateTimeFormatter {
return DateTimeFormat.forPattern(Format.Type.UI_DATE.format).withLocale(DefaultConfigVariables.LOCALE)
}
.
.
.
}
新しいインスタンスを列挙型に追加するだけで、プロバイダメソッドなどに渡すことができますか?