View Javadoc
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  }