X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fcommands%2FChangeCaseCommand.java;h=2d617052c83a99c2f56ddd0226007d6147cdb8c1;hb=9d80cca5113c0411aa06559d4bd3f86454459ce7;hp=976be92bbcb09bac4b044fd935391f9cc2b57eb4;hpb=fa93bb578999b13c0364a712ae368ca8841012a1;p=jalview.git diff --git a/src/jalview/commands/ChangeCaseCommand.java b/src/jalview/commands/ChangeCaseCommand.java index 976be92..2d61705 100644 --- a/src/jalview/commands/ChangeCaseCommand.java +++ b/src/jalview/commands/ChangeCaseCommand.java @@ -1,39 +1,50 @@ /* - * Jalview - A Sequence Alignment Editor and Viewer - * Copyright (C) 2007 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle - * - * This program 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 2 + * 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. - * - * This program 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. - * + * + * 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 this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA + * along with Jalview. If not, see . + * The Jalview Authors are detailed in the 'AUTHORS' file. */ package jalview.commands; -import jalview.datamodel.*; +import java.util.Locale; -public class ChangeCaseCommand - implements CommandI +import jalview.datamodel.AlignmentI; +import jalview.datamodel.SequenceI; + +import java.util.List; + +public class ChangeCaseCommand implements CommandI { String description; + public static int TO_LOWER = 0; + public static int TO_UPPER = 1; + public static int TOGGLE_CASE = 2; + int caseChange = -1; + SequenceI[] seqs; - int[][] regions; - public ChangeCaseCommand(String description, - SequenceI[] seqs, - int[][] regions, - int caseChange) + + List regions; + + public ChangeCaseCommand(String description, SequenceI[] seqs, + List regions, int caseChange) { this.description = description; this.seqs = seqs; @@ -67,21 +78,21 @@ public class ChangeCaseCommand String sequence; int start, end; char nextChar; - for (int r = 0; r < regions.length; r++) + for (int[] r : regions) { - start = regions[r][0]; + start = r[0]; for (int s = 0; s < seqs.length; s++) { sequence = seqs[s].getSequenceAsString(); StringBuffer newSeq = new StringBuffer(); - if (regions[r][1] > sequence.length()) + if (r[1] > sequence.length()) { end = sequence.length(); } else { - end = regions[r][1]; + end = r[1]; } if (start > 0) @@ -89,19 +100,20 @@ public class ChangeCaseCommand newSeq.append(sequence.substring(0, start)); } - if ( (caseChange == TO_UPPER && doCommand) - || (caseChange == TO_LOWER && !doCommand)) + if ((caseChange == TO_UPPER && doCommand) + || (caseChange == TO_LOWER && !doCommand)) { - newSeq.append(sequence.substring(start, end).toUpperCase()); + newSeq.append(sequence.substring(start, end).toUpperCase(Locale.ROOT)); } - else if ( (caseChange == TO_LOWER && doCommand) - || (caseChange == TO_UPPER && !doCommand)) + else if ((caseChange == TO_LOWER && doCommand) + || (caseChange == TO_UPPER && !doCommand)) { - newSeq.append(sequence.substring(start, end).toLowerCase()); + newSeq.append(sequence.substring(start, end).toLowerCase(Locale.ROOT)); } - else //TOGGLE CASE + else + // TOGGLE CASE { for (int c = start; c < end; c++) {