private List buildFields()

in cassandra-four-zero/src/main/java/org/apache/cassandra/spark/reader/SchemaBuilder.java [511:535]


    private List<CqlField> buildFields(TableMetadata metadata, Map<String, CqlField.CqlUdt> udts)
    {
        Iterator<ColumnMetadata> it = metadata.allColumnsInSelectOrder();
        List<CqlField> result = new ArrayList<>();
        int position = 0;
        while (it.hasNext())
        {
            ColumnMetadata col = it.next();
            boolean isPartitionKey = col.isPartitionKey();
            boolean isClusteringColumn = col.isClusteringColumn();
            boolean isStatic = col.isStatic();
            String name = col.name.toCQLString();
            CqlField.CqlType type = col.type.isUDT() ? udts.get(((UserType) col.type).getNameAsString())
                                                     : bridge.parseType(col.type.asCQL3Type().toString(), udts);
            boolean isFrozen = col.type.isFreezable() && !col.type.isMultiCell();
            result.add(new CqlField(isPartitionKey,
                                    isClusteringColumn,
                                    isStatic,
                                    name,
                                    !(type instanceof CqlFrozen) && isFrozen ? CqlFrozen.build(type) : type,
                                    position));
            position++;
        }
        return result;
    }