Обернуть Java-функцию в Acceleo (в Eclipse)
Я должен обернуть java-функцию в Acceleo File, есть кто-нибудь, кто может мне помочь?
Спасибо
3 ответа
Самый простой способ вызвать Java Services из Acceleo - это использовать средство, описанное в Руководстве пользователя (help.eclipse.org, как вы узнали, но "Руководство пользователя" вместо "Android tutorial"), чтобы создать "обертку служб Java" из файла Java. Это автоматически создает запросы Acceleo, которые будут вызывать код Java для вас.
Однако вы не можете вызывать код Java из Acceleo, не имея классов Java. Файлы "mtl" допускают только код Acceleo, и хотя вы можете вызывать методы Java из Acceleo, они должны находиться в своих собственных файлах класса "java". Вы также можете вызвать код Java, который вам не принадлежит, если ваш проект Acceleo зависит от библиотеки, из которой вы хотите вызвать код. Например, следующий запрос Acceleo вызовет метод org.eclipse.emf.ecore.util.EcoreUtil.getID(EObject)
на данном EClass:
[query public getURI(eClass : EClass) : String = invoke('org.eclipse.emf.ecore.util.EcoreUtil', 'getID(org.eclipse.emf.ecore.EObject)', Sequence{eClass})/]
(и теперь вы понимаете, почему Acceleo проще генерировать эти запросы для вас: p).
Мы ожидаем, что упростим использование поддержки Java-сервисов, но пока это только в нашем списке пожеланий и не планируется.
Не стесняйтесь просматривать информацию в вики ( http://wiki.eclipse.org/Acceleo) и редактировать ее, если нам что-то не хватает:).
PS: извините за отсутствие гиперссылок, моя учетная запись stackru все еще немного молода.
Чтобы завершить ответ от Kellindil, я добавил новую запись в FAQ по Acceleo со скриншотом использования Java-сервиса.
Эта страница со страниц справки eclipse содержит учебное пособие, и мне кажется, что они содержат код Java в файлах модели. Надеюсь, поможет.