我正在使用Eclipse JDT库。
import cfjapa.parser.ast.body.ModifierSet;
import org.eclipse.jdt.core.ITypeHierarchy;
import org.eclipse.jdt.core.dom.*;
import java.util.List;
public class Main {
public static void main(String[] args) {
AST ast = AST.newAST(AST.JLS13, true);
CompilationUnit unit = ast.newCompilationUnit();
// set strategy pattern package name
PackageDeclaration packageDeclaration = ast.newPackageDeclaration();
packageDeclaration.setName(ast.newSimpleName("strategy"));
unit.setPackage(packageDeclaration);
// define strategy interface
TypeDeclaration type = ast.newTypeDeclaration();
type.setInterface(Boolean.TRUE);
type.modifiers().add(ast.newModifier(Modifier.ModifierKeyword.PUBLIC_KEYWORD));
type.setName(ast.newSimpleName("Strategy"));
// define strategy interface method
MethodDeclaration methodDeclaration = ast.newMethodDeclaration();
methodDeclaration.setConstructor(false);
List modifiers = methodDeclaration.modifiers();
modifiers.add(ast.newModifier(Modifier.ModifierKeyword.PUBLIC_KEYWORD));
methodDeclaration.setName(ast.newSimpleName("algorithmInterface"));
methodDeclaration.setReturnType2(ast.newPrimitiveType(PrimitiveType.VOID));
type.bodyDeclarations().add(methodDeclaration);
unit.types().add(type);
System.out.println(unit);
}
}
现在,我希望另一个类实现上述接口Strategy
。我该怎么做?
我在文档中找不到任何好的示例。
作为对象团队已在评论中提及:
(1)对象团队本身将JDT扩展为其自己的语言OT/J,这是Java的扩展。这是双重策略:
[还有其他问题,有forum。