/**
* Copyright (c) 2005-2011 by Appcelerator, Inc. All Rights Reserved.
* Licensed under the terms of the Eclipse Public License (EPL).
* Please see the license.txt included with this distribution for details.
* Any modifications to this file must keep this entire header intact.
*/
package org.python.pydev.editor.codecompletion.revisited.modules;
import java.io.File;
/**
* An empty module representing a path in a zip file.
*
* @author Fabio
*/
public class EmptyModuleForZip extends EmptyModule {
private static final long serialVersionUID = 1L;
public String pathInZip;
/**
* Determines if it was found as a file within the zip (otherwise, it's a folder).
*/
public boolean isFile;
public EmptyModuleForZip(String name, File f, String pathInZip, boolean isFile) {
super(name, f);
this.pathInZip = pathInZip;
this.isFile = isFile;
}
@Override
public boolean equals(Object obj) {
if (!(obj instanceof EmptyModuleForZip)) {
return false;
}
EmptyModuleForZip m = (EmptyModuleForZip) obj;
if (name == null || m.name == null) {
if (name != m.name) {
return false;
}
//both null at this point
} else if (!name.equals(m.name)) {
return false;
}
if (f == null || m.f == null) {
if (f != m.f) {
return false;
}
//both null at this point
} else if (!f.equals(m.f)) {
return false;
}
if (pathInZip == null || m.pathInZip == null) {
if (pathInZip != m.pathInZip) {
return false;
}
//both null at this point
} else if (!pathInZip.equals(m.pathInZip)) {
return false;
}
return true;
}
@Override
public int hashCode() {
int hash = 123;
if (f != null) {
hash += f.hashCode();
}
if (name != null) {
hash += name.hashCode();
}
if (pathInZip != null) {
hash += pathInZip.hashCode();
}
return hash;
}
}