下面列出了怎么用org.hibernate.type.descriptor.java.DataHelper的API类实例代码及写法,或者点击链接到github查看源代码。
@Override
public byte[] getBytes() {
if ( bytes == null ) {
bytes = DataHelper.extractBytes( stream );
}
return bytes;
}
@Override
public String asString() {
if ( string == null ) {
string = DataHelper.extractString( reader );
}
return string;
}
private static String extractString(Object value) {
if (value == null) {
return null;
}
if (value instanceof String) {
return (String) value;
}
if (value instanceof Reader) {
return DataHelper.extractString((Reader) value);
}
if (value instanceof Clob) {
return DataHelper.extractString((Clob) value);
}
return null;
}
@Override
@SuppressWarnings("unchecked")
public <X> X unwrap(BufferedContent value, Class<X> type, WrapperOptions options) {
if (value == null) {
return null;
}
if (BufferedContent.class.isAssignableFrom(type)) {
return (X) value;
}
if (BinaryStream.class.isAssignableFrom(type)) {
return (X) new BinaryStreamImpl(DataHelper.extractBytes(value.getInputStream()));
}
throw unknownUnwrap(type);
}
@Override
public long position(Clob searchstr, long start) throws SQLException {
return this.data.indexOf( DataHelper.extractString( searchstr ), (int) ( start - 1 ) );
}
@Override
public String convert(Clob source) {
return DataHelper.extractString(source);
}
@Override
public String toString(BufferedContent value) {
final byte[] bytes;
bytes = DataHelper.extractBytes(value.getInputStream());
return PrimitiveByteArrayTypeDescriptor.INSTANCE.toString(bytes);
}