Overview | Package | Class | Use | 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
`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.
`Object` | `materializeObject(CallableStatement cs, int index, int type)` Reads an object from a stored procedure OUT parameter, converting it to class returned by 'getClassName' method.
`Object` | `materializeObject(ResultSet rs, int index, int type)` Reads an object from JDBC ResultSet column, converting it to class returned by 'getClassName' method.
`protected byte[]` | `readBinaryStream(ResultSet rs, int index)`
`protected byte[]` | `readBlob(Blob blob)`
`protected byte[]` | `readValueStream(InputStream in, int streamSize, int bufSize)`
`void` | `setJdbcObject(PreparedStatement st, 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(Object source, String property, Object value, DbAttribute dbAttribute, ValidationResult validationResult)` Deprecated. since 3.0 as validation should not be done at the DataNode level.
`protected 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 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(Object source,
                                    String property,
                                    Object value,
                                    DbAttribute dbAttribute,
                                    ValidationResult validationResult)

  Deprecated. since 3.0 as validation should not be done at the DataNode level.

  Validates byte[] property.

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

### materializeObject

    public Object materializeObject(ResultSet rs,
                                    int index,
                                    int type)
                             throws 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:
    `Exception` - if read error ocurred, or an object can't be converted to a target Java class.

### materializeObject

    public Object materializeObject(CallableStatement cs,
                                    int index,
                                    int type)
                             throws 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:
    `Exception` - if read error ocurred, or an object can't be converted to a target Java class.

### setJdbcObject

    public void setJdbcObject(PreparedStatement st,
                              Object val,
                              int pos,
                              int type,
                              int precision)
                       throws 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:
    `Exception`

### writeBlob

    protected Blob writeBlob(byte[] bytes)

### readBlob

    protected byte[] readBlob(Blob blob)
                       throws IOException,
                              SQLException

  Throws:
    `IOException`
    `SQLException`

### readBinaryStream

    protected byte[] readBinaryStream(ResultSet rs,
                                      int index)
                               throws IOException,
                                      SQLException

  Throws:
    `IOException`
    `SQLException`

### readValueStream

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

  Throws:
    `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 | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2001-2008 Apache Cayenne. All Rights Reserved.