### Question:
ObjAttribute extends Attribute implements ConfigurationNode { public Class<?> getJavaClass() { if (this.getType() == null) { return null; } try { return Util.getJavaClass(getType()); } catch (ClassNotFoundException e) { throw new CayenneRuntimeException("Failed to load class for name '" + this.getType() + "': " + e.getMessage(), e); } } ObjAttribute();  ObjAttribute(String name);  ObjAttribute(String name, String type, ObjEntity entity);  ObjAttribute(ObjAttribute attribute); @Override ObjEntity getEntity(); T acceptVisitor(ConfigurationNodeVisitor<T> visitor); Class<?> getJavaClass(); @Override void encodeAsXML(XMLEncoder encoder, ConfigurationNodeVisitor delegate); String getType(); void setType(String type); boolean isPrimaryKey(); boolean isUsedForLocking(); void setUsedForLocking(boolean usedForLocking); boolean isLazy(); void setLazy(boolean lazy); DbAttribute getDbAttribute(); boolean isInherited(); Iterator<CayenneMapEntry> getDbPathIterator(); @SuppressWarnings("unchecked") Iterator<CayenneMapEntry> getDbPathIterator(ObjEntity entity); String getDbAttributeName(); void setDbAttributePath(String dbAttributePath); String getDbAttributePath(); boolean isFlattened(); boolean isMandatory(); int getMaxLength(); ObjAttribute getClientAttribute(); void updateDbAttributePath(); @Override String toString();  }### Answer:
@Test public void testGetJavaClass() throws Exception { ObjAttribute a1 = new ObjAttribute("test"); a1.setType("byte"); assertEquals(byte.class.getName(), a1.getJavaClass().getName()); a1.setType("byte[]"); assertEquals(byte[].class.getName(), a1.getJavaClass().getName()); a1.setType("java.lang.Byte"); assertEquals(Byte.class.getName(), a1.getJavaClass().getName()); a1.setType("java.lang.Byte[]"); assertEquals(Byte[].class.getName(), a1.getJavaClass().getName()); }