WebResourcepublic class WebResource extends Resource
Fields Summary |
---|
private transient boolean | wildcard | private transient String | path |
Constructors Summary |
---|
public WebResource(String app, String name, String method)
super(app,name,method);
init(name);
|
Methods Summary |
---|
public boolean | equals(java.lang.Object obj)
if(obj == this)
return true;
if ((obj == null) || (obj.getClass() != getClass()))
return false;
Resource r = (Resource) obj;
return getApplication().equals(r.getApplication()) &&
getMethod().equals(r.getMethod()) &&
getName().equals(r.getName());
| public boolean | implies(Resource resource)
if(( resource == null) || (resource.getClass() != getClass()))
return false;
WebResource that = (WebResource) resource;
// Application name is not an issue in implies .....
if(!getMethod().equals(that.getMethod()))
return false;
if(this.wildcard) {
if (that.wildcard)
// one wildcard can imply another
return that.path.startsWith(path);
else
// make sure ap.path is longer so a/b/* doesn't imply a/b
return (that.path.length() > this.path.length()) &&
that.path.startsWith(this.path);
} else {
if (that.wildcard) {
// a non-wildcard can't imply a wildcard
return false;
}
else {
return this.path.equals(that.path);
}
}
| private void | init(java.lang.String name)
if (name == null)
throw new IllegalArgumentException("name can't be null");
if (name.endsWith("/*") || name.equals("*")) {
wildcard = true;
if (name.length() == 1) {
path = "";
} else {
path = name.substring(0, name.length()-1);
}
} else {
path = name;
}
|
|