⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 field.java

📁 在资料浩瀚的互联网中
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
            this.databaseName = getStringFromBytes(this.databaseNameStart,                    this.databaseNameLength);        }        return this.databaseName;    }    /**     * DOCUMENT ME!     *     * @return DOCUMENT ME!     */    public String getFullName() {        if (this.fullName == null) {            StringBuffer fullNameBuf = new StringBuffer(getTableName().length()                    + 1 + getName().length());            fullNameBuf.append(this.tableName);            // much faster to append a char than a String            fullNameBuf.append('.');            fullNameBuf.append(this.name);            this.fullName = fullNameBuf.toString();            fullNameBuf = null;        }        return this.fullName;    }    /**     * DOCUMENT ME!     *     * @return DOCUMENT ME!     */    public String getFullOriginalName() {        getOriginalName();        if (this.originalColumnName == null) {            return null; // we don't have this information        }        if (this.fullName == null) {            StringBuffer fullOriginalNameBuf = new StringBuffer(getOriginalTableName()                                                                    .length()                    + 1 + getOriginalName().length());            fullOriginalNameBuf.append(this.originalTableName);            // much faster to append a char than a String            fullOriginalNameBuf.append('.');            fullOriginalNameBuf.append(this.originalColumnName);            this.fullOriginalName = fullOriginalNameBuf.toString();            fullOriginalNameBuf = null;        }        return this.fullOriginalName;    }    /**     * DOCUMENT ME!     *     * @return DOCUMENT ME!     */    public int getLength() {        return this.length;    }    /**     * DOCUMENT ME!     *     * @return DOCUMENT ME!     */    public boolean isMultipleKey() {        return ((this.colFlag & 8) > 0);    }    /**     * DOCUMENT ME!     *     * @return DOCUMENT ME!     */    public int getMysqlType() {        return this.mysqlType;    }    /**     * DOCUMENT ME!     *     * @return DOCUMENT ME!     */    public String getName() {        if (this.name == null) {            this.name = getStringFromBytes(this.nameStart, this.nameLength);        }        return this.name;    }    /**     * DOCUMENT ME!     *     * @return DOCUMENT ME!     */    public String getOriginalName() {        if ((this.originalColumnName == null)                && (this.originalColumnNameStart != -1)                && (this.originalColumnNameLength != -1)) {            this.originalColumnName = getStringFromBytes(this.originalColumnNameStart,                    this.originalColumnNameLength);        }        return this.originalColumnName;    }    /**     * DOCUMENT ME!     *     * @return DOCUMENT ME!     */    public String getOriginalTableName() {        if ((this.originalTableName == null)                && (this.originalTableNameStart != -1)                && (this.originalTableNameLength != -1)) {            this.originalTableName = getStringFromBytes(this.originalTableNameStart,                    this.originalTableNameLength);        }        return this.originalTableName;    }    /**     * Returns amount of correction that     * should be applied to the precision value.     *     * Different versions of MySQL report different     * precision values.     *     * @return the amount to adjust precision value by.     */    public int getPrecisionAdjustFactor() {        return this.precisionAdjustFactor;    }    /**     * DOCUMENT ME!     *     * @return DOCUMENT ME!     */    public boolean isPrimaryKey() {        return ((this.colFlag & 2) > 0);    }    /**     * DOCUMENT ME!     *     * @return DOCUMENT ME!     */    public int getSQLType() {        return this.sqlType;    }    /**     * DOCUMENT ME!     *     * @return DOCUMENT ME!     */    public String getTable() {        return getTableName();    }    /**     * DOCUMENT ME!     *     * @return DOCUMENT ME!     */    public String getTableName() {        if (this.tableName == null) {            this.tableName = getStringFromBytes(this.tableNameStart, this.tableNameLength);        }        return this.tableName;    }    /**     * DOCUMENT ME!     *     * @return DOCUMENT ME!     */    public boolean isUniqueKey() {        return ((this.colFlag & 4) > 0);    }    /**     * DOCUMENT ME!     *     * @return DOCUMENT ME!     */    public boolean isUnsigned() {        return ((this.colFlag & 32) > 0);    }    /**     * DOCUMENT ME!     *     * @return DOCUMENT ME!     */    public boolean isZeroFill() {        return ((this.colFlag & 64) > 0);    }    /**     * DOCUMENT ME!     *     * @return DOCUMENT ME!     */    public String toString() {    	return this.getDatabaseName() + " . " +  this.getTableName() + "(" + this.getOriginalTableName() + ") . " + this.getName() + "(" + this.getOriginalName() + ")" + ", Mysql type: " + getMysqlType(); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$           }    int getDecimals() {        return this.colDecimals;    }    boolean isNotNull() {        return ((this.colFlag & 1) > 0);    }        boolean isOpaqueBinary() throws SQLException {    	    	if (this.charsetIndex == 63 && isBinary()) {    		return true;    	}    	    	return (this.connection.versionMeetsMinimum(4, 1, 0) &&    			"binary".equalsIgnoreCase(getCharacterSet()));    			    }    /**     * Is this field _definitely_ not writable?     *      * @return true if this field can not be written to in an INSERT/UPDATE     * statement.     */    boolean isReadOnly() throws SQLException {    	if (this.connection.versionMeetsMinimum(4, 1, 0)) {    		String orgColumnName = getOriginalName();    		String orgTableName = getOriginalTableName();    		    		return !(orgColumnName != null && orgColumnName.length() > 0 &&    				orgTableName != null && orgTableName.length() > 0);    	}    		    	return false; // we can't tell definitively in this case.    }        void setMysqlType(int type) {    	this.mysqlType = type;    	this.sqlType = MysqlDefs.mysqlToJavaType(this.mysqlType);    }    /**     * Create a string with the correct charset encoding from the     * byte-buffer that contains the data for this field     */    private String getStringFromBytes(int stringStart, int stringLength) {        if ((stringStart == -1) || (stringLength == -1)) {            return null;        }        String stringVal = null;        if (this.connection != null) {            if (this.connection.getUseUnicode()) {            	String encoding = this.connection.getCharacterSetMetadata();                                if (encoding == null) {                	encoding = connection.getEncoding();                }                if (encoding != null) {                    SingleByteCharsetConverter converter = null;                    if (this.connection != null) {                        converter = this.connection.getCharsetConverter(encoding);                    }                    if (converter != null) { // we have a converter                        stringVal = converter.toString(this.buffer, stringStart,                                stringLength);                    } else {                        // we have no converter, use JVM converter                         byte[] stringBytes = new byte[stringLength];                        int endIndex = stringStart + stringLength;                        int pos = 0;                        for (int i = stringStart; i < endIndex; i++) {                            stringBytes[pos++] = this.buffer[i];                        }                        try {                            stringVal = new String(stringBytes, encoding);                        } catch (UnsupportedEncodingException ue) {                            throw new RuntimeException(                                Messages.getString("Field.12") + encoding //$NON-NLS-1$                                + Messages.getString("Field.13")); //$NON-NLS-1$                        }                    }                } else {                    // we have no encoding, use JVM standard charset                    stringVal = StringUtils.toAsciiString(this.buffer, stringStart,                            stringLength);                }            } else {                // we are not using unicode, so use JVM standard charset                 stringVal = StringUtils.toAsciiString(this.buffer, stringStart,                        stringLength);            }        } else {            // we don't have a connection, so punt             stringVal = StringUtils.toAsciiString(this.buffer, stringStart,                    stringLength);        }        return stringVal;    }	//	// MySQL only has one protocol-level BLOB type that it exposes	// which is FIELD_TYPE_BLOB, although we can divine what the	// actual type is by the length reported ...	//	private void setBlobTypeBasedOnLength() {		 if (this.length == MysqlDefs.LENGTH_TINYBLOB) {		 	this.mysqlType = MysqlDefs.FIELD_TYPE_TINY_BLOB;		 } else if (this.length == MysqlDefs.LENGTH_BLOB) {		 	this.mysqlType = MysqlDefs.FIELD_TYPE_BLOB;		 } else if (this.length == MysqlDefs.LENGTH_MEDIUMBLOB) {		 	this.mysqlType = MysqlDefs.FIELD_TYPE_MEDIUM_BLOB;		 } else if (this.length == MysqlDefs.LENGTH_LONGBLOB) {		 	this.mysqlType = MysqlDefs.FIELD_TYPE_LONG_BLOB;		 }	}}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -