/*******************************************************************************
 * Copyright (c) 2001, 2004 IBM Corporation and others.
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v10.html
 * 
 * Contributors:
 * IBM Corporation - initial API and implementation
 *******************************************************************************/
package org.eclipse.jst.j2ee.commonarchivecore.internal.exception;


/**
 * @deprecated Exception no longer thrown; check for null instead. Exception which may be thrown
 *             whenever a {@link ModuleFile}is expected to be contained within an ear file but it
 *             is not
 */
public class UncontainedModuleFileException extends ArchiveRuntimeException {
	/**
	 * UncontainedModuleException constructor comment.
	 */
	public UncontainedModuleFileException() {
		super();
	}

	/**
	 * UncontainedModuleException constructor comment.
	 * 
	 * @param s
	 *            java.lang.String
	 */
	public UncontainedModuleFileException(String s) {
		super(s);
	}
}
