/*
 * Copyright 2006 Google Inc.
 *
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not
 * use this file except in compliance with the License. You may obtain a copy of
 * the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
 * License for the specific language governing permissions and limitations under
 * the License.
 */
package com.google.gwt.core.ext;

/**
 * Thrown when a deferred binding property contains an invalid value.
 */
public class BadPropertyValueException extends Exception {

  private final String badValue;

  private final String propName;

  public BadPropertyValueException(String propName) {
    super("Missing property '" + propName + "' was not specified");

    this.propName = propName;
    this.badValue = "<null>";
  }

  public BadPropertyValueException(String propName, String badValue) {
    super("Property '" + propName + "' cannot be set to unexpected value '"
      + badValue + "'");

    this.propName = propName;
    this.badValue = badValue;
  }

  String getBadValue() {
    return badValue;
  }
  String getPropName() {
    return propName;
  }
}
