All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.netbeans.lib.cvsclient.file.DirectoryObject Maven / Gradle / Ivy

Go to download

A packaging of the IntelliJ Community Edition javacvs-src library. This is release number 1 of trunk branch 142.

The newest version!
/*
 *                 Sun Public License Notice
 *
 * The contents of this file are subject to the Sun Public License
 * Version 1.0 (the "License"). You may not use this file except in
 * compliance with the License. A copy of the License is available at
 * http://www.sun.com/
 *
 * The Original Code is NetBeans. The Initial Developer of the Original
 * Code is Sun Microsystems, Inc. Portions Copyright 1997-2000 Sun
 * Microsystems, Inc. All Rights Reserved.
 */
package org.netbeans.lib.cvsclient.file;

/**
 * Thiz represents a relative file name relative to an root entry (normally directory).
 *
 * @author  Thomas Singer
 */
public final class DirectoryObject extends AbstractFileObject {

	// Constants ==============================================================

	private static final DirectoryObject ROOT = new DirectoryObject("/");

	// Static =================================================================

	public static DirectoryObject getRoot() {
		return ROOT;
	}

	public static DirectoryObject createInstance(String relativeFileName) {
		return new DirectoryObject(relativeFileName);
	}

	public static DirectoryObject createInstance(DirectoryObject directoryObject, String directoryPathRelativeToDirectoryObject) {
		final String relativeFileName = FileUtils.ensureTrailingSlash(directoryObject.getPath())
		        + FileUtils.removeLeadingSlash(directoryPathRelativeToDirectoryObject);
		return createInstance(relativeFileName);
	}

	// Setup ==================================================================

	private DirectoryObject(String relativeFileName) {
		super(relativeFileName);
	}

	// Implemented ============================================================

	public boolean isDirectory() {
		return true;
	}

	// Accessing ==============================================================

	public final boolean isParentOf(AbstractFileObject abstractFileObject) {
		final String directoryPath = getPath();
		final String path = abstractFileObject.getPath();
		if (path.length() <= directoryPath.length()) {
			return false;
		}
		if (!path.startsWith(directoryPath)) {
			return false;
		}
		return true;
	}
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy