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

s1.LinecountCursor Maven / Gradle / Ivy

package s1;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Iterator;
import java.util.LinkedHashSet;
import java.util.List;
import java.util.Objects;
import java.util.Set;
import javax.annotation.Generated;
import ru.curs.celesta.CallContext;
import ru.curs.celesta.ICelesta;
import ru.curs.celesta.dbutils.BasicCursor;
import ru.curs.celesta.dbutils.CelestaGenerated;
import ru.curs.celesta.dbutils.CursorIterator;
import ru.curs.celesta.dbutils.MaterializedViewCursor;
import ru.curs.celesta.score.ColumnMeta;
import ru.curs.celesta.score.MaterializedView;

@Generated(
        value = "ru.curs.celesta.plugin.maven.CursorGenerator",
        date = "2023-03-19T00:37:56.265"
)
@CelestaGenerated
public class LinecountCursor extends MaterializedViewCursor implements Iterable {
    private static final String GRAIN_NAME = "s1";

    private static final String OBJECT_NAME = "linecount";

    public final LinecountCursor.Columns COLUMNS;

    private Integer surrogateCount;

    private Integer headerId;

    private Integer lineCount;

    {
        this.COLUMNS = new LinecountCursor.Columns(callContext().getCelesta());
    }

    public LinecountCursor(CallContext context) {
        super(context);
    }

    public LinecountCursor(CallContext context, ColumnMeta... columns) {
        super(context, columns);
    }

    @Deprecated
    public LinecountCursor(CallContext context, Set fields) {
        super(context, fields);
    }

    public Integer getSurrogateCount() {
        return this.surrogateCount;
    }

    public LinecountCursor setSurrogateCount(Integer surrogateCount) {
        this.surrogateCount = surrogateCount;
        return this;
    }

    public Integer getHeaderId() {
        return this.headerId;
    }

    public LinecountCursor setHeaderId(Integer headerId) {
        this.headerId = headerId;
        return this;
    }

    public Integer getLineCount() {
        return this.lineCount;
    }

    public LinecountCursor setLineCount(Integer lineCount) {
        this.lineCount = lineCount;
        return this;
    }

    @Override
    protected Object _getFieldValue(String name) {
        switch (name) {
            case "surrogate_count": return this.surrogateCount;
            case "header_id": return this.headerId;
            case "line_count": return this.lineCount;
            default: return null;
        }
    }

    @Override
    protected void _setFieldValue(String name, Object value) {
        switch (name) {
            case "surrogate_count": {
                this.surrogateCount = (Integer) value;
                break;
            }
            case "header_id": {
                this.headerId = (Integer) value;
                break;
            }
            case "line_count": {
                this.lineCount = (Integer) value;
                break;
            }
            default:;
        }
    }

    @Override
    protected Object[] _currentKeyValues() {
        return new Object[] {headerId};
    }

    public boolean tryGet(Integer headerId) {
        return tryGetByValuesArray(headerId);
    }

    public void get(Integer headerId) {
        getByValuesArray(headerId);
    }

    @Override
    protected void _parseResult(ResultSet rs) throws SQLException {
        if (this.inRec("surrogate_count")) {
            this.surrogateCount = rs.getInt("surrogate_count");
            if (rs.wasNull()) {
                this.surrogateCount = null;
            }
        }
        if (this.inRec("header_id")) {
            this.headerId = rs.getInt("header_id");
            if (rs.wasNull()) {
                this.headerId = null;
            }
        }
        if (this.inRec("line_count")) {
            this.lineCount = rs.getInt("line_count");
            if (rs.wasNull()) {
                this.lineCount = null;
            }
        }
    }

    @Override
    public void _clearBuffer(boolean withKeys) {
        if (withKeys) {
            this.headerId = null;
        }
        this.surrogateCount = null;
        this.lineCount = null;
    }

    @Override
    public Object[] _currentValues() {
        return new Object[] {surrogateCount, headerId, lineCount};
    }

    @Override
    public LinecountCursor _getBufferCopy(CallContext context, List fields) {
        final LinecountCursor result;
        if (Objects.isNull(fields)) {
            result = new LinecountCursor(context);
        }
        else {
            result = new LinecountCursor(context, new LinkedHashSet<>(fields));
        }
        result.copyFieldsFrom(this);
        return result;
    }

    @Override
    public void copyFieldsFrom(BasicCursor c) {
        LinecountCursor from = (LinecountCursor)c;
        this.surrogateCount = from.surrogateCount;
        this.headerId = from.headerId;
        this.lineCount = from.lineCount;
    }

    @Override
    public Iterator iterator() {
        return new CursorIterator(this);
    }

    @Override
    protected String _grainName() {
        return GRAIN_NAME;
    }

    @Override
    protected String _objectName() {
        return OBJECT_NAME;
    }

    @SuppressWarnings("unchecked")
    @Generated(
            value = "ru.curs.celesta.plugin.maven.CursorGenerator",
            date = "2023-03-19T00:37:56.265"
    )
    @CelestaGenerated
    public static final class Columns {
        private final MaterializedView element;

        public Columns(ICelesta celesta) {
            this.element = celesta.getScore().getGrains().get(GRAIN_NAME).getElements(MaterializedView.class).get(OBJECT_NAME);
        }

        public ColumnMeta surrogateCount() {
            return (ColumnMeta) this.element.getColumns().get("surrogate_count");
        }

        public ColumnMeta headerId() {
            return (ColumnMeta) this.element.getColumns().get("header_id");
        }

        public ColumnMeta lineCount() {
            return (ColumnMeta) this.element.getColumns().get("line_count");
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy