public static final map<String, Schema.SObjectType> gd = Schema.getGlobalDescribe();

 

private static map<String, DescribeSObjectResult> map_describeSobject_objName = new map<String, DescribeSObjectResult>();

 

 

public static DescribeSObjectResult describeSobj (String objApi) {
	        DescribeSObjectResult sobjr;
	            
	        if (map_describeSobject_objName.containsKey(objApi)) {
	            sobjr = map_describeSobject_objName.get(objApi);
	        }
	        else {
	            sobjr = gd.get(objApi).getDescribe();
	            map_describeSobject_objName.put(objApi, sobjr);
	        }
	        
	        return sobjr;
	    }