package edu.stanford.nlp.ling; /** * A <code>StringLabelFactory</code> object makes a simple * <code>StringLabel</code> out of a <code>String</code>. * * @author Christopher Manning */ public class StringLabelFactory implements LabelFactory { /** * Make a new label with this <code>String</code> as the "name". * * @param labelStr A string that determines the content of the label. * For a StringLabel, it is exactly the given string * @return The created label */ public Label newLabel(String labelStr) { return new StringLabel(labelStr); } /** * Make a new label with this <code>String</code> as the "name". * * @param labelStr A string that determines the content of the label. * For a StringLabel, it is exactly the given string * @param options The options are ignored by a StringLabelFactory * @return The created label */ public Label newLabel(String labelStr, int options) { return new StringLabel(labelStr); } /** * Make a new label with this <code>String</code> as the "name". * This version does no decoding -- StringLabels just have a value. * * @param labelStr A string that determines the content of the label. * For a StringLabel, it is exactly the given string * @return The created label */ public Label newLabelFromString(String labelStr) { return new StringLabel(labelStr); } /** * Create a new <code>StringLabel</code>, where the label is * formed from * the <code>Label</code> object passed in. Depending on what fields * each label has, other things will be <code>null</code>. * * @param oldLabel The Label that the new label is being created from * @return a new label of a particular type */ public Label newLabel(Label oldLabel) { return new StringLabel(oldLabel); } }