Skip to content

Commit 1b61858

Browse files
committed
Update most listener-like interfaces to also extend PrioritySortable
1 parent 76dfd6b commit 1b61858

35 files changed

+331
-272
lines changed

recaf-core/src/main/java/software/coley/recaf/services/assembler/SnippetListener.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,14 @@
11
package software.coley.recaf.services.assembler;
22

33
import jakarta.annotation.Nonnull;
4+
import software.coley.recaf.behavior.PrioritySortable;
45

56
/**
67
* Listener for receiving updates when {@link Snippet} entries are added/updated/removed from {@link SnippetManager}.
78
*
89
* @author Matt Coley
910
*/
10-
public interface SnippetListener {
11+
public interface SnippetListener extends PrioritySortable {
1112
/**
1213
* @param snippet
1314
* Newly added snippet.

recaf-core/src/main/java/software/coley/recaf/services/assembler/SnippetManager.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import org.slf4j.Logger;
88
import software.coley.collections.Unchecked;
99
import software.coley.recaf.analytics.logging.Logging;
10+
import software.coley.recaf.behavior.PrioritySortable;
1011
import software.coley.recaf.services.Service;
1112

1213
import java.util.List;
@@ -98,7 +99,7 @@ public void removeSnippet(@Nonnull String name) {
9899
* Listener to add.
99100
*/
100101
public void addSnippetListener(@Nonnull SnippetListener listener) {
101-
listeners.add(listener);
102+
PrioritySortable.add(listeners, listener);
102103
}
103104

104105
/**

recaf-core/src/main/java/software/coley/recaf/services/attach/BasicAttachManager.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
import software.coley.instrument.sock.SocketAvailability;
1919
import software.coley.instrument.util.Discovery;
2020
import software.coley.recaf.analytics.logging.Logging;
21+
import software.coley.recaf.behavior.PrioritySortable;
2122
import software.coley.recaf.util.DevDetection;
2223
import software.coley.recaf.util.StringUtil;
2324
import software.coley.recaf.util.threading.ThreadUtil;
@@ -422,7 +423,7 @@ public ObservableList<VirtualMachineDescriptor> getVirtualMachineDescriptors() {
422423

423424
@Override
424425
public void addPostScanListener(@Nonnull PostScanListener listener) {
425-
postScanListeners.add(listener);
426+
PrioritySortable.add(postScanListeners, listener);
426427
}
427428

428429
@Override

recaf-core/src/main/java/software/coley/recaf/services/attach/PostScanListener.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import com.sun.tools.attach.VirtualMachineDescriptor;
44
import jakarta.annotation.Nonnull;
5+
import software.coley.recaf.behavior.PrioritySortable;
56

67
import java.util.Set;
78

@@ -10,7 +11,7 @@
1011
*
1112
* @author Matt Coley
1213
*/
13-
public interface PostScanListener {
14+
public interface PostScanListener extends PrioritySortable {
1415
/**
1516
* Called when scan is completed.
1617
*

recaf-core/src/main/java/software/coley/recaf/services/comment/CommentContainerListener.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,15 @@
22

33
import jakarta.annotation.Nonnull;
44
import jakarta.annotation.Nullable;
5+
import software.coley.recaf.behavior.PrioritySortable;
56
import software.coley.recaf.path.ClassPathNode;
67

78
/**
89
* Listener for receiving updates when comment containers are removed.
910
*
1011
* @author Matt Coley
1112
*/
12-
public interface CommentContainerListener {
13+
public interface CommentContainerListener extends PrioritySortable {
1314
/**
1415
* @param path
1516
* Path to class.

recaf-core/src/main/java/software/coley/recaf/services/comment/CommentManager.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
import org.slf4j.Logger;
1515
import software.coley.collections.Unchecked;
1616
import software.coley.recaf.analytics.logging.Logging;
17+
import software.coley.recaf.behavior.PrioritySortable;
1718
import software.coley.recaf.cdi.EagerInitialization;
1819
import software.coley.recaf.info.ClassInfo;
1920
import software.coley.recaf.info.JvmClassInfo;
@@ -478,7 +479,7 @@ public boolean removeWorkspaceComments(@Nonnull Workspace workspace) {
478479
* Listener to add.
479480
*/
480481
public void addCommentListener(@Nonnull CommentUpdateListener listener) {
481-
commentUpdateListeners.add(listener);
482+
PrioritySortable.add(commentUpdateListeners, listener);
482483
}
483484

484485
/**
@@ -494,7 +495,7 @@ public void removeCommentListener(@Nonnull CommentUpdateListener listener) {
494495
* Listener to add.
495496
*/
496497
public void addCommentContainerListener(@Nonnull CommentContainerListener listener) {
497-
commentContainerListeners.add(listener);
498+
PrioritySortable.add(commentContainerListeners, listener);
498499
}
499500

500501
/**

recaf-core/src/main/java/software/coley/recaf/services/comment/CommentUpdateListener.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import jakarta.annotation.Nonnull;
44
import jakarta.annotation.Nullable;
5+
import software.coley.recaf.behavior.PrioritySortable;
56
import software.coley.recaf.path.ClassMemberPathNode;
67
import software.coley.recaf.path.ClassPathNode;
78

@@ -10,7 +11,7 @@
1011
*
1112
* @author Matt Coley
1213
*/
13-
public interface CommentUpdateListener {
14+
public interface CommentUpdateListener extends PrioritySortable {
1415
/**
1516
* @param path
1617
* Path to class commented.

recaf-core/src/main/java/software/coley/recaf/services/config/ConfigManager.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
import org.slf4j.Logger;
1616
import software.coley.collections.Unchecked;
1717
import software.coley.recaf.analytics.logging.Logging;
18+
import software.coley.recaf.behavior.PrioritySortable;
1819
import software.coley.recaf.cdi.InitializationEvent;
1920
import software.coley.recaf.config.ConfigCollectionValue;
2021
import software.coley.recaf.config.ConfigContainer;
@@ -203,7 +204,7 @@ public void unregisterContainer(@Nonnull ConfigContainer container) {
203204
* Listener to add.
204205
*/
205206
public void addManagedConfigListener(@Nonnull ManagedConfigListener listener) {
206-
listeners.add(listener);
207+
PrioritySortable.add(listeners, listener);
207208
}
208209

209210
/**

recaf-core/src/main/java/software/coley/recaf/services/config/ManagedConfigListener.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package software.coley.recaf.services.config;
22

33
import jakarta.annotation.Nonnull;
4+
import software.coley.recaf.behavior.PrioritySortable;
45
import software.coley.recaf.config.ConfigContainer;
56

67
/**
@@ -9,7 +10,7 @@
910
*
1011
* @author Matt Coley
1112
*/
12-
public interface ManagedConfigListener {
13+
public interface ManagedConfigListener extends PrioritySortable {
1314
/**
1415
* @param container
1516
* Registered config.

recaf-core/src/main/java/software/coley/recaf/services/mapping/MappingApplicationListener.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package software.coley.recaf.services.mapping;
22

33
import jakarta.annotation.Nonnull;
4+
import software.coley.recaf.behavior.PrioritySortable;
45
import software.coley.recaf.workspace.model.Workspace;
56

67
/**
@@ -10,7 +11,7 @@
1011
* @see MappingResults Can be added to the constuctor to affect a single mapping job.
1112
* @see MappingListeners Can be added in order to affect all mapping jobs.
1213
*/
13-
public interface MappingApplicationListener {
14+
public interface MappingApplicationListener extends PrioritySortable {
1415
/**
1516
* @param workspace
1617
* Workspace the mappings are applied to.

0 commit comments

Comments
 (0)