package com.cfsoft.ofbiz.dom.entity; import com.cfsoft.ofbiz.OfbizUtils; import com.cfsoft.ofbiz.dom.entity.api.EntityModel; import com.intellij.openapi.project.Project; import com.intellij.psi.search.GlobalSearchScope; import java.lang.ref.SoftReference; import java.util.List; public class EntityModelMangerImpl extends EntityModelManger { private final Project project; private SoftReference<List<EntityModel>> models; public EntityModelMangerImpl(final Project project) { this.project = project; } @Override public List<EntityModel> getEntityModels() { if (models != null && models.get() != null) { return models.get(); }else { List<EntityModel> entityModels = OfbizUtils. getDomFileElements(EntityModel.class, project, GlobalSearchScope.projectScope(project)); models = new SoftReference(entityModels); return entityModels; } } }