/** * Licensed under the Artistic License; you may not use this file * except in compliance with the License. * You may obtain a copy of the License at * * http://displaytag.sourceforge.net/license.html * * THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. */ package org.displaytag.exception; import org.apache.commons.lang.ArrayUtils; import org.displaytag.Messages; /** * Exception thrown when a required attribute is not set. This is thrown when the user is required to set at least one * of multiple attributes and the check can't be enforced by the tld. * @author Fabrizio Giustina * @version $Revision: 720 $ ($Author: fgiust $) */ public class MissingAttributeException extends BaseNestableJspTagException { /** * D1597A17A6. */ private static final long serialVersionUID = 899149338534L; /** * list of tag attributes. */ private final String[] attributes; /** * Constructor for MissingAttributeException. * @param source Class where the exception is generated * @param attributeNames String attribute name */ public MissingAttributeException(Class source, String[] attributeNames) { super(source, Messages.getString("MissingAttributeException.msg", //$NON-NLS-1$ new Object[]{ArrayUtils.toString(attributeNames)})); // copy attributes to allow them to be retrieved using getAttributeNames() this.attributes = (String[]) ArrayUtils.clone(attributeNames); } /** * @return SeverityEnum.ERROR * @see org.displaytag.exception.BaseNestableJspTagException#getSeverity() * @see org.displaytag.exception.SeverityEnum */ public SeverityEnum getSeverity() { return SeverityEnum.ERROR; } /** * returns an array containing the names of missing attributes. * @return String[] array of missing attributes */ public String[] getAttributeNames() { return (String[]) ArrayUtils.clone(this.attributes); } }