blob: ed14a22ca321d62f791293e9cb2b7f162003f0ed [file] [log] [blame]
/*
* ******************************************************************************
* Copyright (C) 2007, International Business Machines Corporation and others.
* All Rights Reserved.
* ******************************************************************************
*/
package com.ibm.icu.dev.tool.tzu;
import java.io.File;
/**
* Represents a path and whether it should be included or excluded.
*/
public class IncludePath {
/**
* Whether to include or exclude the path represented by this IncludePath.
*/
private boolean include;
/**
* The path represented by this IncludePath.
*/
private File path;
/**
* Constructs an IncludePath around a file or directory and whether it should be included or
* excluded.
*
* @param path
* The file / directory to be used.
* @param include
* Whether the file should be included / excluded.
*/
public IncludePath(File path, boolean include) {
this.path = path;
this.include = include;
}
/**
* Returns true if the other object is an IncludePath and the path that both objects represent
* are the same. It is not required for both IncludePaths to be included or excluded.
*
* @param other
* The other IncludePath to compare this one to.
* @return Whether the two IncludePaths are considered equal by the criteria above.
*/
public boolean equals(Object other) {
return !(other instanceof IncludePath) ? false : path.getAbsoluteFile().equals(
((IncludePath) other).path.getAbsoluteFile());
}
/**
* Returns the path of this IncludePath.
*
* @return The path of this IncludePath.
*/
public File getPath() {
return path;
}
/**
* Returns whether the path is included or not.
*
* @return Whether the path is included or not.
*/
public boolean isIncluded() {
return include;
}
/**
* Outputs this IncludePath in the form (<b>+</b>|<b>-</b>)<i>pathstring</i>.
*
* @return The IncludePath as a string.
*/
public String toString() {
return (include ? '+' : '-') + path.toString();
}
}