/* | |
* 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; | |
} | |
} |