1
2 /*
3 * Copyright (C) 2003-2012 eXo Platform SAS.
4 *
5 * This program is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU Affero General Public License as published by
7 * the Free Software Foundation, either version 3 of the License, or
8 * (at your option) any later version.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU Affero General Public License for more details.
14 *
15 * You should have received a copy of the GNU Affero General Public License
16 * along with this program. If not, see <http://www.gnu.org/licenses/>.
17 */
18 package org.exoplatform.services.pdfviewer;
19
20 import java.io.Serializable;
21
22 /**
23 * Create key for cache. When key object is collected by GC, value (if is file) will be delete.
24 */
25 public class ObjectKey implements Serializable{
26 private static final long serialVersionUID = -1075842770773918554L;
27 String key;
28 public ObjectKey(String key) {
29 this.key = key;
30 }
31 @Override
32 public String toString() {
33 return key;
34 }
35
36 public String getKey() {
37 return key;
38 }
39
40 @Override
41 public int hashCode() {
42 return key == null ? -1 : key.hashCode();
43 }
44
45 @Override
46 public boolean equals(Object otherKey) {
47 if (otherKey != null && ObjectKey.class.isInstance(otherKey)
48 && (key != null) && (key.equals(((ObjectKey) (otherKey)).getKey()))) {
49 return true;
50 }
51 return false;
52 }
53 }