List of usage examples for org.eclipse.jdt.core ICompilationUnit createType
IType createType(String contents, IJavaElement sibling, boolean force, IProgressMonitor monitor) throws JavaModelException;
From source file:com.ecfeed.ui.common.EclipseModelImplementer.java
License:Open Source License
protected void implementParameterDefinition(AbstractParameterNode node, Set<String> fields) throws CoreException, EcException { String typeName = node.getType(); if (JavaUtils.isPrimitive(typeName)) { return;//w w w . j a v a 2s . c om } if (JavaUtils.isValidTypeName(typeName) == false) { return; } String packageName = JavaUtils.getPackageName(typeName); String localName = JavaUtils.getLocalName(typeName); String unitName = localName + ".java"; // IPackageFragment packageFragment = getPackageFragment(packageName); IPackageFragment packageFragment = EclipsePackageFragmentGetter.getPackageFragment(packageName, fFileInfoProvider); ICompilationUnit unit = packageFragment.getCompilationUnit(unitName); unit.createType(enumDefinitionContent(node, fields), null, false, null); unit.becomeWorkingCopy(null); unit.commitWorkingCopy(true, null); }
From source file:com.iw.plugins.spindle.wizards.factories.ApplicationClassFactory.java
License:Mozilla Public License
static public IType createClass(IPackageFragmentRoot root, IPackageFragment pack, String classname, IType superClass, IMethodEvaluator methodEvaluator, IProgressMonitor monitor) throws CoreException, InterruptedException { IType createdType;/*w ww. j a va 2 s. c o m*/ ImportsStructure imports; int indent = 0; String superclassName = (superClass == null ? "java.lang.Object" : superClass.getElementName()); monitor.beginTask(MessageUtil.getFormattedString("ClassFactory.operationdesc", classname), 10); if (pack == null) { pack = root.getPackageFragment(""); } if (!pack.exists()) { String packName = pack.getElementName(); pack = root.createPackageFragment(packName, true, null); } monitor.worked(1); String lineDelimiter = null; ICompilationUnit parentCU = pack.getCompilationUnit(classname + ".java"); imports = getImports(parentCU); lineDelimiter = StubUtility.getLineDelimiterUsed(parentCU); String content = createClassBody(classname, superClass, imports, lineDelimiter); createdType = parentCU.createType(content, null, false, new SubProgressMonitor(monitor, 5)); // add imports for sclass, so the type can be parsed correctly if (imports != null) { imports.create(true, new SubProgressMonitor(monitor, 1)); } createAllNewMethods(methodEvaluator, createdType, imports, new SubProgressMonitor(monitor, 1)); monitor.worked(1); String formattedContent = StubUtility.codeFormat(createdType.getSource(), indent, lineDelimiter); save(createdType, formattedContent, monitor); monitor.done(); return createdType; }
From source file:com.iw.plugins.spindle.wizards.factories.ClassFactory.java
License:Mozilla Public License
public IType createClass(IPackageFragmentRoot root, IPackageFragment pack, String classname, IType superClass, IType[] interfaces, IMethodEvaluator methodEvaluator, IProgressMonitor monitor) throws CoreException, InterruptedException { IType createdType;/*from w w w .jav a 2s.co m*/ ImportsStructure imports; int indent = 0; String superclassName = (superClass == null ? "java.lang.Object" : superClass.getElementName()); monitor.beginTask(MessageUtil.getFormattedString("ClassFactory.operationdesc", classname), 10); if (pack == null) { pack = root.getPackageFragment(""); } if (!pack.exists()) { String packName = pack.getElementName(); pack = root.createPackageFragment(packName, true, null); } monitor.worked(1); String lineDelimiter = null; ICompilationUnit parentCU = pack.getCompilationUnit(classname + ".java"); imports = getImports(parentCU); lineDelimiter = StubUtility.getLineDelimiterUsed(parentCU); String content = createClassBody(classname, superClass, interfaces, imports, lineDelimiter); createdType = parentCU.createType(content, null, false, new SubProgressMonitor(monitor, 5)); // add imports for sclass, so the type can be parsed correctly if (imports != null) { imports.create(true, new SubProgressMonitor(monitor, 1)); } createAllNewMethods(methodEvaluator, createdType, imports, new SubProgressMonitor(monitor, 1)); monitor.worked(1); String formattedContent = StubUtility.codeFormat(createdType.getSource(), indent, lineDelimiter); save(createdType, formattedContent, monitor); monitor.done(); return createdType; }
From source file:com.sun.codemodel.ClassGenerator.java
License:Apache License
private void modifyObjectFactory(ElementClass ec, IProgressMonitor pm) throws JavaModelException { JDefinedClass c = ec.getjDefClass(); if (ec.getElementType() != null) { IPackageFragmentRoot pfr = project.getPackageFragmentRoot(generated); if (pfr != null && pfr.exists()) { IPackageFragment pf = pfr.getPackageFragment(c.getPackage().name()); if (pf != null && pf.exists()) { ICompilationUnit of = pf.getCompilationUnit("ObjectFactory.java"); if (of != null && !of.exists()) { of = pf.createCompilationUnit("ObjectFactory.java", "", true, pm); of.createPackageDeclaration(c.getPackage().name(), pm); of.createImport("javax.xml.bind.annotation.XmlRegistry", null, Flags.AccDefault, pm); String lineDelimiter = StubUtility.getLineDelimiterUsed(project); IType t = of.createType(generateObjectFactory(lineDelimiter), null, false, pm); t.createMethod("public ObjectFactory(){}" + lineDelimiter, null, false, pm); }/* w ww .j av a2s. c o m*/ of = addClass(ec, of, pm); } else throw new JavaModelException( new Exception("Error package " + c.getPackage().name() + " does not exists"), JavaModelStatus.ERROR); } else throw new JavaModelException( new Exception("Error package root " + generated.getName() + " does not exists"), JavaModelStatus.ERROR); } }
From source file:com.sun.codemodel.ClassGenerator.java
License:Apache License
public void generateDummy(ServiceCoreElement element, String orchClassName, IProgressMonitor pm) throws JavaModelException { // IPackageFragmentRoot root = // project.getPackageFragmentRoot(generated); String packName = getPackageName(element); IPackageFragment pack = pfr.getPackageFragment(packName); if (pack == null || !pack.exists()) { pack = pfr.createPackageFragment(packName, true, pm); }// w w w.j ava 2 s. c om String classname = getDummyClassName(element, orchClassName); ICompilationUnit cu = pack.getCompilationUnit(classname + ".java"); if (cu == null || !cu.exists()) { cu = pack.createCompilationUnit(classname + ".java", "", true, pm); } cu.createPackageDeclaration(packName, pm); IType staticType = null; IType type = cu.getType(classname); if (type == null || !type.exists()) { type = cu.createType(generateDummyClassContent(classname), null, true, pm); staticType = type.createType(generateDummyStaticContent(), null, true, pm); } else { staticType = type.getType("Static"); if (staticType == null || !staticType.exists()) { staticType = type.createType(generateDummyStaticContent(), null, true, pm); } } String methodContent = generateMethodContent(element); type.createMethod("public " + methodContent, null, true, pm); staticType.createMethod("public static " + methodContent, null, true, pm); }
From source file:com.testify.ecfeed.ui.common.EclipseModelImplementer.java
License:Open Source License
@Override protected void implementClassDefinition(ClassNode node) throws CoreException { String packageName = JavaUtils.getPackageName(node.getName()); String className = JavaUtils.getLocalName(node.getName()); String unitName = className + ".java"; IPackageFragment packageFragment = getPackageFragment(packageName); ICompilationUnit unit = packageFragment.getCompilationUnit(unitName); unit.createType(classDefinitionContent(node), null, false, null); unit.becomeWorkingCopy(null);//from w w w .j a va 2 s . c o m unit.commitWorkingCopy(true, null); }
From source file:com.testify.ecfeed.ui.common.EclipseModelImplementer.java
License:Open Source License
protected void implementParameterDefinition(AbstractParameterNode node, Set<String> fields) throws CoreException { String typeName = node.getType(); if (JavaUtils.isPrimitive(typeName)) { return;//from w ww . jav a2s. c o m } if (JavaUtils.isValidTypeName(typeName) == false) { return; } String packageName = JavaUtils.getPackageName(typeName); String localName = JavaUtils.getLocalName(typeName); String unitName = localName + ".java"; IPackageFragment packageFragment = getPackageFragment(packageName); ICompilationUnit unit = packageFragment.getCompilationUnit(unitName); unit.createType(enumDefinitionContent(node, fields), null, false, null); unit.becomeWorkingCopy(null); unit.commitWorkingCopy(true, null); }
From source file:es.bsc.servicess.ide.wizards.coretypes.BinaryMethodSpecificTreatment.java
License:Apache License
/** Create the method core element declaring class * @param m Progress monitor//from ww w. jav a2 s . co m * @return Eclipse JDT IType object representing the core element declaring class * @throws JavaModelException */ private IType createDeclaringClassType(IProgressMonitor m) throws JavaModelException { IPackageFragmentRoot pfr = secondPage.getPackageFragmentRoot(); String lineDelimiter = StubUtility.getLineDelimiterUsed(secondPage.getJavaProject()); IPackageFragment pf; String st = Signature.getQualifier(declaringClass); if (st != null && st.trim().length() > 0) { pf = pfr.getPackageFragment(st); if (pf != null) { if (!pf.exists()) { pf = pfr.createPackageFragment(st, true, m); } } else { pf = pfr.createPackageFragment(st, true, m); } } else { IFile metadataFile = secondPage.getJavaProject().getProject().getFolder(ProjectMetadata.METADATA_FOLDER) .getFile(ProjectMetadata.METADATA_FILENAME); if (metadataFile != null) { try { ProjectMetadata pr_meta = new ProjectMetadata( new File(metadataFile.getRawLocation().toOSString())); pfr = secondPage.getJavaProject().findPackageFragmentRoot( secondPage.getJavaProject().getPath().append(pr_meta.getSourceDir())); if (pfr != null) { pf = pfr.getPackageFragment(pr_meta.getMainPackageName() + ".coreelements"); if (pf.exists()) { st = pf.getElementName(); } else throw new JavaModelException(new Exception("Unable to find core elemet package"), JavaModelStatus.ERROR); } else { throw new JavaModelException(new Exception("Unable to find core elemet package root"), JavaModelStatus.ERROR); } } catch (Exception e) { throw new JavaModelException(e, JavaModelStatus.ERROR); } } else throw new JavaModelException(new Exception("Unable to find project metadata file"), JavaModelStatus.ERROR); } String name = Signature.getSimpleName(declaringClass); log.debug("Package: " + st + " Class name: " + name); ICompilationUnit cu = pf.getCompilationUnit(name + ".java"); if (cu == null || !cu.exists()) { cu = pf.createCompilationUnit(name + ".java", "", false, m); cu.createPackageDeclaration(st, m); cu.createType(constructCEClassStub(name, lineDelimiter), null, false, m); } return cu.getType(name); }
From source file:es.bsc.servicess.ide.wizards.coretypes.SpecificNewMethodComposite.java
License:Apache License
private IType createDeclaringClassType(IProgressMonitor m) throws JavaModelException { IPackageFragmentRoot pfr = thirdPage.getPackageFragmentRoot(); String lineDelimiter = StubUtility.getLineDelimiterUsed(thirdPage.getJavaProject()); IPackageFragment pf;//from w ww . j a v a 2 s . c om String st = Signature.getQualifier(declaringClass); if (st != null && st.trim().length() > 0) { pf = pfr.getPackageFragment(st); if (pf != null) { if (!pf.exists()) { pf = pfr.createPackageFragment(st, true, m); } } else { pf = pfr.createPackageFragment(st, true, m); } } else { IFile metadataFile = thirdPage.getJavaProject().getProject().getFolder(ProjectMetadata.METADATA_FOLDER) .getFile(ProjectMetadata.METADATA_FILENAME); if (metadataFile != null) { try { ProjectMetadata pr_meta = new ProjectMetadata( new File(metadataFile.getRawLocation().toOSString())); pfr = thirdPage.getJavaProject().findPackageFragmentRoot( thirdPage.getJavaProject().getPath().append(pr_meta.getSourceDir())); if (pfr != null) { pf = pfr.getPackageFragment(pr_meta.getMainPackageName() + ".coreelements"); if (pf.exists()) { st = pf.getElementName(); } else throw new JavaModelException(new Exception("Unable to find core elemet package"), JavaModelStatus.ERROR); } else { throw new JavaModelException(new Exception("Unable to find core elemet package root"), JavaModelStatus.ERROR); } } catch (Exception e) { throw new JavaModelException(e, JavaModelStatus.ERROR); } } else throw new JavaModelException(new Exception("Unable to find project metadata file"), JavaModelStatus.ERROR); } String name = Signature.getSimpleName(declaringClass); System.out.println("Package: " + st + " Class name: " + name); ICompilationUnit cu = pf.getCompilationUnit(name + ".java"); if (cu == null || !cu.exists()) { cu = pf.createCompilationUnit(name + ".java", "", false, m); cu.createPackageDeclaration(st, m); cu.createType(constructCEClassStub(name, lineDelimiter), null, false, m); } return cu.getType(name); }
From source file:es.bsc.servicess.ide.wizards.ServiceSsNewServiceClassWizard.java
License:Apache License
@Override protected void finishPage(IProgressMonitor arg0) throws InterruptedException, CoreException { IPackageFragment frag = fPage.getPackageFragment(); String lineDelimiter = StubUtility.getLineDelimiterUsed(frag.getJavaProject()); cu_class = frag.createCompilationUnit(fPage.getTypeName() + ".java", "", false, new SubProgressMonitor(arg0, 2)); cu_class.createPackageDeclaration(frag.getElementName(), arg0); cu_class.createImport("javax.jws.WebService", null, Flags.AccDefault, arg0); String classStub = constructClassStub(fPage.getTypeName(), lineDelimiter); IType type = cu_class.createType(classStub, null, false, arg0); ICompilationUnit cu = frag.createCompilationUnit(fPage.getTypeName().replaceAll(" ", "") + "Itf.java", "", false, new SubProgressMonitor(arg0, 2)); cu.createPackageDeclaration(frag.getElementName(), arg0); String typeStub = constructInterfaceStub(fPage.getTypeName().replaceAll(" ", "") + "Itf", lineDelimiter); cu.createType(typeStub, null, false, arg0); IFile file = fPage.getJavaProject().getProject().getFolder(ProjectMetadata.METADATA_FOLDER) .getFile(ProjectMetadata.METADATA_FILENAME); try {/*w w w. ja v a2s. c o m*/ ProjectMetadata pr_meta = new ProjectMetadata(file.getRawLocation().toFile()); pr_meta.addOrchestrationClass(frag.getElementName() + "." + fPage.getTypeName(), fPage.getClassType()); pr_meta.toFile(file.getRawLocation().toFile()); } catch (Exception e) { throw new JavaModelException(e, JavaModelStatus.ERROR); } }