Package org.eclipse.xtext.xbase.imports
Class RewritableImportSection
- java.lang.Object
-
- org.eclipse.xtext.xbase.imports.RewritableImportSection
-
public class RewritableImportSection extends java.lang.ObjectModel of an import section that can be changed.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classRewritableImportSection.Factory
-
Constructor Summary
Constructors Constructor Description RewritableImportSection(org.eclipse.xtext.resource.XtextResource resource, IImportsConfiguration importsConfiguration, XImportSection originalImportSection, java.lang.String lineSeparator, ImportSectionRegionUtil regionUtil, org.eclipse.xtext.conversion.IValueConverter<java.lang.String> nameConverter)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanaddImport(java.lang.String fqn)booleanaddImport(org.eclipse.xtext.common.types.JvmDeclaredType type)protected voidaddSectionToAppend(org.eclipse.xtext.util.IAcceptor<org.eclipse.xtext.util.ReplaceRegion> acceptor)booleanaddStaticExtensionImport(java.lang.String typeFqn, java.lang.String member)booleanaddStaticExtensionImport(org.eclipse.xtext.common.types.JvmDeclaredType type, java.lang.String memberName)booleanaddStaticExtensionImport(org.eclipse.xtext.common.types.JvmMember member)booleanaddStaticImport(java.lang.String typeFqn, java.lang.String member)booleanaddStaticImport(org.eclipse.xtext.common.types.JvmDeclaredType type, java.lang.String memberName)booleanaddStaticImport(org.eclipse.xtext.common.types.JvmMember member)protected voidappendImport(java.lang.StringBuilder builder, XImportDeclaration newImportDeclaration)protected booleanappendSubsection(java.lang.StringBuilder builder, java.lang.Iterable<XImportDeclaration> subSection, boolean needsNewline)protected XImportDeclarationcreateImport(java.lang.String importedNamespace, java.lang.String member)protected java.util.List<XImportDeclaration>findOriginalImports(org.eclipse.xtext.common.types.JvmDeclaredType type, java.lang.String memberName, java.util.Collection<XImportDeclaration> list, boolean isStatic, boolean isExtension)protected java.lang.StringBuildergetImportDeclarationsToAppend()java.util.List<org.eclipse.xtext.common.types.JvmDeclaredType>getImportedTypes(java.lang.String simpleName)booleanhasImportedType(org.eclipse.xtext.common.types.JvmDeclaredType type)booleanhasStaticImport(java.lang.String memberName, boolean extension)booleanhasStaticImport(org.eclipse.xtext.common.types.JvmDeclaredType declaringType, java.lang.String memberName, boolean extension)booleanisEnabled()booleanisSort()protected booleanneedsImport(java.lang.String fqn)booleanneedsImport(org.eclipse.xtext.common.types.JvmDeclaredType type)protected booleanneedsPreceedingBlankLine()booleanremoveImport(org.eclipse.xtext.common.types.JvmDeclaredType type)booleanremoveStaticExtensionImport(org.eclipse.xtext.common.types.JvmDeclaredType type, java.lang.String memberName)protected booleanremoveStaticImport(java.util.Map<org.eclipse.xtext.common.types.JvmDeclaredType,java.util.Set<java.lang.String>> staticImports, org.eclipse.xtext.common.types.JvmDeclaredType type, java.lang.String memberName, boolean isStatic, boolean isExtension)booleanremoveStaticImport(org.eclipse.xtext.common.types.JvmDeclaredType type, java.lang.String memberName)java.util.List<org.eclipse.xtext.util.ReplaceRegion>rewrite()protected java.lang.StringserializeImports(java.util.List<XImportDeclaration> allDeclarations)protected java.lang.StringserializeType(org.eclipse.xtext.common.types.JvmDeclaredType type)We cannot rely on JvmType#getIdentifier as it is cached and does not pick up changed simpleNames, e.g.voidsetEnabled(boolean enabled)voidsetSort(boolean isSort)protected java.util.List<XImportDeclaration>sort(java.lang.Iterable<XImportDeclaration> declarations)voidupdate()
-
-
-
Constructor Detail
-
RewritableImportSection
public RewritableImportSection(org.eclipse.xtext.resource.XtextResource resource, IImportsConfiguration importsConfiguration, XImportSection originalImportSection, java.lang.String lineSeparator, ImportSectionRegionUtil regionUtil, org.eclipse.xtext.conversion.IValueConverter<java.lang.String> nameConverter)
-
-
Method Detail
-
setSort
public void setSort(boolean isSort)
-
isSort
public boolean isSort()
-
addImport
public boolean addImport(org.eclipse.xtext.common.types.JvmDeclaredType type)
-
addImport
public boolean addImport(java.lang.String fqn)
-
createImport
protected XImportDeclaration createImport(java.lang.String importedNamespace, java.lang.String member)
-
needsImport
protected boolean needsImport(java.lang.String fqn)
-
needsImport
public boolean needsImport(org.eclipse.xtext.common.types.JvmDeclaredType type)
-
removeImport
public boolean removeImport(org.eclipse.xtext.common.types.JvmDeclaredType type)
-
findOriginalImports
protected java.util.List<XImportDeclaration> findOriginalImports(org.eclipse.xtext.common.types.JvmDeclaredType type, java.lang.String memberName, java.util.Collection<XImportDeclaration> list, boolean isStatic, boolean isExtension)
-
hasImportedType
public boolean hasImportedType(org.eclipse.xtext.common.types.JvmDeclaredType type)
-
getImportedTypes
public java.util.List<org.eclipse.xtext.common.types.JvmDeclaredType> getImportedTypes(java.lang.String simpleName)
-
addStaticImport
public boolean addStaticImport(org.eclipse.xtext.common.types.JvmMember member)
-
addStaticImport
public boolean addStaticImport(org.eclipse.xtext.common.types.JvmDeclaredType type, java.lang.String memberName)
-
addStaticImport
public boolean addStaticImport(java.lang.String typeFqn, java.lang.String member)- Parameters:
typeFqn- The fully qualified name of the type to import. E.g.java.util.List. May not benull.member- member name to import. May not benull. For wildcard use*
-
addStaticExtensionImport
public boolean addStaticExtensionImport(java.lang.String typeFqn, java.lang.String member)- Parameters:
typeFqn- The fully qualified name of the type to import. E.g.java.util.List. May not benull.member- member name to import. May not benull. For wildcard use*
-
removeStaticImport
public boolean removeStaticImport(org.eclipse.xtext.common.types.JvmDeclaredType type, java.lang.String memberName)
-
addStaticExtensionImport
public boolean addStaticExtensionImport(org.eclipse.xtext.common.types.JvmMember member)
-
addStaticExtensionImport
public boolean addStaticExtensionImport(org.eclipse.xtext.common.types.JvmDeclaredType type, java.lang.String memberName)
-
removeStaticExtensionImport
public boolean removeStaticExtensionImport(org.eclipse.xtext.common.types.JvmDeclaredType type, java.lang.String memberName)
-
removeStaticImport
protected boolean removeStaticImport(java.util.Map<org.eclipse.xtext.common.types.JvmDeclaredType,java.util.Set<java.lang.String>> staticImports, org.eclipse.xtext.common.types.JvmDeclaredType type, java.lang.String memberName, boolean isStatic, boolean isExtension)
-
update
public void update()
-
rewrite
public java.util.List<org.eclipse.xtext.util.ReplaceRegion> rewrite()
-
addSectionToAppend
protected void addSectionToAppend(org.eclipse.xtext.util.IAcceptor<org.eclipse.xtext.util.ReplaceRegion> acceptor)
-
getImportDeclarationsToAppend
protected java.lang.StringBuilder getImportDeclarationsToAppend()
-
appendImport
protected void appendImport(java.lang.StringBuilder builder, XImportDeclaration newImportDeclaration)
-
serializeType
protected java.lang.String serializeType(org.eclipse.xtext.common.types.JvmDeclaredType type)
We cannot rely on JvmType#getIdentifier as it is cached and does not pick up changed simpleNames, e.g. in rename refactoring.
-
serializeImports
protected java.lang.String serializeImports(java.util.List<XImportDeclaration> allDeclarations)
-
needsPreceedingBlankLine
protected boolean needsPreceedingBlankLine()
-
appendSubsection
protected boolean appendSubsection(java.lang.StringBuilder builder, java.lang.Iterable<XImportDeclaration> subSection, boolean needsNewline)
-
sort
protected java.util.List<XImportDeclaration> sort(java.lang.Iterable<XImportDeclaration> declarations)
-
hasStaticImport
public boolean hasStaticImport(org.eclipse.xtext.common.types.JvmDeclaredType declaringType, java.lang.String memberName, boolean extension)
-
hasStaticImport
public boolean hasStaticImport(java.lang.String memberName, boolean extension)
-
isEnabled
public boolean isEnabled()
-
setEnabled
public void setEnabled(boolean enabled)
-
-