@Override public void dispose() { Iterator<PackageFragmentRootSourceContainer> iterator = fDelegateContainers.values().iterator(); while (iterator.hasNext()) { ISourceContainer container = iterator.next(); container.dispose(); } fDelegateContainers = null; super.dispose(); }
@Override public void init(ISourceLookupDirector director) { super.init(director); fDelegateContainers = new HashMap<>(); } /* (non-Javadoc)
CoreException single = null; MultiStatus multiStatus = null; if (isFindDuplicates()) { results = new ArrayList<Object>(); String name = getSourceName(object); if (name != null) { ISourceContainer[] containers = getSourceContainers(); for (int i = 0; i < containers.length; i++) { try { ISourceContainer container = getDelegateContainer(containers[i]); if (container != null) { Object[] objects = container.findSourceElements(name);
/** * Returns the source containers currently registered with this participant's * source lookup director. * * @return the source containers currently registered with this participant's * source lookup director */ protected ISourceContainer[] getSourceContainers() { ISourceLookupDirector director = getDirector(); if (director != null) { return director.getSourceContainers(); } return new ISourceContainer[0]; }
/** * Returns whether this container's source should search for duplicate source * elements. Since 3.5, the current participant is consulted to determine if * duplicates should be found. Fall back to querying the source lookup director * if the participant is not an {@link AbstractSourceLookupParticipant}. * * @return whether to search for duplicate source elements */ protected boolean isFindDuplicates() { ISourceLookupDirector director = getDirector(); if (director != null) { if (director instanceof AbstractSourceLookupDirector) { AbstractSourceLookupDirector asld = (AbstractSourceLookupDirector) director; ISourceLookupParticipant participant = asld.getCurrentParticipant(); if (participant instanceof AbstractSourceLookupParticipant ) { AbstractSourceLookupParticipant aslp = (AbstractSourceLookupParticipant) participant; return aslp.isFindDuplicates(); } } return director.isFindDuplicates(); } return false; }
/** * Returns whether this participant's source lookup director is configured * to search for duplicate source elements. * * @return whether this participant's source lookup director is configured * to search for duplicate source elements * @since 3.5 */ public boolean isFindDuplicates() { ISourceLookupDirector director = getDirector(); if (director != null) { return director.isFindDuplicates(); } return false; }
@Override public void init(ISourceLookupDirector director) { super.init(director); fDelegateContainers = new HashMap<ISourceContainer, PackageFragmentRootSourceContainer>(); } /* (non-Javadoc)
@Override public void dispose() { Iterator<PackageFragmentRootSourceContainer> iterator = fDelegateContainers.values().iterator(); while (iterator.hasNext()) { ISourceContainer container = iterator.next(); container.dispose(); } fDelegateContainers = null; super.dispose(); }