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
Handles
byte[]
, mapping it as either of JDBC types - BLOB or
(VAR)BINARY. Can be configured to trim trailing zero bytes.-
Field Summary
FieldsFields inherited from interface org.apache.cayenne.access.types.ExtendedType
TRIM_VALUES_THRESHOLD
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionReturns a full name of Java class that this ExtendedType supports.boolean
boolean
Returnstrue
if byte columns are handled as BLOBs internally.static void
logBytes
(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[]
protected byte[]
readValueStream
(InputStream in, int streamSize, int bufSize) void
setJdbcObject
(PreparedStatement st, byte[] val, int pos, int type, int scale) Initializes a single parameter of a PreparedStatement with object value.void
setTrimmingBytes
(boolean trimingBytes) void
setUsingBlobs
(boolean usingBlobs) toString
(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 Blob
writeBlob
(byte[] bytes)
-
Field Details
-
trimmingBytes
protected boolean trimmingBytes -
usingBlobs
protected boolean usingBlobs
-
-
Constructor Details
-
ByteArrayType
public ByteArrayType(boolean trimmingBytes, boolean usingBlobs)
-
-
Method Details
-
logBytes
-
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
Description copied from interface:ExtendedType
Returns a full name of Java class that this ExtendedType supports.- Specified by:
getClassName
in interfaceExtendedType<byte[]>
-
materializeObject
Description copied from interface:ExtendedType
Reads an object from JDBC ResultSet column, converting it to class returned by 'getClassName' method.- Specified by:
materializeObject
in interfaceExtendedType<byte[]>
- Throws:
Exception
- if read error occurred, or an object can't be converted to a target Java class.
-
materializeObject
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 interfaceExtendedType<byte[]>
- Throws:
Exception
- if read error occurred, or an object can't be converted to a target Java class.
-
setJdbcObject
public void setJdbcObject(PreparedStatement st, byte[] val, int pos, int type, int scale) throws Exception Description copied from interface:ExtendedType
Initializes a single parameter of a PreparedStatement with object value.- Specified by:
setJdbcObject
in interfaceExtendedType<byte[]>
- Throws:
Exception
-
toString
Description copied from interface:ExtendedType
Converts value of the supported type to a human-readable String representation.- Specified by:
toString
in interfaceExtendedType<byte[]>
- Parameters:
value
- a value to convert to String.
-
writeBlob
-
readBlob
- Throws:
IOException
SQLException
-
readBinaryStream
- Throws:
IOException
SQLException
-
readValueStream
- Throws:
IOException
-
isUsingBlobs
public boolean isUsingBlobs()Returnstrue
if byte columns are handled as BLOBs internally. -
setUsingBlobs
public void setUsingBlobs(boolean usingBlobs) -
isTrimmingBytes
public boolean isTrimmingBytes() -
setTrimmingBytes
public void setTrimmingBytes(boolean trimingBytes)
-