package org.limewire.ui.swing.library; import java.util.List; import org.limewire.core.api.Category; import org.limewire.core.api.FilePropertyKey; import org.limewire.core.api.library.LocalFileItem; import ca.odell.glazedlists.TextFilterator; /** * Sets up a filter to work with the TextField filter in the Library */ class LocalFileItemFilterator implements TextFilterator<LocalFileItem> { private Category category; public LocalFileItemFilterator(Category category) { this.category = category; } @Override public void getFilterStrings(List<String> baseList, LocalFileItem fileItem) { baseList.add(fileItem.getName()); baseList.add(String.valueOf(fileItem.getSize())); //TODO: change props depending on the category for (FilePropertyKey key : FilePropertyKey.values()) { Object value = fileItem.getProperty(key); if (value != null) { baseList.add(value.toString()); } } if(category == null) { baseList.add(fileItem.getCategory().getSingularName()); } baseList.add(fileItem.getFileName()); } }