blob: b564924718a56ccb66b916d6109eade0b6a5e019 [file] [log] [blame]
/*
* Copyright 2008 the original author or authors.
*
* 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 org.mockftpserver.fake.filesystem;
/**
* File system entry representing a directory
*
* @author Chris Mair
* @version $Revision$ - $Date$
*/
public class DirectoryEntry extends AbstractFileSystemEntry {
/**
* Construct a new instance without setting its path
*/
public DirectoryEntry() {
}
/**
* Construct a new instance with the specified value for its path
*
* @param path - the value for path
*/
public DirectoryEntry(String path) {
super(path);
}
/**
* Return true to indicate that this entry represents a directory
*
* @return true
*/
public boolean isDirectory() {
return true;
}
/**
* Return the size of this directory. This method returns zero.
*
* @return the file size in bytes
*/
public long getSize() {
return 0;
}
/**
* @see java.lang.Object#toString()
*/
public String toString() {
return "Directory['" + getPath() + "' lastModified=" + getLastModified() + " owner=" + getOwner() +
" group=" + getGroup() + " permissions=" + getPermissions() + "]";
}
/**
* Return a new FileSystemEntry that is a clone of this object, except having the specified path
*
* @param path - the new path value for the cloned file system entry
* @return a new FileSystemEntry that has all the same values as this object except for its path
*/
public FileSystemEntry cloneWithNewPath(String path) {
DirectoryEntry clone = new DirectoryEntry(path);
clone.setLastModified(getLastModified());
clone.setOwner(getOwner());
clone.setGroup(getGroup());
clone.setPermissions(getPermissions());
return clone;
}
}