1d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen/** 2d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen * $Revision$ 3d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen * $Date$ 4d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen * 5d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen * Copyright 2003-2007 Jive Software. 6d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen * 7d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen * All rights reserved. Licensed under the Apache License, Version 2.0 (the "License"); 8d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen * you may not use this file except in compliance with the License. 9d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen * You may obtain a copy of the License at 10d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen * 11d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen * http://www.apache.org/licenses/LICENSE-2.0 12d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen * 13d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen * Unless required by applicable law or agreed to in writing, software 14d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen * distributed under the License is distributed on an "AS IS" BASIS, 15d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen * See the License for the specific language governing permissions and 17d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen * limitations under the License. 18d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen */ 19d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen 20d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chenpackage org.jivesoftware.smackx.bookmark; 21d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen 22d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen/** 23d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen * Respresents one instance of a URL defined using JEP-0048 Bookmark Storage JEP. 24d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen * 25d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen * @author Derek DeMoro 26d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen */ 27d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chenpublic class BookmarkedURL implements SharedBookmark { 28d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen 29d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen private String name; 30d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen private final String URL; 31d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen private boolean isRss; 32d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen private boolean isShared; 33d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen 34d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen protected BookmarkedURL(String URL) { 35d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen this.URL = URL; 36d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen } 37d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen 38d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen protected BookmarkedURL(String URL, String name, boolean isRss) { 39d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen this.URL = URL; 40d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen this.name = name; 41d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen this.isRss = isRss; 42d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen } 43d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen 44d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen /** 45d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen * Returns the name representing the URL (eg. Jive Software). This can be used in as a label, or 46d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen * identifer in applications. 47d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen * 48d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen * @return the name reprenting the URL. 49d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen */ 50d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen public String getName() { 51d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen return name; 52d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen } 53d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen 54d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen /** 55d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen * Sets the name representing the URL. 56d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen * 57d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen * @param name the name. 58d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen */ 59d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen protected void setName(String name) { 60d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen this.name = name; 61d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen } 62d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen 63d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen /** 64d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen * Returns the URL. 65d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen * 66d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen * @return the url. 67d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen */ 68d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen public String getURL() { 69d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen return URL; 70d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen } 71d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen /** 72d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen * Set to true if this URL is an RSS or news feed. 73d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen * 74d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen * @param isRss True if the URL is a news feed and false if it is not. 75d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen */ 76d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen protected void setRss(boolean isRss) { 77d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen this.isRss = isRss; 78d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen } 79d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen 80d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen /** 81d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen * Returns true if this URL is a news feed. 82d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen * 83d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen * @return Returns true if this URL is a news feed. 84d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen */ 85d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen public boolean isRss() { 86d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen return isRss; 87d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen } 88d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen 89d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen public boolean equals(Object obj) { 90d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen if(!(obj instanceof BookmarkedURL)) { 91d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen return false; 92d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen } 93d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen BookmarkedURL url = (BookmarkedURL)obj; 94d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen return url.getURL().equalsIgnoreCase(URL); 95d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen } 96d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen 97d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen protected void setShared(boolean shared) { 98d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen this.isShared = shared; 99d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen } 100d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen 101d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen public boolean isShared() { 102d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen return isShared; 103d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen } 104d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen} 105