100dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair/*
200dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair * Copyright 2008 the original author or authors.
300dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair *
400dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair * Licensed under the Apache License, Version 2.0 (the "License");
500dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair * you may not use this file except in compliance with the License.
600dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair * You may obtain a copy of the License at
700dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair *
800dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair *      http://www.apache.org/licenses/LICENSE-2.0
900dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair *
1000dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair * Unless required by applicable law or agreed to in writing, software
1100dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair * distributed under the License is distributed on an "AS IS" BASIS,
1200dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1300dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair * See the License for the specific language governing permissions and
1400dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair * limitations under the License.
1500dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair */
1600dc7bdcf1df9e86789d963984dfc6912a8854c6chrismairpackage org.mockftpserver.fake.filesystem;
1700dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair
1800dc7bdcf1df9e86789d963984dfc6912a8854c6chrismairimport org.mockftpserver.core.MockFtpServerException;
1900dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair
2000dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair/**
2100dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair * Represents an error that occurs while performing a FileSystem operation.
2200dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair *
2300dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair * @author Chris Mair
2400dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair * @version $Revision$ - $Date$
2500dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair */
2600dc7bdcf1df9e86789d963984dfc6912a8854c6chrismairpublic class FileSystemException extends MockFtpServerException {
2700dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair
2800dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair    /**
2900dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair     * The path involved in the file system operation that caused the exception
3000dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair     */
3100dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair    private String path;
3200dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair
3300dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair    /**
3400dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair     * The message key for the exception message
3500dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair     */
3600dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair    private String messageKey;
3700dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair
3800dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair    /**
3900dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair     * Construct a new instance for the specified path and message key
4000dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair     *
4100dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair     * @param path       - the path involved in the file system operation that caused the exception
4200dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair     * @param messageKey - the exception message key
4300dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair     */
4400dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair    public FileSystemException(String path, String messageKey) {
4500dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair        super(path);
4600dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair        this.path = path;
4700dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair        this.messageKey = messageKey;
4800dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair    }
4900dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair
5000dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair    /**
5100dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair     * @param path       - the path involved in the file system operation that caused the exception
5200dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair     * @param messageKey - the exception message key
5300dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair     * @param cause      - the exception cause, wrapped by this exception
5400dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair     */
5500dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair    public FileSystemException(String path, String messageKey, Throwable cause) {
5600dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair        super(path, cause);
5700dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair        this.path = path;
5800dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair        this.messageKey = messageKey;
5900dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair    }
6000dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair
6100dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair    public String getPath() {
6200dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair        return path;
6300dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair    }
6400dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair
6500dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair    public void setPath(String path) {
6600dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair        this.path = path;
6700dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair    }
6800dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair
6900dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair    public String getMessageKey() {
7000dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair        return messageKey;
7100dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair    }
7200dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair
7300dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair    public void setMessageKey(String messageKey) {
7400dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair        this.messageKey = messageKey;
7500dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair    }
7600dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair
7700dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair}
78