Class RewritableImportSection


  • public class RewritableImportSection
    extends java.lang.Object
    Model of an import section that can be changed.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean addImport​(java.lang.String fqn)  
      boolean addImport​(org.eclipse.xtext.common.types.JvmDeclaredType type)  
      protected void addSectionToAppend​(org.eclipse.xtext.util.IAcceptor<org.eclipse.xtext.util.ReplaceRegion> acceptor)  
      boolean addStaticExtensionImport​(java.lang.String typeFqn, java.lang.String member)  
      boolean addStaticExtensionImport​(org.eclipse.xtext.common.types.JvmDeclaredType type, java.lang.String memberName)  
      boolean addStaticExtensionImport​(org.eclipse.xtext.common.types.JvmMember member)  
      boolean addStaticImport​(java.lang.String typeFqn, java.lang.String member)  
      boolean addStaticImport​(org.eclipse.xtext.common.types.JvmDeclaredType type, java.lang.String memberName)  
      boolean addStaticImport​(org.eclipse.xtext.common.types.JvmMember member)  
      protected void appendImport​(java.lang.StringBuilder builder, XImportDeclaration newImportDeclaration)  
      protected boolean appendSubsection​(java.lang.StringBuilder builder, java.lang.Iterable<XImportDeclaration> subSection, boolean needsNewline)  
      protected XImportDeclaration createImport​(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.StringBuilder getImportDeclarationsToAppend()  
      java.util.List<org.eclipse.xtext.common.types.JvmDeclaredType> getImportedTypes​(java.lang.String simpleName)  
      boolean hasImportedType​(org.eclipse.xtext.common.types.JvmDeclaredType type)  
      boolean hasStaticImport​(java.lang.String memberName, boolean extension)  
      boolean hasStaticImport​(org.eclipse.xtext.common.types.JvmDeclaredType declaringType, java.lang.String memberName, boolean extension)  
      boolean isEnabled()  
      boolean isSort()  
      protected boolean needsImport​(java.lang.String fqn)  
      boolean needsImport​(org.eclipse.xtext.common.types.JvmDeclaredType type)  
      protected boolean needsPreceedingBlankLine()  
      boolean removeImport​(org.eclipse.xtext.common.types.JvmDeclaredType type)  
      boolean removeStaticExtensionImport​(org.eclipse.xtext.common.types.JvmDeclaredType type, java.lang.String memberName)  
      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)  
      boolean removeStaticImport​(org.eclipse.xtext.common.types.JvmDeclaredType type, java.lang.String memberName)  
      java.util.List<org.eclipse.xtext.util.ReplaceRegion> rewrite()  
      protected java.lang.String serializeImports​(java.util.List<XImportDeclaration> allDeclarations)  
      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.
      void setEnabled​(boolean enabled)  
      void setSort​(boolean isSort)  
      protected java.util.List<XImportDeclaration> sort​(java.lang.Iterable<XImportDeclaration> declarations)  
      void update()  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • 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 be null.
        member - member name to import. May not be null. 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 be null.
        member - member name to import. May not be null. 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)
      • 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)