Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.cayenne.access.types
Class ByteArrayType

    java.lang.Object
      org.apache.cayenne.access.types.AbstractType
          org.apache.cayenne.access.types.ByteArrayType

All Implemented Interfaces:
  ExtendedType

    public class ByteArrayType

extends AbstractType

Handles `byte[]`, mapping it as either of JDBC types - BLOB or (VAR)BINARY. Can be configured to trim trailing zero bytes.

Author:
  Andrus Adamchik

Field Summary
`protected boolean` | `trimmingBytes`
`protected boolean` | `usingBlobs`

Constructor Summary
`ByteArrayType(boolean trimmingBytes, boolean usingBlobs)`

Method Summary
`java.lang.String` | `getClassName()` Returns a full name of Java class that this ExtendedType supports.
`boolean` | `isTrimmingBytes()`
`boolean` | `isUsingBlobs()` Returns `true` if byte columns are handled as BLOBs internally.
`java.lang.Object` | `materializeObject(java.sql.CallableStatement cs, int index, int type)` Reads an object from a stored procedure OUT parameter, converting it to class returned by 'getClassName' method.
`java.lang.Object` | `materializeObject(java.sql.ResultSet rs, int index, int type)` Reads an object from JDBC ResultSet column, converting it to class returned by 'getClassName' method.
`protected byte[]` | `readBinaryStream(java.sql.ResultSet rs, int index)`
`protected byte[]` | `readBlob(java.sql.Blob blob)`
`protected byte[]` | `readValueStream(java.io.InputStream in, int streamSize, int bufSize)`
`void` | `setJdbcObject(java.sql.PreparedStatement st, java.lang.Object val, int pos, int type, int precision)` Calls "PreparedStatement.setObject(..)".
`void` | `setTrimmingBytes(boolean trimingBytes)`
`void` | `setUsingBlobs(boolean usingBlobs)`
`static byte[]` | `trimBytes(byte[] bytes)` Strips null bytes from the byte array, returning a potentially smaller array that contains no trailing zero bytes.
`boolean` | `validateProperty(java.lang.Object source, java.lang.String property, java.lang.Object value, DbAttribute dbAttribute, ValidationResult validationResult)` Validates byte[] property.
`protected java.sql.Blob` | `writeBlob(byte[] bytes)`

Methods inherited from class org.apache.cayenne.access.types.AbstractType
`toString, validateNull`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Field Detail

### trimmingBytes

    protected boolean trimmingBytes

### usingBlobs

    protected boolean usingBlobs

Constructor Detail

### ByteArrayType

    public ByteArrayType(boolean trimmingBytes,
                         boolean usingBlobs)

Method Detail

### trimBytes

    public static byte[] trimBytes(byte[] bytes)

  Strips null bytes from the byte array, returning a potentially smaller array that contains no trailing zero bytes.

### getClassName

    public java.lang.String getClassName()

  Description copied from interface: `ExtendedType`
  Returns a full name of Java class that this ExtendedType supports.

  Specified by:
    `getClassName` in interface `ExtendedType`
  Specified by:
    `getClassName` in class `AbstractType`

### validateProperty

    public boolean validateProperty(java.lang.Object source,
                                    java.lang.String property,
                                    java.lang.Object value,
                                    DbAttribute dbAttribute,
                                    ValidationResult validationResult)

  Validates byte[] property.

  Specified by:
    `validateProperty` in interface `ExtendedType`
  Overrides:
    `validateProperty` in class `AbstractType`
  Since:
    1.1

### materializeObject

    public java.lang.Object materializeObject(java.sql.ResultSet rs,
                                              int index,
                                              int type)
                                       throws java.lang.Exception

  Description copied from interface: `ExtendedType`
  Reads an object from JDBC ResultSet column, converting it to class returned by 'getClassName' method.

  Specified by:
    `materializeObject` in interface `ExtendedType`
  Specified by:
    `materializeObject` in class `AbstractType`
  Throws:
    `java.lang.Exception` - if read error ocurred, or an object can't be converted to a target Java class.

### materializeObject

    public java.lang.Object materializeObject(java.sql.CallableStatement cs,
                                              int index,
                                              int type)
                                       throws java.lang.Exception

  Description copied from interface: `ExtendedType`
  Reads an object from a stored procedure OUT parameter, converting it to class returned by 'getClassName' method.

  Specified by:
    `materializeObject` in interface `ExtendedType`
  Specified by:
    `materializeObject` in class `AbstractType`
  Throws:
    `java.lang.Exception` - if read error ocurred, or an object can't be converted to a target Java class.

### setJdbcObject

    public void setJdbcObject(java.sql.PreparedStatement st,
                              java.lang.Object val,
                              int pos,
                              int type,
                              int precision)
                       throws java.lang.Exception

  Description copied from class: `AbstractType`
  Calls "PreparedStatement.setObject(..)". Some DbAdapters may need to override this behavior for at least some of the object types, as it doesn't work consistently across all JDBC drivers.

  Specified by:
    `setJdbcObject` in interface `ExtendedType`
  Overrides:
    `setJdbcObject` in class `AbstractType`
  Throws:
    `java.lang.Exception`

### writeBlob

    protected java.sql.Blob writeBlob(byte[] bytes)

### readBlob

    protected byte[] readBlob(java.sql.Blob blob)
                       throws java.io.IOException,
                              java.sql.SQLException

  Throws:
    `java.io.IOException`
    `java.sql.SQLException`

### readBinaryStream

    protected byte[] readBinaryStream(java.sql.ResultSet rs,
                                      int index)
                               throws java.io.IOException,
                                      java.sql.SQLException

  Throws:
    `java.io.IOException`
    `java.sql.SQLException`

### readValueStream

    protected byte[] readValueStream(java.io.InputStream in,
                                     int streamSize,
                                     int bufSize)
                              throws java.io.IOException

  Throws:
    `java.io.IOException`

### isUsingBlobs

    public boolean isUsingBlobs()

  Returns `true` if byte columns are handled as BLOBs internally.

### setUsingBlobs

    public void setUsingBlobs(boolean usingBlobs)

### isTrimmingBytes

    public boolean isTrimmingBytes()

### setTrimmingBytes

    public void setTrimmingBytes(boolean trimingBytes)

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2001-2006 Apache.org All Rights Reserved.