У меня есть класс Java в файле xtend, который использует Guice, например:
class myClass {
@Inject private extension classA
@Inject private extension classB
// methods
// ...
}
Я хочу добавить целочисленное поле и изменить конструктор по умолчанию, чтобы установить его, используя вспомогательный класс IdProvider, выполнив что-то вроде этого:
import some.package.IdProvider
class myClass {
@Inject private extension classA
@Inject private extension classB
private long mMaxId
new() {
var IdProvider provider
mMaxId = provider.getMaxId("Student")
}
// methods
// ...
}
Однако это не работает, я получаю эту ошибку:
com.google.inject.ProvisionException: ошибки предоставления Guice.
Ошибка при внедрении конструктора, java.lang.NullPointerException
Я тоже пробовал это, но я получаю ту же ошибку:
import some.package.IdProvider
class myClass {
@Inject private extension classA
@Inject private extension classB
private long mMaxId
@Inject private IdProvider provider
new() {
mMaxId = provider.getMaxId("Student")
}
// methods
// ...
}
Я новичок в xtend и Guice, поэтому любая помощь в понимании того, как заставить это работать, будет принята.