Java 类org.hibernate.engine.jdbc.CharacterStream 实例源码
项目:lams
文件:AbstractHANADialect.java
@Override
public <X> BasicBinder<X> getClobBinder(final JavaTypeDescriptor<X> javaTypeDescriptor) {
return new BasicBinder<X>( javaTypeDescriptor, this ) {
@Override
protected void doBind(final PreparedStatement st, final X value, final int index,
final WrapperOptions options) throws SQLException {
final CharacterStream characterStream = javaTypeDescriptor.unwrap( value, CharacterStream.class,
options );
if ( value instanceof ClobImplementer ) {
st.setCharacterStream( index, new CloseSuppressingReader( characterStream.asReader() ),
characterStream.getLength() );
}
else {
st.setCharacterStream( index, characterStream.asReader(), characterStream.getLength() );
}
}
};
}
项目:lams
文件:AbstractHANADialect.java
@Override
public <X> BasicBinder<X> getNClobBinder(final JavaTypeDescriptor<X> javaTypeDescriptor) {
return new BasicBinder<X>( javaTypeDescriptor, this ) {
@Override
protected void doBind(final PreparedStatement st, final X value, final int index,
final WrapperOptions options) throws SQLException {
final CharacterStream characterStream = javaTypeDescriptor.unwrap( value, CharacterStream.class,
options );
if ( value instanceof NClobImplementer ) {
st.setCharacterStream( index, new CloseSuppressingReader( characterStream.asReader() ),
characterStream.getLength() );
}
else {
st.setCharacterStream( index, characterStream.asReader(), characterStream.getLength() );
}
}
};
}
项目:lams
文件:CharacterArrayTypeDescriptor.java
@SuppressWarnings({ "unchecked" })
@Override
public <X> X unwrap(Character[] value, Class<X> type, WrapperOptions options) {
if ( value == null ) {
return null;
}
if ( Character[].class.isAssignableFrom( type ) ) {
return (X) value;
}
if ( String.class.isAssignableFrom( type ) ) {
return (X) new String( unwrapChars( value ) );
}
if ( Clob.class.isAssignableFrom( type ) ) {
return (X) options.getLobCreator().createClob( new String( unwrapChars( value ) ) );
}
if ( Reader.class.isAssignableFrom( type ) ) {
return (X) new StringReader( new String( unwrapChars( value ) ) );
}
if ( CharacterStream.class.isAssignableFrom( type ) ) {
return (X) new CharacterStreamImpl( new String( unwrapChars( value ) ) );
}
throw unknownUnwrap( type );
}
项目:lams
文件:StringTypeDescriptor.java
@SuppressWarnings({ "unchecked" })
public <X> X unwrap(String value, Class<X> type, WrapperOptions options) {
if ( value == null ) {
return null;
}
if ( String.class.isAssignableFrom( type ) ) {
return (X) value;
}
if ( Reader.class.isAssignableFrom( type ) ) {
return (X) new StringReader( value );
}
if ( CharacterStream.class.isAssignableFrom( type ) ) {
return (X) new CharacterStreamImpl( value );
}
if ( Clob.class.isAssignableFrom( type ) ) {
return (X) options.getLobCreator().createClob( value );
}
if ( DataHelper.isNClob( type ) ) {
return (X) options.getLobCreator().createNClob( value );
}
throw unknownUnwrap( type );
}
项目:lams
文件:PrimitiveCharacterArrayTypeDescriptor.java
@SuppressWarnings({ "unchecked" })
public <X> X unwrap(char[] value, Class<X> type, WrapperOptions options) {
if ( value == null ) {
return null;
}
if ( char[].class.isAssignableFrom( type ) ) {
return (X) value;
}
if ( String.class.isAssignableFrom( type ) ) {
return (X) new String( value );
}
if ( Clob.class.isAssignableFrom( type ) ) {
return (X) options.getLobCreator().createClob( new String( value ) );
}
if ( Reader.class.isAssignableFrom( type ) ) {
return (X) new StringReader( new String( value ) );
}
if ( CharacterStream.class.isAssignableFrom( type ) ) {
return (X) new CharacterStreamImpl( new String( value ) );
}
throw unknownUnwrap( type );
}
项目:hibernate-semantic-query
文件:PrimitiveCharacterArrayJavaDescriptor.java
@SuppressWarnings({ "unchecked" })
public <X> X unwrap(char[] value, Class<X> type, WrapperOptions options) {
if ( value == null ) {
return null;
}
if ( char[].class.isAssignableFrom( type ) ) {
return (X) value;
}
if ( String.class.isAssignableFrom( type ) ) {
return (X) new String( value );
}
if ( Clob.class.isAssignableFrom( type ) ) {
return (X) options.getLobCreator().createClob( new String( value ) );
}
if ( Reader.class.isAssignableFrom( type ) ) {
return (X) new StringReader( new String( value ) );
}
if ( CharacterStream.class.isAssignableFrom( type ) ) {
return (X) new CharacterStreamImpl( new String( value ) );
}
throw unknownUnwrap( type );
}
项目:hibernate-semantic-query
文件:CharacterArrayJavaDescriptor.java
@SuppressWarnings({ "unchecked" })
@Override
public <X> X unwrap(Character[] value, Class<X> type, WrapperOptions options) {
if ( value == null ) {
return null;
}
if ( Character[].class.isAssignableFrom( type ) ) {
return (X) value;
}
if ( String.class.isAssignableFrom( type ) ) {
return (X) new String( unwrapChars( value ) );
}
if ( Clob.class.isAssignableFrom( type ) ) {
return (X) options.getLobCreator().createClob( new String( unwrapChars( value ) ) );
}
if ( Reader.class.isAssignableFrom( type ) ) {
return (X) new StringReader( new String( unwrapChars( value ) ) );
}
if ( CharacterStream.class.isAssignableFrom( type ) ) {
return (X) new CharacterStreamImpl( new String( unwrapChars( value ) ) );
}
throw unknownUnwrap( type );
}
项目:hibernate-semantic-query
文件:StringJavaDescriptor.java
@SuppressWarnings({ "unchecked" })
public <X> X unwrap(String value, Class<X> type, WrapperOptions options) {
if ( value == null ) {
return null;
}
if ( String.class.isAssignableFrom( type ) ) {
return (X) value;
}
if ( Reader.class.isAssignableFrom( type ) ) {
return (X) new StringReader( value );
}
if ( CharacterStream.class.isAssignableFrom( type ) ) {
return (X) new CharacterStreamImpl( value );
}
if ( Clob.class.isAssignableFrom( type ) ) {
return (X) options.getLobCreator().createClob( value );
}
if ( DataHelper.isNClob( type ) ) {
return (X) options.getLobCreator().createNClob( value );
}
throw unknownUnwrap( type );
}
项目:lams
文件:ClobTypeDescriptor.java
@SuppressWarnings({ "unchecked" })
public <X> X unwrap(final Clob value, Class<X> type, WrapperOptions options) {
if ( value == null ) {
return null;
}
try {
if ( CharacterStream.class.isAssignableFrom( type ) ) {
if ( ClobImplementer.class.isInstance( value ) ) {
// if the incoming Clob is a wrapper, just pass along its CharacterStream
return (X) ( (ClobImplementer) value ).getUnderlyingStream();
}
else {
// otherwise we need to build a CharacterStream...
return (X) new CharacterStreamImpl( DataHelper.extractString( value.getCharacterStream() ) );
}
}
else if (Clob.class.isAssignableFrom( type )) {
final Clob clob = WrappedClob.class.isInstance( value )
? ( (WrappedClob) value ).getWrappedClob()
: value;
return (X) clob;
}
}
catch ( SQLException e ) {
throw new HibernateException( "Unable to access clob stream", e );
}
throw unknownUnwrap( type );
}
项目:lams
文件:NClobTypeDescriptor.java
@SuppressWarnings({ "unchecked" })
public <X> X unwrap(final NClob value, Class<X> type, WrapperOptions options) {
if ( value == null ) {
return null;
}
try {
if ( CharacterStream.class.isAssignableFrom( type ) ) {
if ( NClobImplementer.class.isInstance( value ) ) {
// if the incoming NClob is a wrapper, just pass along its BinaryStream
return (X) ( (NClobImplementer) value ).getUnderlyingStream();
}
else {
// otherwise we need to build a BinaryStream...
return (X) new CharacterStreamImpl( DataHelper.extractString( value.getCharacterStream() ) );
}
}
else if (NClob.class.isAssignableFrom( type )) {
final NClob nclob = WrappedNClob.class.isInstance( value )
? ( (WrappedNClob) value ).getWrappedNClob()
: value;
return (X) nclob;
}
}
catch ( SQLException e ) {
throw new HibernateException( "Unable to access nclob stream", e );
}
throw unknownUnwrap( type );
}
项目:lams
文件:ClobTypeDescriptor.java
@Override
public <X> BasicBinder<X> getClobBinder(final JavaTypeDescriptor<X> javaTypeDescriptor) {
return new BasicBinder<X>( javaTypeDescriptor, this ) {
@Override
protected void doBind(PreparedStatement st, X value, int index, WrapperOptions options)
throws SQLException {
final CharacterStream characterStream = javaTypeDescriptor.unwrap( value, CharacterStream.class, options );
st.setCharacterStream( index, characterStream.asReader(), characterStream.getLength() );
}
};
}
项目:lams
文件:ClobTypeDescriptor.java
@Override
public <X> BasicBinder<X> getClobBinder(final JavaTypeDescriptor<X> javaTypeDescriptor) {
return new BasicBinder<X>( javaTypeDescriptor, this ) {
@Override
protected void doBind(PreparedStatement st, X value, int index, WrapperOptions options)
throws SQLException {
final CharacterStream characterStream = javaTypeDescriptor.unwrap( value, CharacterStream.class, options );
st.setCharacterStream( index, characterStream.asReader(), characterStream.getLength() );
}
};
}
项目:lams
文件:NClobTypeDescriptor.java
@Override
public <X> BasicBinder<X> getNClobBinder(final JavaTypeDescriptor<X> javaTypeDescriptor) {
return new BasicBinder<X>( javaTypeDescriptor, this ) {
@Override
protected void doBind(PreparedStatement st, X value, int index, WrapperOptions options)
throws SQLException {
final CharacterStream characterStream = javaTypeDescriptor.unwrap( value, CharacterStream.class, options );
st.setCharacterStream( index, characterStream.asReader(), characterStream.getLength() );
}
};
}
项目:hibernate-semantic-query
文件:ClobJavaDescriptor.java
@SuppressWarnings({ "unchecked" })
public <X> X unwrap(final Clob value, Class<X> type, WrapperOptions options) {
if ( value == null ) {
return null;
}
try {
if ( CharacterStream.class.isAssignableFrom( type ) ) {
if ( ClobImplementer.class.isInstance( value ) ) {
// if the incoming Clob is a wrapper, just pass along its CharacterStream
return (X) ( (ClobImplementer) value ).getUnderlyingStream();
}
else {
// otherwise we need to build a CharacterStream...
return (X) new CharacterStreamImpl( DataHelper.extractString( value.getCharacterStream() ) );
}
}
else if (Clob.class.isAssignableFrom( type )) {
final Clob clob = WrappedClob.class.isInstance( value )
? ( (WrappedClob) value ).getWrappedClob()
: value;
return (X) clob;
}
}
catch ( SQLException e ) {
throw new HibernateException( "Unable to access clob stream", e );
}
throw unknownUnwrap( type );
}
项目:hibernate-semantic-query
文件:NClobJavaDescriptor.java
@SuppressWarnings({ "unchecked" })
public <X> X unwrap(final NClob value, Class<X> type, WrapperOptions options) {
if ( value == null ) {
return null;
}
try {
if ( CharacterStream.class.isAssignableFrom( type ) ) {
if ( NClobImplementer.class.isInstance( value ) ) {
// if the incoming Clob is a wrapper, just pass along its CharacterStream
return (X) ( (NClobImplementer) value ).getUnderlyingStream();
}
else {
// otherwise we need to build a CharacterStream...
return (X) new CharacterStreamImpl( DataHelper.extractString( value.getCharacterStream() ) );
}
}
else if (Clob.class.isAssignableFrom( type )) {
final Clob clob = WrappedClob.class.isInstance( value )
? ( (WrappedClob) value ).getWrappedClob()
: value;
return (X) clob;
}
}
catch ( SQLException e ) {
throw new HibernateException( "Unable to access clob stream", e );
}
throw unknownUnwrap( type );
}
项目:cosmo
文件:CosmoCalendarTypeDescriptor.java
@Override
public <X> X unwrap(Calendar value, Class<X> type, WrapperOptions options) {
if (value == null) {
return null;
}
if (Calendar.class.isAssignableFrom(type)) {
return (X) value;
}
if (CharacterStream.class.isAssignableFrom(type)) {
return (X) new CharacterStreamImpl(value.toString());
}
throw unknownUnwrap(type);
}