You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by ah...@apache.org on 2022/03/03 21:20:58 UTC
[isis] branch master updated: ISIS-2877: blob/clob: make comparable
This is an automated email from the ASF dual-hosted git repository.
ahuber pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/isis.git
The following commit(s) were added to refs/heads/master by this push:
new 4fdb3a2 ISIS-2877: blob/clob: make comparable
4fdb3a2 is described below
commit 4fdb3a2dbdbbf97c4859e1d0b567b3bdd77660ae
Author: Andi Huber <ah...@apache.org>
AuthorDate: Thu Mar 3 22:20:18 2022 +0100
ISIS-2877: blob/clob: make comparable
---
.../java/org/apache/isis/applib/value/Blob.java | 2 --
.../isis/applib/value/NamedWithMimeType.java | 30 +++++++++++++++++++---
2 files changed, 26 insertions(+), 6 deletions(-)
diff --git a/api/applib/src/main/java/org/apache/isis/applib/value/Blob.java b/api/applib/src/main/java/org/apache/isis/applib/value/Blob.java
index f7610bf..7b90ade 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/value/Blob.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/value/Blob.java
@@ -327,6 +327,4 @@ public final class Blob implements NamedWithMimeType {
}
-
-
}
diff --git a/api/applib/src/main/java/org/apache/isis/applib/value/NamedWithMimeType.java b/api/applib/src/main/java/org/apache/isis/applib/value/NamedWithMimeType.java
index 9c199c5..69f1abf 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/value/NamedWithMimeType.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/value/NamedWithMimeType.java
@@ -24,17 +24,39 @@ import javax.activation.MimeType;
import javax.activation.MimeTypeParseException;
import org.apache.isis.commons.collections.Can;
+import org.apache.isis.commons.internal.base._Strings;
import lombok.Getter;
/**
* @since 1.x {@index}
*/
-public interface NamedWithMimeType extends Serializable {
-
- public String getName();
+public interface NamedWithMimeType
+extends
+ Serializable,
+ Comparable<NamedWithMimeType> {
+
+ String getName();
+
+ MimeType getMimeType();
+
+ @Override
+ default int compareTo(final NamedWithMimeType o) {
+ int c = _Strings.compareNullsFirst(
+ this.getName(),
+ o!=null
+ ? o.getName()
+ : null);
+ if(c!=0) {
+ return c;
+ }
- public MimeType getMimeType();
+ return _Strings.compareNullsFirst(
+ this.getMimeType().getBaseType(),
+ o!=null
+ ? o.getMimeType().getBaseType()
+ : null);
+ }
/**
* Subset of MimeTypes most commonly used.