private TableDetailType getDetailType()

in fastmodel-parser/src/main/java/com/aliyun/fastmodel/parser/visitor/TableVisitor.java [414:449]


    private TableDetailType getDetailType(TableTypeContext typeContext) {
        if (typeContext == null) {
            return null;
        }
        Token type = typeContext.type;
        switch (type.getType()) {
            case FastModelLexer.KW_FACT:
                FactDetailTypeContext factDetailTypeContext = typeContext.factDetailType();
                if (factDetailTypeContext == null) {
                    return TableDetailType.TRANSACTION_FACT;
                } else {
                    return TableDetailType.getByCode(factDetailTypeContext.getText(), TableType.FACT);
                }
            case FastModelLexer.KW_DIM:
                DimDetailTypeContext dimDetailTypeContext = typeContext.dimDetailType();
                if (dimDetailTypeContext == null) {
                    return TableDetailType.NORMAL_DIM;
                } else {
                    return TableDetailType.getByCode(dimDetailTypeContext.getText(), TableType.DIM);
                }
            case FastModelLexer.KW_CODE:
                return TableDetailType.CODE;
            case FastModelLexer.KW_DWS:
                DwDetailTypeContext dwDetailTypeContext = typeContext.dwDetailType();
                if (dwDetailTypeContext == null) {
                    return TableDetailType.DWS;
                }
                return TableDetailType.ADVANCED_DWS;
            case FastModelLexer.KW_ADS:
                return TableDetailType.ADS;
            case FastModelLexer.KW_ODS:
                return TableDetailType.ODS;
            default:
                throw new IllegalArgumentException("can't find the DetailType:" + type.getType());
        }
    }