diff --git a/src/main/java/bdv/viewer/state/SourceGroup.java b/src/main/java/bdv/viewer/state/SourceGroup.java index b5d219deadda917b2364bbaa470aae0ab620222b..5925b4efba4c03f6755eb7a2424d90b6f770209f 100644 --- a/src/main/java/bdv/viewer/state/SourceGroup.java +++ b/src/main/java/bdv/viewer/state/SourceGroup.java @@ -137,4 +137,33 @@ public class SourceGroup { this.isCurrent = isCurrent; } + + @Override + public boolean equals( final Object o ) + { + if ( this == o ) + return true; + if ( !( o instanceof SourceGroup ) ) + return false; + + final SourceGroup that = ( SourceGroup ) o; + + if ( !name.equals( that.name ) ) + return false; + if ( isActive != that.isActive ) + return false; + if ( isCurrent != that.isCurrent ) + return false; + return sourceIds.equals( that.sourceIds ); + } + + @Override + public int hashCode() + { + int result = sourceIds.hashCode(); + result = 31 * result + name.hashCode(); + result = 31 * result + ( isActive ? 1 : 0 ); + result = 31 * result + ( isCurrent ? 1 : 0 ); + return result; + } }