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