001package gudusoft.gsqlparser.nodes.mdx;
002
003import gudusoft.gsqlparser.TSourceToken;
004import gudusoft.gsqlparser.nodes.TPTNodeList;
005import gudusoft.gsqlparser.nodes.TParseTreeNode;
006
007
008/**
009 * Name segment used in identifier node.
010 */
011public class TMdxNameSegment extends TParseTreeNode implements IMdxIdentifierSegment {
012
013    String name;
014    EMdxQuoting quoting;
015
016    public void init(Object name,Object quoting)
017    {
018        this.name = ((TSourceToken)name).toString();
019        this.quoting = (EMdxQuoting)quoting;
020        if (name == null) {
021            throw new NullPointerException();
022        }
023        if (!(quoting == EMdxQuoting.QUOTED || quoting == EMdxQuoting.UNQUOTED)) {
024            throw new IllegalArgumentException();
025        }
026
027        setStartToken((TSourceToken)name);
028        setEndToken((TSourceToken)name);
029    }
030
031    public void init(Object name) {
032        init(name, EMdxQuoting.QUOTED);
033    }
034
035    public String getName() {
036        return name;
037    }
038
039    public EMdxQuoting getQuoting() {
040        return quoting;
041    }
042
043    public TPTNodeList <TMdxNameSegment> getKeyParts() {
044        return null;
045    }
046
047}