blob: bfc76a78ea9b0fe7c6ca8f934d652b0b0206e788 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2004, 2005 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
* which accompanies this distribution, and is available at
* https://www.eclipse.org/legal/epl-2.0/
*
* SPDX-License-Identifier: EPL-2.0
*
* Contributors:
* IBM Corporation - initial API and implementation
*******************************************************************************/
package org.eclipse.wst.common.snippets.internal;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import org.eclipse.wst.common.snippets.core.ISnippetCategory;
import org.eclipse.wst.common.snippets.core.ISnippetItem;
import org.eclipse.wst.common.snippets.internal.palette.SnippetPaletteDrawer;
import org.eclipse.wst.common.snippets.internal.palette.SnippetPaletteItem;
/**
* A collection of all the Snippets Categories and Items from one source.
*/
public class SnippetDefinitions {
/**
* The full list of category model objects
*/
protected List fCategories = null;
/**
* The full list of item model objects
*/
protected List fItems = null;
/**
* Gets the categories.
*
* @return Returns a List
*/
public List getCategories() {
if (fCategories == null)
fCategories = new ArrayList();
return fCategories;
}
/**
* Locates a unique ISnippetCategory by its ID
*
* @param id -
* the ID of the category to locate
* @return the ISnippetCategory if found, null if not
*/
public ISnippetCategory getCategory(String id) {
Iterator iterator = getCategories().iterator();
while (iterator.hasNext()) {
SnippetPaletteDrawer category = (SnippetPaletteDrawer) iterator.next();
if (category.getId().equals(id))
return category;
}
return null;
}
/**
* Locates a unique ISnippetItem by its ID
*
* @param id
* @return the ISnippetItem if found, null if not
*/
public ISnippetItem getItem(String id) {
Iterator iterator = getItems().iterator();
while (iterator.hasNext()) {
SnippetPaletteItem item = (SnippetPaletteItem) iterator.next();
if (item.getId().equals(id))
return item;
}
for (int i = 0; i < fCategories.size(); i++) {
ISnippetItem[] items = ((ISnippetCategory) fCategories.get(i)).getItems();
for (int j = 0; j < items.length; j++) {
SnippetPaletteItem item = (SnippetPaletteItem) items[j];
if (item.getId().equals(id)) {
return item;
}
}
}
return null;
}
/**
* Gets the items that were found by all of the model factories. This may
* be different from all of the items within the categories.
*
* @return a List of all the ISnippetItems loaded
*/
public List getItems() {
if (fItems == null)
fItems = new ArrayList();
return fItems;
}
/**
* Sets the entire list of known ISnippetCategorys.
*
* @param categories -
* the categories to set
*/
public void setCategories(List categories) {
fCategories = categories;
}
/**
* Sets the entire list of known ISnippetItems.
*
* @param items
* The items to set
*/
public void setItems(List items) {
fItems = items;
}
}