java.net.URISyntaxException Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of gwt-mt-jre-emulation Show documentation
Show all versions of gwt-mt-jre-emulation Show documentation
Additional jre emulation classes for gwt and j2cl.
/*
* %W% %E%
*
* Copyright (c) 2006, Oracle and/or its affiliates. All rights reserved. ORACLE
* PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
*/
package java.net;
/**
* Checked exception thrown to indicate that a string could not be parsed as a URI reference.
*
* @author Mark Reinhold
* @version %I%, %E%
* @see URI
* @since 1.4
*/
@SuppressWarnings({"serial", "checkstyle:abbreviationaswordinname"})
public class URISyntaxException extends Exception {
private final String input;
private final int index;
/**
* Constructs an instance from the given input string, reason, and error index.
*
* @param input The input string
* @param reason A string explaining why the input could not be parsed
* @param index The index at which the parse error occurred, or -1 if the index is not
* known
*
* @throws NullPointerException If either the input or reason strings are null
*
* @throws IllegalArgumentException If the error index is less than -1
*/
public URISyntaxException(final String input, final String reason, final int index) {
super(reason);
if (input == null || reason == null) {
throw new NullPointerException();
}
if (index < -1) {
throw new IllegalArgumentException();
}
this.input = input;
this.index = index;
}
/**
* Constructs an instance from the given input string and reason. The resulting object will have
* an error index of -1.
*
* @param input The input string
* @param reason A string explaining why the input could not be parsed
*
* @throws NullPointerException If either the input or reason strings are null
*/
public URISyntaxException(final String input, final String reason) {
this(input, reason, -1);
}
/**
* Returns the input string.
*
* @return The input string
*/
public String getInput() {
return this.input;
}
/**
* Returns a string explaining why the input string could not be parsed.
*
* @return The reason string
*/
public String getReason() {
return super.getMessage();
}
/**
* Returns an index into the input string of the position at which the parse error occurred, or
* -1 if this position is not known.
*
* @return The error index
*/
public int getIndex() {
return this.index;
}
/**
* Returns a string describing the parse error. The resulting string consists of the reason string
* followed by a colon character (':'), a space, and the input string. If the error index
* is defined then the string " at index " followed by the index, in decimal, is inserted
* after the reason string and before the colon character.
*
* @return A string describing the parse error
*/
@Override
public String getMessage() {
final StringBuffer sb = new StringBuffer();
sb.append(this.getReason());
if (this.index > -1) {
sb.append(" at index ");
sb.append(this.index);
}
sb.append(": ");
sb.append(this.input);
return sb.toString();
}
}