public static CriteriaProviderRegistry getInstance() { if (instance == null) { instance = new CriteriaProviderRegistry(); } return instance; }
public AbstractCriteriaProvider[] getScopes() { readProviders(); return providers.toArray(new AbstractCriteriaProvider[providers.size()]); }
private void processCriteria(UAElement element, String id) { if(HelpPlugin.getCriteriaManager().isCriteriaEnabled()){ ITocContribution contribution = getContribution(id); String locale = contribution.getLocale(); ICriteria[] criteria = new ICriteria[0]; if (element instanceof Topic) { Topic topic = (Topic) element; criteria = CriteriaProviderRegistry.getInstance().getAllCriteria(topic); } else if (element instanceof Toc) { Toc toc = (Toc) element; criteria = CriteriaProviderRegistry.getInstance().getAllCriteria(toc); } HelpPlugin.getCriteriaManager().addCriteriaValues(criteria, locale); } } }
public ICriteria[] getAllCriteria(IToc toc) { readProviders(); ICriteria[] criteria; if (toc instanceof IToc2) { criteria = ((IToc2) toc).getCriteria(); } else { criteria = new ICriteria[0]; } for (Iterator<AbstractCriteriaProvider> iter = providers.iterator(); iter.hasNext();) { AbstractCriteriaProvider provider = iter.next(); ICriteria[] newCriteria = provider.getCriteria(toc); if (newCriteria.length > 0) { if (criteria.length == 0) { criteria = newCriteria; } else { ICriteria[] union = new ICriteria[criteria.length + newCriteria.length]; System.arraycopy(criteria, 0, union, 0, criteria.length); System.arraycopy(newCriteria, 0, union, criteria.length, newCriteria.length); criteria = union; } } } return criteria; }
public ICriteria[] getAllCriteria(ITopic topic) { readProviders(); ICriteria[] criteria; if (topic instanceof ITopic2) { criteria = ((ITopic2) topic).getCriteria(); } else { criteria = new ICriteria[0]; } for (Iterator<AbstractCriteriaProvider> iter = providers.iterator(); iter.hasNext();) { AbstractCriteriaProvider provider = iter.next(); ICriteria[] newCriteria = provider.getCriteria(topic); if (newCriteria.length > 0) { if (criteria.length == 0) { criteria = newCriteria; } else { ICriteria[] union = new ICriteria[criteria.length + newCriteria.length]; System.arraycopy(criteria, 0, union, 0, criteria.length); System.arraycopy(newCriteria, 0, union, criteria.length, newCriteria.length); criteria = union; } } } return criteria; }