Я использую библиотеку под названием «SOA-Model» от «Predic8». Код можно найти here.Java Class extends Groovy Class
Некоторые коды библиотеки были написаны в Groovy, но я использую эту библиотеку из приложения Java. Я пытаюсь написать класс «ExternalResolver», который расширяет «ResourceResolver». Он похож на этот пример, код найден here. И исходный код для ResourceResolver, я считаю, можно найти here.
Однако, я пишу это в Java, что-то вроде этого:
import com.predic8.schema.Import;
import com.predic8.xml.util.ResourceResolver;
public class ExternalWSDLResolver extends ResourceResolver {
public Object resolve(Object input, String baseDir){
//some code here to do the customised resolving
}
}
Теперь, прежде всего, работает нормально, если компиляции в Eclipse.
Однако, когда я пытаюсь скомпилировать на IntellijIDEA, это заставляет меня реализовать еще несколько методов. По существу, методы, которые реализуются:
- implements groovy.lang.GroovyObject.invokeMethod(String s, Object o)
- implements groovy.lang.GroovyObject.getProperty(String s)
- implements groovy.lang.GroovyObject.setProperty(String s, Object o)
- implements groovy.lang.GroovyObject.getMetaClass()
- implements groovy.lang.GroovyObject.setMetaClass(MetaClass metaClass)
Для большей части я могу просто уйти, просто вернув «нуль». Однако, если я это сделаю для getMetaClass, мой код не будет работать и возвращает исключение.
поэтому мне нужно знать:
- Есть ли способ, я могу закрыть вниз это предупреждение о Intellij? ... OR
- Что я могу добавить в getMetaClass, чтобы заставить его работать? То есть вид значения по умолчанию.
EDIT:
Как указывается в комментариях к декомпилировать ResourceResolver.class
, соответственно, здесь результаты, например, для getMetaClass.
Кроме того, для справки я приклеила весь выход здесь: http://pastie.org/7980007
public groovy.lang.MetaClass getMetaClass();
Code:
0: aload_0
1: getfield #27; //Field metaClass:Lgroovy/lang/MetaClass;
4: dup
5: ifnull 9
8: areturn
9: pop
10: aload_0
11: dup
12: invokevirtual #25; //Method $getStaticMetaClass:()Lgroovy/lang/MetaClass;
15: putfield #27; //Field metaClass:Lgroovy/lang/MetaClass;
18: aload_0
19: getfield #27; //Field metaClass:Lgroovy/lang/MetaClass;
22: areturn
Какую версию IDEA вы используете? Вы испытываете эту проблему при компиляции или просто выделяете ее в редакторе? –
Я использую последнюю версию; и это не просто подчеркивание ошибок, это не позволит мне скомпилировать. – Larry
Не могли бы вы рассказать точную версию (Help | About)? У вас есть Настройки | Компилятор | Использовать внешнюю сборку? Помогает ли изменение этой опции? –