List of usage examples for org.hibernate.type.descriptor.java DataHelper isNClob
public static boolean isNClob(final Class type)
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); }