001package gudusoft.gsqlparser.nodes.mdx;
002
003import gudusoft.gsqlparser.nodes.TPTNodeList;
004
005/*
006* Date: 12-1-31
007*/
008public interface IMdxIdentifierSegment {
009    /**
010     * Returns how this Segment is quoted.
011     *
012     * @return how this Segment is quoted
013     */
014    EMdxQuoting getQuoting();
015
016    /**
017     * Returns the name of this IMdxIdentifierSegment.
018     * Returns {@code null} if this IMdxIdentifierSegment represents a key.
019     *
020     * @return name of this Segment
021     */
022    String getName();
023
024    /**
025     * Returns the key components, if this IMdxIdentifierSegment is a key. (That is,
026     * if {@link #getQuoting()} returns
027     * {@link EMdxQuoting#KEY}.)
028     *
029     * Returns null otherwise.
030     *
031     * @return Components of key, or null if this IMdxIdentifierSegment is not a key
032     */
033    TPTNodeList<TMdxNameSegment> getKeyParts();
034
035}