1 package eu
.etaxonomy
.taxeditor
.editor
.handler
;
4 import org
.eclipse
.core
.expressions
.PropertyTester
;
5 import org
.eclipse
.jface
.viewers
.IStructuredSelection
;
6 import org
.eclipse
.jface
.viewers
.TreeNode
;
8 import eu
.etaxonomy
.cdm
.model
.molecular
.Sequence
;
9 import eu
.etaxonomy
.cdm
.model
.molecular
.SingleRead
;
10 import eu
.etaxonomy
.taxeditor
.editor
.EditorUtil
;
15 * Tests types of specimens to add items to the context menu.
20 public class SpecimenPropertyTester
extends PropertyTester
{
21 private static final String SEQUENCE
= "isSequence";
22 private static final String SINGLE_READ
= "isSingleRead";
25 public SpecimenPropertyTester() {}
29 public boolean test(Object receiver
, String property
, Object
[] args
, Object expectedValue
) {
30 if (receiver
instanceof IStructuredSelection
) {
31 IStructuredSelection selection
= (IStructuredSelection
) receiver
;
32 TreeNode treeNodeOfSelection
= EditorUtil
.getTreeNodeOfSelection(selection
);
33 if (treeNodeOfSelection
!=null) {
34 if (SEQUENCE
.equals(property
)) {
35 return isSequence(treeNodeOfSelection
.getValue());
37 else if (SINGLE_READ
.equals(property
)) {
38 return isSingleReadAlignment(treeNodeOfSelection
.getValue());
45 private boolean isSequence(Object object
) {
46 return (object
instanceof Sequence
);
49 private boolean isSingleReadAlignment(Object object
) {
50 return (object
instanceof SingleRead
);