X-Git-Url: http://secure.phpeclipse.com diff --git a/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/builder/ClasspathMultiDirectory.java b/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/builder/ClasspathMultiDirectory.java new file mode 100644 index 0000000..ad76fe2 --- /dev/null +++ b/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/builder/ClasspathMultiDirectory.java @@ -0,0 +1,48 @@ +/******************************************************************************* + * Copyright (c) 2000, 2003 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Common Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/cpl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + *******************************************************************************/ +package net.sourceforge.phpeclipse.builder; + +import net.sourceforge.phpdt.core.compiler.CharOperation; + +import org.eclipse.core.resources.IContainer; + +class ClasspathMultiDirectory extends ClasspathDirectory { + +IContainer sourceFolder; +char[][] exclusionPatterns; // used by builders when walking source folders +boolean hasIndependentOutputFolder; // if output folder is not equal to any of the source folders + +ClasspathMultiDirectory(IContainer sourceFolder, IContainer binaryFolder, char[][] exclusionPatterns) { + super(binaryFolder, true); + + this.sourceFolder = sourceFolder; + this.exclusionPatterns = exclusionPatterns; + this.hasIndependentOutputFolder = false; + + // handle the case when a state rebuilds a source folder + if (this.exclusionPatterns != null && this.exclusionPatterns.length == 0) + this.exclusionPatterns = null; +} + +public boolean equals(Object o) { + if (this == o) return true; + if (!(o instanceof ClasspathMultiDirectory)) return false; + + ClasspathMultiDirectory md = (ClasspathMultiDirectory) o; + return sourceFolder.equals(md.sourceFolder) && binaryFolder.equals(md.binaryFolder) + && CharOperation.equals(exclusionPatterns, md.exclusionPatterns); +} + +public String toString() { + return "Source classpath directory " + sourceFolder.getFullPath().toString() + //$NON-NLS-1$ + " with binary directory " + binaryFolder.getFullPath().toString(); //$NON-NLS-1$ +} +}