All Downloads are FREE. Search and download functionalities are using the official Maven repository.

de.fraunhofer.iosb.ilt.frostserver.modelextractor.FieldData Maven / Gradle / Ivy

/*
 * Copyright (C) 2024 Fraunhofer Institut IOSB, Fraunhoferstr. 1, D 76131
 * Karlsruhe, Germany.
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Lesser General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public License
 * along with this program.  If not, see .
 */
package de.fraunhofer.iosb.ilt.frostserver.modelextractor;

import org.jooq.Field;

public class FieldData {

    final String name;
    boolean pk;
    boolean fk;
    String typeName;
    String castTypeName;
    String comment;

    public static FieldData from(Field field, boolean pk) {
        return new FieldData(field.getName()).setPk(pk).setTypeName(field.getDataType().getTypeName()).setCastTypeName(field.getDataType().getCastTypeName()).setComment(field.getComment());
    }

    public FieldData(String name) {
        this.name = name;
    }

    public FieldData setPk(boolean pk) {
        this.pk = pk;
        return this;
    }

    public FieldData setFk(boolean fk) {
        this.fk = fk;
        return this;
    }

    public FieldData setTypeName(String typeName) {
        this.typeName = typeName;
        return this;
    }

    public FieldData setCastTypeName(String castTypeName) {
        this.castTypeName = castTypeName;
        return this;
    }

    public FieldData setComment(String comment) {
        this.comment = comment;
        return this;
    }

    @Override
    public String toString() {
        return name + "(" + typeName + " / " + castTypeName + ") " + (pk ? "PK" : "") + (fk ? "FK" : "");
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy