Smack/smack-extensions/src/main/java/org/jivesoftware/smackx/bookmarks/BookmarkedURL.java

110 lines
2.6 KiB
Java

/**
*
* Copyright 2003-2007 Jive Software.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.jivesoftware.smackx.bookmarks;
/**
* Respresents one instance of a URL defined using XEP-0048 Bookmark Storage XEP.
*
* @author Derek DeMoro
*/
public class BookmarkedURL implements SharedBookmark {
private String name;
private final String URL;
private boolean isRss;
private boolean isShared;
protected BookmarkedURL(String URL) {
this.URL = URL;
}
protected BookmarkedURL(String URL, String name, boolean isRss) {
this.URL = URL;
this.name = name;
this.isRss = isRss;
}
/**
* Returns the name representing the URL (eg. Jive Software). This can be used in as a label, or
* identifer in applications.
*
* @return the name reprenting the URL.
*/
public String getName() {
return name;
}
/**
* Sets the name representing the URL.
*
* @param name the name.
*/
protected void setName(String name) {
this.name = name;
}
/**
* Returns the URL.
*
* @return the url.
*/
public String getURL() {
return URL;
}
/**
* Set to true if this URL is an RSS or news feed.
*
* @param isRss True if the URL is a news feed and false if it is not.
*/
protected void setRss(boolean isRss) {
this.isRss = isRss;
}
/**
* Returns true if this URL is a news feed.
*
* @return Returns true if this URL is a news feed.
*/
public boolean isRss() {
return isRss;
}
@Override
public boolean equals(Object obj) {
if (!(obj instanceof BookmarkedURL)) {
return false;
}
BookmarkedURL url = (BookmarkedURL) obj;
return url.getURL().equalsIgnoreCase(URL);
}
@Override
public int hashCode() {
return getURL().hashCode();
}
protected void setShared(boolean shared) {
this.isShared = shared;
}
@Override
public boolean isShared() {
return isShared;
}
}