/*
 * Copyright (c) 2016, PostgreSQL Global Development Group
 * See the LICENSE file in the project root for more information.
 */

package org.postgresql.jdbc;

import org.postgresql.util.CanEstimateSize;

This is an internal class to hold field metadata info like table name, column name, etc. This class is not meant to be used outside of pgjdbc.
/** * This is an internal class to hold field metadata info like table name, column name, etc. * This class is not meant to be used outside of pgjdbc. */
public class FieldMetadata implements CanEstimateSize { public static class Key { final int tableOid; final int positionInTable; Key(int tableOid, int positionInTable) { this.positionInTable = positionInTable; this.tableOid = tableOid; } @Override public boolean equals(Object o) { if (this == o) { return true; } if (o == null || getClass() != o.getClass()) { return false; } Key key = (Key) o; if (tableOid != key.tableOid) { return false; } return positionInTable == key.positionInTable; } @Override public int hashCode() { int result = tableOid; result = 31 * result + positionInTable; return result; } @Override public String toString() { return "Key{" + "tableOid=" + tableOid + ", positionInTable=" + positionInTable + '}'; } } final String columnName; final String tableName; final String schemaName; final int nullable; final boolean autoIncrement; public FieldMetadata(String columnName) { this(columnName, "", "", PgResultSetMetaData.columnNullableUnknown, false); } FieldMetadata(String columnName, String tableName, String schemaName, int nullable, boolean autoIncrement) { this.columnName = columnName; this.tableName = tableName; this.schemaName = schemaName; this.nullable = nullable; this.autoIncrement = autoIncrement; } public long getSize() { return columnName.length() * 2 + tableName.length() * 2 + schemaName.length() * 2 + 4L + 1L; } @Override public String toString() { return "FieldMetadata{" + "columnName='" + columnName + '\'' + ", tableName='" + tableName + '\'' + ", schemaName='" + schemaName + '\'' + ", nullable=" + nullable + ", autoIncrement=" + autoIncrement + '}'; } }