package dw.xmlrpc;
/**
* Describes a link in a wiki page
*/
public class LinkInfo {
public enum Type {
local,
extern
}
private final Type _type;
/**
* Whether it is a local or extern link
*/
public Type type(){
return _type;
}
private final String _page;
/**
* The wiki page (or the complete URL if extern link)
*/
public String page(){
return _page;
}
private final String _href;
/**
* The complete URL
*/
public String href(){
return _href;
}
public LinkInfo(String type, String page, String href){
this(Type.valueOf(type), page, href);
}
public LinkInfo(Type type, String page, String href){
_type = type;
_page = page;
_href = href;
}
@Override
public boolean equals(Object other){
if ( this == other ){
return true;
}
if ( other == null ){
return false;
}
if ( !(other instanceof LinkInfo)){
return false;
}
LinkInfo link = (LinkInfo) other;
return _type == link._type
&& _page.equals(link._page)
&& _href.equals(link._href);
}
@Override
public int hashCode(){
//Any arbitrary constant will do
return 0;
}
@Override
public String toString(){
return "type:" + _type.toString()
+ ", page:" + _page
+ ", href:" + _href;
}
}