Как использовать аннотации Scala в Java-коде

Есть ли способ использовать аннотации, определенные в Scala, чтобы они могли работать с кодом Java? У меня есть библиотека с некоторыми аннотациями, которые я хотел бы использовать в Java.


person Maciej Laskowski    schedule 21.08.2019    source источник
comment
По-разному. Скорее всего, нет. Какая библиотека, какие аннотации, как работать?   -  person Dmytro Mitin    schedule 21.08.2019


Ответы (1)


Цитаты из scaladocs:

Базовый класс для аннотаций. Аннотации, непосредственно расширяющие этот класс, не сохраняются в файле класса. Чтобы разрешить хранение аннотаций в сигнатуре Scala файла классов и сделать ее доступной для отражения Scala и других инструментов, аннотация должна быть унаследована от [[scala.annotation.StaticAnnotation]]. Классы аннотаций, определенные в Scala, не хранятся в файлах классов в соответствии с Java и, следовательно, не видны в отражении Java. Для этого аннотации должны быть написаны на Java.

abstract class Annotation

https://github.com/scala/scala/blob/2.13.x/src/library/scala/annotation/Annotation.scala

Базовый класс для статических аннотаций. Они доступны для проверки типов Scala или отражения Scala даже в разных единицах компиляции. Классы аннотаций, определенные в Scala, не хранятся в файлах классов в соответствии с Java и, следовательно, не видны в отражении Java. Для этого аннотации должны быть написаны на Java.

trait StaticAnnotation extends Annotation

https://github.com/scala/scala/blob/2.13.x/src/library/scala/annotation/StaticAnnotation.scala

person Dmytro Mitin    schedule 21.08.2019