PGEnumUserType implements EnhancedUserType, ParameterizedType { @Override public void setParameterValues(final Properties parameters) { String enumClassName = parameters.getProperty("enumClassName"); try { enumClass = (Class<Enum>) Class.forName(enumClassName); } catch (ClassNotFoundException cnfe) { throw new HibernateException("Enum class not found", cnfe); } }  @Override void setParameterValues(final Properties parameters); @Override Object assemble(final Serializable cached, final Object owner); @Override Object deepCopy(final Object value); @Override Serializable disassemble(final Object value); @Override boolean equals(final Object x, final Object y); @Override int hashCode(final Object x); @Override boolean isMutable(); @Override void nullSafeSet(final PreparedStatement st, final Object value,
			final int index, final SessionImplementor session); @Override Object replace(final Object original, final Object target, final Object owner); @Override Class returnedClass(); @Override int[] sqlTypes(); @Override Object fromXMLString(final String xmlValue); @Override String objectToSQLString(final Object value); @Override String toXMLString(final Object value); @Override Object nullSafeGet(final ResultSet rs, final String[] names,
			final SessionImplementor session, final Object owner);  }
@Test public void testSetParameterValues() throws Exception { when(parameters.getProperty(anyString())).thenReturn(RowStatus.class.getName()); unit.setParameterValues(parameters); verify(parameters, times(2)).getProperty("enumClassName"); }
@Test(expected = ClassNotFoundException.class) public void testSetParameterValuesWithException() throws Exception { doThrow(ClassNotFoundException.class).when(parameters).getProperty(anyString()); unit.setParameterValues(parameters); verify(parameters).getProperty("enumClassName"); }