package de.unisiegen.gtitool.core.entities; import java.util.ArrayList; import de.unisiegen.gtitool.core.storage.Modifyable; import de.unisiegen.gtitool.core.storage.Storable; /** * The {@link ProductionWord} entity. * * @author Christian Fehler * @version $Id$ */ public interface ProductionWord extends Entity < ProductionWord >, Storable, Modifyable, Iterable < ProductionWordMember > { /** * Appends the specified {@link ProductionWordMember}s to the end of this * {@link ProductionWord}. * * @param productionWordMembers The {@link ProductionWordMember}s to be * appended to this {@link ProductionWord}. */ public void add ( Iterable < ProductionWordMember > productionWordMembers ); /** * Appends the specified {@link ProductionWordMember} to the end of this * {@link ProductionWord}. * * @param productionWordMember The {@link ProductionWordMember} to be appended * to this {@link ProductionWord}. */ public void add ( ProductionWordMember productionWordMember ); /** * Appends the specified {@link ProductionWordMember}s to the end of this * {@link ProductionWord}. * * @param productionWordMembers The {@link ProductionWordMember}s to be * appended to this {@link ProductionWord}. */ public void add ( ProductionWordMember ... productionWordMembers ); /** * Returns the {@link ProductionWordMember}s. * * @return The {@link ProductionWordMember}s. */ public ArrayList < ProductionWordMember > get (); /** * Returns the {@link ProductionWordMember} with the given index. * * @param index The index. * @return The {@link ProductionWordMember} with the given index. */ public ProductionWordMember get ( int index ); /** * Returns the {@link NonterminalSymbol}s the word contains * * @return The {@link NonterminalSymbol}s the word contains */ public ArrayList < NonterminalSymbol > getNonterminals (); /** * Returns the size of the {@link ProductionWord}. * * @return the size of the {@link ProductionWord}. */ public int size (); }