解決策は拡張することDefaultDeclarativeQualifiedNameProvider
です:
import org.eclipse.xtext.naming.DefaultDeclarativeQualifiedNameProvider;
import org.eclipse.xtext.naming.QualifiedName;
import model.Revision;
public class ModelQualifiedNameProvider extends DefaultDeclarativeQualifiedNameProvider {
public final static String REVISION_TABLE_EXTENSION = "_REV";
public final static String REVISION_TYPE_EXTENSION = "Rev";
public QualifiedName qualifiedName( Revision obj ) {
QualifiedName qn = getFullyQualifiedName( obj.eContainer() );
String typeName = qn.getLastSegment() + REVISION_TABLE_EXTENSION;
QualifiedName result = qn.skipLast( 1 );
result = result.append( typeName );
return result;
}
}
メソッドシグネチャを正しく取得するようにしてください。Xtextは反射的に呼び出します。1.0QualifiedName qualifiedName(MyType ele)
から2.0にアップグレードする場合は、署名を更新することを忘れないでください。リターンタイプをからString
に変更します。QualifiedName