Overview Package Class Use Source Tree Index Deprecated About
GNU Classpath (0.95)
Frames | No Frames

Source for java.util.regex.PatternSyntaxException

 1:  /* PatternSyntaxException - Indicates illegal pattern for regular expression.
 2:  Copyright (C) 2002 Free Software Foundation, Inc.
 3: 
 4: This file is part of GNU Classpath.
 5: 
 6: GNU Classpath is free software; you can redistribute it and/or modify
 7: it under the terms of the GNU General Public License as published by
 8: the Free Software Foundation; either version 2, or (at your option)
 9: any later version.
 10: 
 11: GNU Classpath is distributed in the hope that it will be useful, but
 12: WITHOUT ANY WARRANTY; without even the implied warranty of
 13: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
 14: General Public License for more details.
 15: 
 16: You should have received a copy of the GNU General Public License
 17: along with GNU Classpath; see the file COPYING. If not, write to the
 18: Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
 19: 02110-1301 USA.
 20: 
 21: Linking this library statically or dynamically with other modules is
 22: making a combined work based on this library. Thus, the terms and
 23: conditions of the GNU General Public License cover the whole
 24: combination.
 25: 
 26: As a special exception, the copyright holders of this library give you
 27: permission to link this library with independent modules to produce an
 28: executable, regardless of the license terms of these independent
 29: modules, and to copy and distribute the resulting executable under
 30: terms of your choice, provided that you also meet, for each linked
 31: independent module, the terms and conditions of the license of that
 32: module. An independent module is a module which is not derived from
 33: or based on this library. If you modify this library, you may extend
 34: this exception to your version of the library, but you are not
 35: obligated to do so. If you do not wish to do so, delete this
 36: exception statement from your version. */
 37: 
 38:  package java.util.regex;
 39: 
 40:  /**
 41:  * Indicates illegal pattern for regular expression.
 42:  * Includes state to inspect the pattern and what and where the expression
 43:  * was not valid regular expression.
 44:  * @since 1.4
 45:  */
 46:  public class PatternSyntaxException extends IllegalArgumentException
 47: {
 48:  private static final long serialVersionUID = -3864639126226059218L;
 49: 
 50:  /**
 51:  * Human readable escription of the syntax error.
 52:  */
 53:  private final String desc;
 54: 
 55:  /**
 56:  * The original pattern that contained the syntax error.
 57:  */
 58:  private final String pattern;
 59:  
 60:  /**
 61:  * Index of the first character in the String that was probably invalid,
 62:  * or -1 when unknown.
 63:  */
 64:  private final int index;
 65: 
 66:  /**
 67:  * Creates a new PatternSyntaxException.
 68:  *
 69:  * @param description Human readable escription of the syntax error.
 70:  * @param pattern The original pattern that contained the syntax error.
 71:  * @param index Index of the first character in the String that was
 72:  * probably invalid, or -1 when unknown.
 73:  */
 74:  public PatternSyntaxException(String description,
 75:  String pattern,
 76:  int index)
 77:  {
 78:  super(description);
 79:  this.desc = description;
 80:  this.pattern = pattern;
 81:  this.index = index;
 82:  }
 83: 
 84:  /**
 85:  * Returns a human readable escription of the syntax error.
 86:  */
 87:  public String getDescription()
 88:  {
 89:  return desc;
 90:  }
 91: 
 92:  /**
 93:  * Returns the original pattern that contained the syntax error.
 94:  */
 95:  public String getPattern()
 96:  {
 97:  return pattern;
 98:  }
 99: 
 100:  /**
 101:  * Returns the index of the first character in the String that was probably
 102:  * invalid, or -1 when unknown.
 103:  */
 104:  public int getIndex()
 105:  {
 106:  return index;
 107:  }
 108: 
 109:  /**
 110:  * Returns a string containing a line with the description, a line with
 111:  * the original pattern and a line indicating with a ^ which character is
 112:  * probably the first invalid character in the pattern if the index is not
 113:  * negative.
 114:  */
 115:  public String getMessage()
 116:  {
 117:  String lineSep = System.getProperty("line.separator");
 118:  StringBuffer sb = new StringBuffer(desc);
 119:  sb.append(lineSep);
 120:  sb.append('\t');
 121:  sb.append(pattern);
 122:  if (index != -1)
 123:  {
 124:  sb.append(lineSep);
 125:  sb.append('\t');
 126:  for (int i=0; i<index; i++)
 127:  sb.append(' ');
 128:  sb.append('^');
 129:  }
 130:  return sb.toString();
 131:  }
 132: 
 133: }
Overview Package Class Use Source Tree Index Deprecated About
GNU Classpath (0.95)

AltStyle によって変換されたページ (->オリジナル) /