View Javadoc

1   /*
2    * Copyright (C) 2003-2012 David E. Berry
3    *
4    * This library is free software; you can redistribute it and/or
5    * modify it under the terms of the GNU Lesser General Public
6    * License as published by the Free Software Foundation; either
7    * version 2.1 of the License, or (at your option) any later version.
8    *
9    * This library is distributed in the hope that it will be useful,
10   * but WITHOUT ANY WARRANTY; without even the implied warranty of
11   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12   * Lesser General Public License for more details.
13   *
14   * You should have received a copy of the GNU Lesser General Public
15   * License along with this library; if not, write to the Free Software
16   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
17   *
18   * A copy of the GNU Lesser General Public License may also be found at
19   * http://www.gnu.org/licenses/lgpl.txt
20   */
21  package org.synchronoss.cpo.cache;
22  
23  import org.synchronoss.cpo.meta.CpoMetaDescriptor;
24  
25  import java.util.*;
26  
27  /**
28   * @author dberry
29   */
30  public class CpoMetaDescriptorCache {
31  
32    private static final Map<String, CpoMetaDescriptor> metaDescriptorMap = new HashMap<String, CpoMetaDescriptor>();
33  
34    protected static CpoMetaDescriptor findCpoMetaDescriptor(String adapterKey) {
35      CpoMetaDescriptor metaDescriptor = null;
36      if (adapterKey != null) {
37        metaDescriptor = metaDescriptorMap.get(adapterKey);
38      }
39  
40      return metaDescriptor;
41    }
42  
43    protected static CpoMetaDescriptor addCpoMetaDescriptor(CpoMetaDescriptor metaDescriptor) {
44      CpoMetaDescriptor oldMetaDescriptor = null;
45      if (metaDescriptor != null && metaDescriptor.getName() != null) {
46        oldMetaDescriptor = metaDescriptorMap.put(metaDescriptor.getName(), metaDescriptor);
47      }
48      return oldMetaDescriptor;
49    }
50  
51    /**
52     * @return A collection of names of all meta descriptors currently loaded
53     */
54    protected static Collection<String> getCpoMetaDescriptorNames() {
55      return metaDescriptorMap.keySet();
56    }
57  
58    protected static void removeCpoMetaDescriptor(String adapterKey) {
59      metaDescriptorMap.remove(adapterKey);
60    }
61  
62    protected static void clearCpoMetaDescriptorCache() {
63      metaDescriptorMap.clear();
64    }
65  }