private static void processGroupsAttribute(@NotNull String[] groups, @NotNull CodeStyleSettings settings) { PackageEntryTable importTable = new PackageEntryTable(); for (String group : groups) { if (group.equals("*")) { importTable.addEntry(PackageEntry.ALL_OTHER_IMPORTS_ENTRY); } else { importTable.addEntry(new PackageEntry(false, group, true)); } } settings.IMPORT_LAYOUT_TABLE.copyFrom(importTable); }
if (settings.IMPORT_LAYOUT_TABLE.getEntryAt(x).isStatic()) { settings.IMPORT_LAYOUT_TABLE.removeEntryAt(x); if (!entry.isStatic()) { nonStaticImports.add(entry.getPackageName()); if (entry == PackageEntry.ALL_OTHER_STATIC_IMPORTS_ENTRY && !nonStaticImports.contains(PackageEntry.ALL_OTHER_IMPORTS_ENTRY.getPackageName())) { if (staticImportPosition == StaticImportPosition.ABOVE) { importTable.addEntry(PackageEntry.ALL_OTHER_STATIC_IMPORTS_ENTRY); importTable.addEntry(PackageEntry.ALL_OTHER_STATIC_IMPORTS_ENTRY); } else if (entry.isStatic() && !nonStaticImports.contains(entry.getPackageName())) { if (staticImportPosition == StaticImportPosition.ABOVE) { importTable.addEntry(entry); importTable.addEntry(new PackageEntry(false, entry.getPackageName(), true)); } else { importTable.addEntry(new PackageEntry(false, entry.getPackageName(), true)); importTable.addEntry(entry); importTable.addEntry(new PackageEntry(true, entry.getPackageName(), true)); importTable.addEntry(entry); } else { importTable.addEntry(entry); importTable.addEntry(new PackageEntry(true, entry.getPackageName(), true));
@Override public void importTo(@NotNull CodeStyleSettings settings) { if (!allowClassStarImports) { settings.CLASS_COUNT_TO_USE_IMPORT_ON_DEMAND = 999; } if (!allowStaticStarImports) { settings.NAMES_COUNT_TO_USE_IMPORT_ON_DEMAND = 999; } PackageEntryTable excludeTable = new PackageEntryTable(); if (excludes != null) { for (String exclude : excludes) { excludeTable.addEntry(new PackageEntry(false, exclude, false)); } } settings.PACKAGES_TO_USE_IMPORT_ON_DEMAND.copyFrom(excludeTable); } }
private PackageEntryTable createCustomImportTable() { PackageEntryTable table = new PackageEntryTable(); Consumer<String> createPackageEntry = p -> table.addEntry(new PackageEntry(false, p, true)); if (customImportOrder != null) { for (ImportGroup group : customImportOrder) { switch (group) { case STATIC: table.addEntry(PackageEntry.ALL_OTHER_STATIC_IMPORTS_ENTRY); break; case THIRD_PARTY_PACKAGE: thirdPartyPackageRegExp.forEach(createPackageEntry); break; case SPECIAL_IMPORTS: specialImportsRegExp.forEach(createPackageEntry); break; case STANDARD_JAVA_PACKAGE: standardPackageRegExp.forEach(createPackageEntry); break; default: // IntelliJ does not support this option or group does not exist break; } addBlankLineBetweenGroups(table); } } table.addEntry(PackageEntry.ALL_OTHER_IMPORTS_ENTRY); return table; }
new PackageEntry(false, "my.custom.package", true), new PackageEntry(false, "java", true), PackageEntry.ALL_OTHER_IMPORTS_ENTRY }; PackageEntry[] expected = new PackageEntry[]{ PackageEntry.ALL_OTHER_STATIC_IMPORTS_ENTRY, new PackageEntry(false, "my.custom.package", true), PackageEntry.ALL_OTHER_IMPORTS_ENTRY, }; new PackageEntry(false, "my.custom.package", true), PackageEntry.ALL_OTHER_IMPORTS_ENTRY, PackageEntry.ALL_OTHER_STATIC_IMPORTS_ENTRY, new PackageEntry(true, "my.custom.package", true), new PackageEntry(false, "my.custom.package", true), PackageEntry.ALL_OTHER_STATIC_IMPORTS_ENTRY, PackageEntry.ALL_OTHER_IMPORTS_ENTRY, new PackageEntry(false, "my.custom.package", true), new PackageEntry(true, "my.custom.package", true), PackageEntry.ALL_OTHER_IMPORTS_ENTRY, PackageEntry.ALL_OTHER_STATIC_IMPORTS_ENTRY, new PackageEntry(false, "my.custom.package", true), PackageEntry.ALL_OTHER_IMPORTS_ENTRY, };
new PackageEntry(false, "a.b.c", false), new PackageEntry(false, "d.e.f", false), };