X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fstructure%2FStructureCommandsBase.java;h=57544b750838c2709e775110768c96e4323ac4a1;hb=d87b55e45cc1e6a5b7df3865ded1b87a0e3dc7ff;hp=e688b64c3be735ab8fe6ad58ec977855bc88d7ee;hpb=27f24d1f14b8e8704d72797286f7a6e5f60b2119;p=jalview.git diff --git a/src/jalview/structure/StructureCommandsBase.java b/src/jalview/structure/StructureCommandsBase.java index e688b64..57544b7 100644 --- a/src/jalview/structure/StructureCommandsBase.java +++ b/src/jalview/structure/StructureCommandsBase.java @@ -6,9 +6,6 @@ import java.util.List; import java.util.Map; import java.util.Map.Entry; -import jalview.api.AlignmentViewPanel; -import jalview.datamodel.SequenceI; - /** * A base class holding methods useful to all classes that implement commands * for structure viewers @@ -18,6 +15,8 @@ import jalview.datamodel.SequenceI; */ public abstract class StructureCommandsBase implements StructureCommandsI { + public static final String NAMESPACE_PREFIX = "jv_"; + private static final String CMD_SEPARATOR = ";"; /** @@ -30,15 +29,6 @@ public abstract class StructureCommandsBase implements StructureCommandsI return CMD_SEPARATOR; } - @Override - public List setAttributesForFeatures( - StructureSelectionManager ssm, - String[] files, SequenceI[][] sequence, AlignmentViewPanel avp) - { - // default does nothing, override where this is implemented - return null; - } - /** * Returns the lowest model number used by the structure viewer * @@ -84,6 +74,28 @@ public abstract class StructureCommandsBase implements StructureCommandsI } /** + * Makes a structure viewer attribute name for a Jalview feature type by + * prefixing it with "jv_", and replacing any non-alphanumeric characters with + * an underscore + * + * @param featureType + * @return + */ + protected String makeAttributeName(String featureType) + { + StringBuilder sb = new StringBuilder(); + if (featureType != null) + { + for (char c : featureType.toCharArray()) + { + sb.append(Character.isLetterOrDigit(c) ? c : '_'); + } + } + String attName = NAMESPACE_PREFIX + sb.toString(); + return attName; + } + + /** * Traverse the map of colours/models/chains/positions to construct a list of * 'color' commands (one per distinct colour used). The format of each command * is specific to the structure viewer. @@ -130,7 +142,7 @@ public abstract class StructureCommandsBase implements StructureCommandsI Color colour) { String atomSpec = getAtomSpec(atomSpecModel, false); - return getColourCommand(atomSpec, colour); + return colourResidues(atomSpec, colour); } /** @@ -141,7 +153,7 @@ public abstract class StructureCommandsBase implements StructureCommandsI * @param colour * @return */ - protected abstract StructureCommandI getColourCommand(String atomSpec, + protected abstract StructureCommandI colourResidues(String atomSpec, Color colour); @Override @@ -159,7 +171,7 @@ public abstract class StructureCommandsBase implements StructureCommandsI private StructureCommandI colourResidue(String resName, Color col) { String atomSpec = getResidueSpec(resName); - return getColourCommand(atomSpec, col); + return colourResidues(atomSpec, col); } /** @@ -204,4 +216,42 @@ public abstract class StructureCommandsBase implements StructureCommandsI * @return */ protected abstract String getResidueSpec(String residue); + + @Override + public List setAttributes( + Map> featureValues) + { + // default does nothing, override where this is implemented + return null; + } + + @Override + public List startNotifications(String uri) + { + return null; + } + + @Override + public List stopNotifications() + { + return null; + } + + @Override + public StructureCommandI getSelectedResidues() + { + return null; + } + + @Override + public StructureCommandI listResidueAttributes() + { + return null; + } + + @Override + public StructureCommandI getResidueAttributes(String attName) + { + return null; + } }