com.creativewidgetworks.goldparser.engine.SymbolList Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of goldengine Show documentation
Show all versions of goldengine Show documentation
Java implementation of Devin Cook's GOLD Parser engine
package com.creativewidgetworks.goldparser.engine;
import java.util.ArrayList;
/**
* SymbolList
*
* This class manages a list of Symbols.
* Dependencies:
* @see Symbol
*
* @author Devin Cook (http://www.DevinCook.com/GOLDParser)
* @author Ralph Iden (http://www.creativewidgetworks.com), port to Java
* @version 5.0.0
*/
public class SymbolList extends ArrayList {
// Symbol keys for comment processing
public static final String SYMBOL_COMMENT = "COMMENT";
public static final String SYMBOL_COMMENT_BLOCK = "COMMENT_BLOCK";
public static final String SYMBOL_COMMENT_LINE = "COMMENT_LINE";
public SymbolList() {
// default constructor
}
/**
* Constructor that establishes the size of the list and creates placeholder
* objects so the list can be accessed in a "random" fashion when setting
* items.
* @param size
*/
public SymbolList(int size) {
super(size);
for (int i = 0; i < size; i++) {
add(null);
}
}
/*----------------------------------------------------------------------------*/
/**
* Searches the list of symbols for the matching name
* @param name of symbol to find. case insensitive
* @return Symbol or null if not found
*/
public Symbol findByName(String name) {
for (Symbol symbol : this) {
if (symbol.name.equalsIgnoreCase(name)) {
return symbol;
}
}
return null;
}
/*----------------------------------------------------------------------------*/
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
for (int i = 0; i < size(); i++) {
if (i > 0) {
sb.append(" ");
}
sb.append(get(i));
}
return sb.toString();
}
}