1
14
15 package com.liferay.portal.asset;
16
17 import com.liferay.portal.kernel.util.ListUtil;
18 import com.liferay.portlet.asset.AssetRendererFactoryRegistry;
19 import com.liferay.portlet.asset.model.AssetRendererFactory;
20
21 import java.util.List;
22 import java.util.Map;
23 import java.util.concurrent.ConcurrentHashMap;
24
25
32 public class AssetRendererFactoryRegistryImpl
33 implements AssetRendererFactoryRegistry {
34
35 public AssetRendererFactory getAssetRendererFactoryByClassName(
36 String className) {
37
38 return _assetRenderFactoriesMapByClassName.get(className);
39 }
40
41 public AssetRendererFactory getAssetRendererFactoryByType(String type) {
42 return _assetRenderFactoriesMapByClassType.get(type);
43 }
44
45 public List<AssetRendererFactory> getAssetRendererFactories() {
46 return ListUtil.fromCollection(
47 _assetRenderFactoriesMapByClassName.values());
48 }
49
50 public long[] getClassNameIds() {
51 long[] classNameIds = new long[
52 _assetRenderFactoriesMapByClassName.size()];
53
54 int i = 0;
55
56 for (AssetRendererFactory assetRendererFactory :
57 _assetRenderFactoriesMapByClassName.values()) {
58
59 classNameIds[i] = assetRendererFactory.getClassNameId();
60
61 i++;
62 }
63
64 return classNameIds;
65 }
66
67 public void register(AssetRendererFactory assetRendererFactory) {
68 _assetRenderFactoriesMapByClassName.put(
69 assetRendererFactory.getClassName(), assetRendererFactory);
70 _assetRenderFactoriesMapByClassType.put(
71 assetRendererFactory.getType(), assetRendererFactory);
72 }
73
74 public void unregister(AssetRendererFactory assetRendererFactory) {
75 _assetRenderFactoriesMapByClassName.remove(
76 assetRendererFactory.getClassName());
77 _assetRenderFactoriesMapByClassType.remove(
78 assetRendererFactory.getType());
79 }
80
81 private Map<String, AssetRendererFactory>
82 _assetRenderFactoriesMapByClassName =
83 new ConcurrentHashMap<String, AssetRendererFactory>();
84 private Map<String, AssetRendererFactory>
85 _assetRenderFactoriesMapByClassType =
86 new ConcurrentHashMap<String, AssetRendererFactory>();
87
88 }