X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fjalview%2Fjbgui%2FFilterOption.java;h=872fac6f0ce7ae5fea87461a2c88164131631e4b;hb=229c987fa6b3d5b98471ce0d4e83fbbf957e792b;hp=d52dbbf7305b00d1cacad7ace58854f0115a5ef4;hpb=a35bdf653fe2f56b6600c57f53991a0191cb0032;p=jalview.git diff --git a/src/jalview/jbgui/FilterOption.java b/src/jalview/jbgui/FilterOption.java index d52dbbf..872fac6 100644 --- a/src/jalview/jbgui/FilterOption.java +++ b/src/jalview/jbgui/FilterOption.java @@ -1,3 +1,23 @@ +/* + * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$) + * Copyright (C) $$Year-Rel$$ The Jalview Authors + * + * This file is part of Jalview. + * + * Jalview is free software: you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation, either version 3 + * of the License, or (at your option) any later version. + * + * Jalview is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty + * of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Jalview. If not, see . + * The Jalview Authors are detailed in the 'AUTHORS' file. + */ package jalview.jbgui; import jalview.gui.structurechooser.StructureChooserQuerySource; @@ -18,7 +38,7 @@ public class FilterOption private String view; private boolean addSeparatorAfter; - + private StructureChooserQuerySource querySource; /** @@ -33,15 +53,17 @@ public class FilterOption * @param addSeparatorAfter * - if true, a horizontal separator is rendered immediately after * this filter option, otherwise - * @param structureChooserQuerySource - the query source that actions this filter + * @param structureChooserQuerySource + * - the query source that actions this filter */ public FilterOption(String name, String value, String view, - boolean addSeparatorAfter, StructureChooserQuerySource structureChooserQuerySource) + boolean addSeparatorAfter, + StructureChooserQuerySource structureChooserQuerySource) { this.name = name; this.value = value; this.view = view; - this.querySource=structureChooserQuerySource; + this.querySource = structureChooserQuerySource; this.addSeparatorAfter = addSeparatorAfter; } @@ -95,4 +117,27 @@ public class FilterOption { return querySource; } + + @Override + public boolean equals(Object obj) + { + if (obj instanceof FilterOption) + { + FilterOption o = (FilterOption) obj; + return o.name.equals(name) && o.querySource == querySource + && o.value.equals(value) && o.view == view; + } + else + { + return super.equals(obj); + } + } + + @Override + public int hashCode() + { + return ("" + name + ":" + value).hashCode() + + (view != null ? view.hashCode() : 0) + + (querySource != null ? querySource.hashCode() : 0); + } } \ No newline at end of file