/** * */ package org.minnal.instrument.resource.metadata; import java.util.HashMap; import java.util.Map; /** * @author ganeshs * */ public class ResourceMetaDataProvider { private Map<Class<?>, ResourceMetaData> metaDataMap = new HashMap<Class<?>, ResourceMetaData>(); private static ResourceMetaDataProvider provider = new ResourceMetaDataProvider(); private ResourceMetaDataProvider() { } public static ResourceMetaDataProvider instance() { return provider; } public ResourceMetaData getResourceMetaData(Class<?> resourceClass) { ResourceMetaData metaData = metaDataMap.get(resourceClass); if (metaData == null) { metaData = getResourceMetaDataBuilder(resourceClass).build(); metaDataMap.put(resourceClass, metaData); } return metaData; } protected ResourceMetaDataBuilder getResourceMetaDataBuilder(Class<?> resourceClass) { return new ResourceMetaDataBuilder(resourceClass); } }