Package org.apache.cayenne.access.types
Class ByteArrayType
java.lang.Object
org.apache.cayenne.access.types.ByteArrayType
- All Implemented Interfaces:
- ExtendedType<byte[]>
- Direct Known Subclasses:
- OracleByteArrayType
public class ByteArrayType extends Object implements ExtendedType<byte[]>
Handles 
byte[], mapping it as either of JDBC types - BLOB or
 (VAR)BINARY. Can be configured to trim trailing zero bytes.- 
Field SummaryFields Modifier and Type Field Description protected booleantrimmingBytesprotected booleanusingBlobsFields inherited from interface org.apache.cayenne.access.types.ExtendedTypeTRIM_VALUES_THRESHOLD
- 
Constructor SummaryConstructors Constructor Description ByteArrayType(boolean trimmingBytes, boolean usingBlobs)
- 
Method SummaryModifier and Type Method Description StringgetClassName()Returns a full name of Java class that this ExtendedType supports.booleanisTrimmingBytes()booleanisUsingBlobs()Returnstrueif byte columns are handled as BLOBs internally.static voidlogBytes(StringBuilder buffer, byte[] bytes)byte[]materializeObject(CallableStatement cs, int index, int type)Reads an object from a stored procedure OUT parameter, converting it to class returned by 'getClassName' method.byte[]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)voidsetJdbcObject(PreparedStatement st, byte[] val, int pos, int type, int scale)Initializes a single parameter of a PreparedStatement with object value.voidsetTrimmingBytes(boolean trimingBytes)voidsetUsingBlobs(boolean usingBlobs)StringtoString(byte[] value)Converts value of the supported type to a human-readable String representation.static byte[]trimBytes(byte[] bytes)Strips null bytes from the byte array, returning a potentially smaller array that contains no trailing zero bytes.protected BlobwriteBlob(byte[] bytes)
- 
Field Details- 
trimmingBytesprotected boolean trimmingBytes
- 
usingBlobsprotected boolean usingBlobs
 
- 
- 
Constructor Details- 
ByteArrayTypepublic ByteArrayType(boolean trimmingBytes, boolean usingBlobs)
 
- 
- 
Method Details- 
logBytes
- 
trimBytespublic static byte[] trimBytes(byte[] bytes)Strips null bytes from the byte array, returning a potentially smaller array that contains no trailing zero bytes.
- 
getClassNameDescription copied from interface:ExtendedTypeReturns a full name of Java class that this ExtendedType supports.- Specified by:
- getClassNamein interface- ExtendedType<byte[]>
 
- 
materializeObjectDescription copied from interface:ExtendedTypeReads an object from JDBC ResultSet column, converting it to class returned by 'getClassName' method.- Specified by:
- materializeObjectin interface- ExtendedType<byte[]>
- Throws:
- Exception- if read error occurred, or an object can't be converted to a target Java class.
 
- 
materializeObjectDescription copied from interface:ExtendedTypeReads an object from a stored procedure OUT parameter, converting it to class returned by 'getClassName' method.- Specified by:
- materializeObjectin interface- ExtendedType<byte[]>
- Throws:
- Exception- if read error occurred, or an object can't be converted to a target Java class.
 
- 
setJdbcObjectpublic void setJdbcObject(PreparedStatement st, byte[] val, int pos, int type, int scale) throws ExceptionDescription copied from interface:ExtendedTypeInitializes a single parameter of a PreparedStatement with object value.- Specified by:
- setJdbcObjectin interface- ExtendedType<byte[]>
- Throws:
- Exception
 
- 
toStringDescription copied from interface:ExtendedTypeConverts value of the supported type to a human-readable String representation.- Specified by:
- toStringin interface- ExtendedType<byte[]>
- Parameters:
- value- a value to convert to String.
 
- 
writeBlob
- 
readBlob- Throws:
- IOException
- SQLException
 
- 
readBinaryStream- Throws:
- IOException
- SQLException
 
- 
readValueStream- Throws:
- IOException
 
- 
isUsingBlobspublic boolean isUsingBlobs()Returnstrueif byte columns are handled as BLOBs internally.
- 
setUsingBlobspublic void setUsingBlobs(boolean usingBlobs)
- 
isTrimmingBytespublic boolean isTrimmingBytes()
- 
setTrimmingBytespublic void setTrimmingBytes(boolean trimingBytes)
 
-