Компонент рабочего процесса MWE2 на языке Scala

#java #scala #scala-ide #oaw #mwe

#java #scala #scala-ide #oaw #mwe

Вопрос:

Я пытаюсь написать компонент рабочего процесса MWE2, используя язык scala.
Ниже приведен код scala:

 package com.ford.modelling.workflow

import org.eclipse.emf.mwe2.runtime.workflow.{IWorkflowComponent, IWorkflowContext}

class SayHello extends IWorkflowComponent {
  var message : String = null;

  def preInvoke {}
  def invoke(ctx : IWorkflowContext) { System.out.println(message) } 
  def postInvoke {}
}
  

и ниже приведен код рабочего процесса:

 module com.ford.modelling.workflow.SomeWorklow

SayHello {}
  

Я не могу понять, почему этот рабочий процесс жалуется на ошибку:

 'com.ford.modelling.workflow.SayHello' does not have a public default constructor.
  

Ответ №1:

Я бы предположил, что плагин scala IDE не полностью имитирует протокол Java, например, IType не предоставляет конструктор без аргументов. Возможно, вы захотите спросить об этом у специалистов scale.

Сообщение об ошибке должно исчезнуть, как только вы явно добавите конструктор по умолчанию. Имеет ли это смысл?

Быстрый поиск в Google показал, что, вероятно, нет синтаксиса для конструктора по умолчанию, поэтому я бы предположил, что это проблема с инструментами scala. Возникает ли проблема и во время выполнения?

Комментарии:

1. как я могу добавить конструктор явно? Я не знаю синтаксиса.

2. В списке проблем ничего нет, но это подчеркнуто в редакторе.