protected List toConstraint()

in fastmodel-transform/fastmodel-transform-api/src/main/java/com/aliyun/fastmodel/transform/api/extension/client/converter/ExtensionClientConverter.java [616:661]


    protected List<BaseConstraint> toConstraint(List<Column> columns, List<Constraint> constraints) {
        List<BaseConstraint> baseConstraints = super.toConstraint(columns, constraints);
        if (constraints == null) {
            return baseConstraints;
        }
        for (Constraint constraint : constraints) {
            ConstraintType type = constraint.getType();
            if (type == ExtensionClientConstraintType.DISTRIBUTE) {
                DistributeNonKeyConstraint distributeConstraint = toDistributeConstraint(constraint);
                if (distributeConstraint == null) {
                    continue;
                }
                baseConstraints.add(distributeConstraint);
            }
            if (type == ExtensionClientConstraintType.ORDER_BY) {
                OrderByNonKeyConstraint orderByConstraint = toOrderByConstraint(constraint);
                baseConstraints.add(orderByConstraint);
            }

            if (type == ExtensionClientConstraintType.DUPLICATE_KEY) {
                DuplicateKeyConstraint duplicateKeyConstraint = toDuplicateKeyConstraint(constraint);
                baseConstraints.add(duplicateKeyConstraint);
            }

            if (type == ExtensionClientConstraintType.AGGREGATE_KEY) {
                AggregateKeyConstraint aggregateKeyConstraint = toAggregateKeyConstraint(constraint);
                baseConstraints.add(aggregateKeyConstraint);
            }

            if (type == ExtensionClientConstraintType.CLUSTER_BY) {
                ClusterNonKeyConstraint clusterKeyConstraint = toClusterNonKeyConstraint(constraint);
                baseConstraints.add(clusterKeyConstraint);
            }
            if (type == ExtensionClientConstraintType.CLUSTERED_KEY) {
                ClusteredKeyConstraint clusteredKeyConstraint = toClusteredKeyConstraint(constraint);
                baseConstraints.add(clusteredKeyConstraint);
            }

            if (type == ExtensionClientConstraintType.FOREIGN_KEY) {
                ForeignKeyClientConstraint foreignKeyClientConstraint = (ForeignKeyClientConstraint)constraint;
                ForeignKeyConstraint foreignKeyConstraint = toForeignKeyConstraint(foreignKeyClientConstraint);
                baseConstraints.add(foreignKeyConstraint);
            }
        }
        return baseConstraints;
    }