/** * Aptana Studio * Copyright (c) 2005-2011 by Appcelerator, Inc. All Rights Reserved. * Licensed under the terms of the GNU Public License (GPL) v3 (with exceptions). * Please see the license.html included with this distribution for details. * Any modifications to this file must keep this entire header intact. */ package com.aptana.editor.php.indexer; import java.util.List; import java.util.Set; import com.aptana.editor.php.internal.core.builder.IModule; /** * Elements index. * @author Denis Denisenko */ public interface IElementsIndex { static final int ANY_CETEGORY = -1; /** * Entry path delimiter character. */ final char DELIMITER = '/'; /** * Gets entries that have entry path starting with the string specified. * Filters result by category specified, or skips filtering if category value * is {@link IElementsIndex#ANY_CETEGORY} * * @param category - category to select entries from. * @param path - path entries should start with. * * @return entries found */ List<IElementEntry> getEntriesStartingWith(int category, String path); /** * Gets entries that have entry path equal (in lower) case to the lower case of the * string specified * Filters result by category specified, or skips filtering if category value * is {@link IElementsIndex#ANY_CETEGORY} * * @param category - category to select entries from. * @param path - path entries should have. * * @return entries found */ List<IElementEntry> getEntries(int category, String path); /** * Gets unmodifiable module entries list. * @param module - module. * @return module entries. */ List<IElementEntry> getModuleEntries(IModule module); /** * Gets unmodifiable set of indexed modules. * @return indexed modules. */ Set<IModule> getModules(); }