Codebase list jd-gui / 515fca8
Update tree node selectors for multi-release JAR (MRJAR) emmanue1 4 years ago
9 changed file(s) with 65 addition(s) and 15 deletion(s). Raw diff Collapse all Expand all
1515 import java.util.regex.Pattern;
1616
1717 public interface TreeNodeFactory {
18 String[] getSelectors();
18 String[] getSelectors();
1919
2020 Pattern getPathPattern();
2121
22 <T extends DefaultMutableTreeNode & ContainerEntryGettable & UriGettable> T make(API api, Container.Entry entry);
22 <T extends DefaultMutableTreeNode & ContainerEntryGettable & UriGettable> T make(API api, Container.Entry entry);
2323 }
1111 public class ClassesDirectoryTreeNodeFactoryProvider extends DirectoryTreeNodeFactoryProvider {
1212 protected static final ImageIcon ICON = new ImageIcon(ClassesDirectoryTreeNodeFactoryProvider.class.getClassLoader().getResource("org/jd/gui/images/packagefolder_obj.png"));
1313
14 @Override public String[] getSelectors() { return appendSelectors("war:dir:WEB-INF/classes", "jmod:dir:classes"); }
14 @Override public String[] getSelectors() {
15 return appendSelectors(
16 "jar:dir:META-INF/versions",
17 "jar:dir:META-INF/versions/5",
18 "jar:dir:META-INF/versions/6",
19 "jar:dir:META-INF/versions/7",
20 "jar:dir:META-INF/versions/8",
21 "jar:dir:META-INF/versions/9",
22 "jar:dir:META-INF/versions/10",
23 "jar:dir:META-INF/versions/11",
24 "jar:dir:META-INF/versions/12",
25 "jar:dir:META-INF/versions/13",
26 "jar:dir:META-INF/versions/14",
27 "war:dir:WEB-INF/classes",
28 "jmod:dir:classes");
29 }
30
1531 @Override public ImageIcon getIcon() { return ICON; }
1632 @Override public ImageIcon getOpenIcon() { return null; }
1733 }
2222 import java.util.Collection;
2323
2424 public class DirectoryTreeNodeFactoryProvider extends AbstractTreeNodeFactoryProvider {
25 protected static final ImageIcon ICON = new ImageIcon(DirectoryTreeNodeFactoryProvider.class.getClassLoader().getResource("org/jd/gui/images/folder.gif"));
25 protected static final ImageIcon ICON = new ImageIcon(DirectoryTreeNodeFactoryProvider.class.getClassLoader().getResource("org/jd/gui/images/folder.gif"));
2626 protected static final ImageIcon OPEN_ICON = new ImageIcon(DirectoryTreeNodeFactoryProvider.class.getClassLoader().getResource("org/jd/gui/images/folder_open.png"));
2727
2828 @Override public String[] getSelectors() { return appendSelectors("*:dir:*"); }
1515 @Override
1616 public Pattern getPathPattern() {
1717 if (externalPathPattern == null) {
18 return Pattern.compile("classes\\/.*");
18 return Pattern.compile("classes\\/(?!META-INF)..*");
1919 } else {
2020 return externalPathPattern;
2121 }
1212 public class MetainfDirectoryTreeNodeFactoryProvider extends DirectoryTreeNodeFactoryProvider {
1313 protected static final ImageIcon ICON = new ImageIcon(MetainfDirectoryTreeNodeFactoryProvider.class.getClassLoader().getResource("org/jd/gui/images/inf_obj.png"));
1414
15 @Override public String[] getSelectors() { return appendSelectors("jar:dir:*", "war:dir:*", "ear:dir:*"); }
16
17 @Override
18 public Pattern getPathPattern() {
19 if (externalPathPattern == null) {
20 return Pattern.compile("(WEB-INF|(WEB-INF\\/classes\\/)?META-IN(F|F\\/.*))");
21 } else {
22 return externalPathPattern;
23 }
15 @Override public String[] getSelectors() {
16 return appendSelectors(
17 "jar:dir:META-INF",
18 "war:dir:WEB-INF",
19 "war:dir:WEB-INF/classes/META-INF",
20 "ear:dir:META-INF",
21 "jmod:dir:classes/META-INF");
2422 }
2523
2624 @Override public ImageIcon getIcon() { return ICON; }
1717 import javax.swing.tree.DefaultMutableTreeNode;
1818 import java.io.File;
1919 import java.util.Collection;
20 import java.util.regex.Pattern;
2021
2122 public class PackageTreeNodeFactoryProvider extends DirectoryTreeNodeFactoryProvider {
2223 protected static final ImageIcon ICON = new ImageIcon(PackageTreeNodeFactoryProvider.class.getClassLoader().getResource("org/jd/gui/images/package_obj.png"));
2324
2425 @Override public String[] getSelectors() { return appendSelectors("jar:dir:*"); }
26
27 @Override
28 public Pattern getPathPattern() {
29 if (externalPathPattern == null) {
30 return Pattern.compile("(META-INF\\/versions\\/.*)|(?!META-INF)..*");
31 } else {
32 return externalPathPattern;
33 }
34 }
2535
2636 @Override
2737 @SuppressWarnings("unchecked")
0 /*
1 * Copyright (c) 2008-2019 Emmanuel Dupuy.
2 * This project is distributed under the GPLv3 license.
3 * This is a Copyleft license that gives the user the right to use,
4 * copy and modify the code freely for non-commercial purposes.
5 */
6
7 package org.jd.gui.service.treenode;
8
9 import java.util.regex.Pattern;
10
11 public class SpiFileTreeNodeFactoryProvider extends TextFileTreeNodeFactoryProvider {
12 @Override public String[] getSelectors() {
13 return appendSelectors("*:file:*");
14 }
15
16 @Override
17 public Pattern getPathPattern() {
18 if (externalPathPattern == null) {
19 return Pattern.compile("(.*\\/)?META-INF\\/services\\/.*");
20 } else {
21 return externalPathPattern;
22 }
23 }
24 }
1515 @Override
1616 public Pattern getPathPattern() {
1717 if (externalPathPattern == null) {
18 return Pattern.compile("WEB-INF\\/classes\\/.*");
18 return Pattern.compile("WEB-INF\\/classes\\/(?!META-INF)..*");
1919 } else {
2020 return externalPathPattern;
2121 }
2020 org.jd.gui.service.treenode.PackageTreeNodeFactoryProvider
2121 org.jd.gui.service.treenode.PropertiesFileTreeNodeFactoryProvider
2222 org.jd.gui.service.treenode.SqlFileTreeNodeFactoryProvider
23 org.jd.gui.service.treenode.SpiFileTreeNodeFactoryProvider
2324 org.jd.gui.service.treenode.TextFileTreeNodeFactoryProvider
2425 org.jd.gui.service.treenode.WarFileTreeNodeFactoryProvider
2526 org.jd.gui.service.treenode.WarPackageTreeNodeFactoryProvider