Example usage for org.hibernate.type.descriptor.java DataHelper isNClob

List of usage examples for org.hibernate.type.descriptor.java DataHelper isNClob

Introduction

In this page you can find the example usage for org.hibernate.type.descriptor.java DataHelper isNClob.

Prototype

public static boolean isNClob(final Class type) 

Source Link

Usage

From source file:org.bonitasoft.engine.persistence.XMLTypeDescriptor.java

License:Open Source License

@SuppressWarnings({ "unchecked" })
@Override/* w  ww  .j a v  a  2  s  .  c  o  m*/
public <X> X unwrap(Serializable value, Class<X> type, WrapperOptions options) {

    if (value == null) {
        return null;
    }
    if (String.class.isAssignableFrom(type)) {
        return (X) toString(value);
    }
    if (Reader.class.isAssignableFrom(type)) {
        return (X) new StringReader(toString(value));
    }
    if (CharacterStream.class.isAssignableFrom(type)) {
        return (X) new CharacterStreamImpl(toString(value));
    }
    if (Clob.class.isAssignableFrom(type)) {
        return (X) options.getLobCreator().createClob(toString(value));
    }
    if (DataHelper.isNClob(type)) {
        return (X) options.getLobCreator().createNClob(toString(value));
    }
    throw unknownUnwrap(type);
}

From source file:org.jasig.portal.dao.usertype.QNameTypeDescriptor.java

License:Apache License

@Override
public <X> X unwrap(QName value, Class<X> type, WrapperOptions options) {
    if (value == null) {
        return null;
    }/* w w  w .  ja v  a 2 s .c  o  m*/
    if (String.class.isAssignableFrom(type)) {
        return type.cast(value.toString());
    }
    if (Reader.class.isAssignableFrom(type)) {
        return type.cast(new StringReader(value.toString()));
    }
    if (CharacterStream.class.isAssignableFrom(type)) {
        return type.cast(new CharacterStreamImpl(value.toString()));
    }
    if (Clob.class.isAssignableFrom(type)) {
        return type.cast(options.getLobCreator().createClob(value.toString()));
    }
    if (DataHelper.isNClob(type)) {
        return type.cast(options.getLobCreator().createNClob(value.toString()));
    }

    throw unknownUnwrap(type);
}

From source file:org.jasig.portal.dao.usertype.QNameTypeDescriptor.java

License:Apache License

@Override
public <X> QName wrap(X value, WrapperOptions options) {
    if (value == null) {
        return null;
    }//  w  ww . j a v a  2  s.c o  m

    final String strValue;
    if (String.class.isInstance(value)) {
        strValue = (String) value;
    } else if (Reader.class.isInstance(value)) {
        strValue = DataHelper.extractString((Reader) value);
    } else if (Clob.class.isInstance(value) || DataHelper.isNClob(value.getClass())) {
        try {
            strValue = DataHelper.extractString(((Clob) value).getCharacterStream());
        } catch (SQLException e) {
            throw new HibernateException("Unable to access lob stream", e);
        }
    } else {
        throw unknownWrap(value.getClass());
    }

    return this.fromString(strValue);
}