package com.deepnighttwo.resourceresolver.ui.resolver.data;
import org.eclipse.swt.graphics.Image;
import com.deepnighttwo.resourceresolver.ui.Activator;
/**
* If a data is a link, e.g. to local folder or an URL, should use this class to
* wrap it.
*
* @author mzang
*
*/
public class LinkData implements IResourceDetailsData {
private static Image image = Activator.getImageDescriptor("icons/link.gif")
.createImage();
private String linkLocation;
public LinkData(String linkLocation) {
if (linkLocation == null) {
linkLocation = "";
}
this.linkLocation = linkLocation;
}
public String getLinkLocation() {
return linkLocation;
}
public void setLinkLocation(String linkLocation) {
this.linkLocation = linkLocation;
}
public String toString() {
return linkLocation;
}
@Override
public int compareTo(Object anotherLinkData) {
return linkLocation.compareTo(anotherLinkData.toString());
}
@Override
public String getDisplayText() {
return toString();
}
@Override
public Image getImage() {
// TODO Auto-generated method stub
return image;
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result
+ ((linkLocation == null) ? 0 : linkLocation.hashCode());
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
LinkData other = (LinkData) obj;
if (linkLocation == null) {
if (other.linkLocation != null)
return false;
} else if (!linkLocation.equals(other.linkLocation))
return false;
return true;
}
@Override
public DataType getDataType() {
return DataType.TEXT;
}
}