diff --git a/src/test/java/com/avaje/tests/contructor/TestProtectedConstructor.java b/src/test/java/com/avaje/tests/contructor/TestProtectedConstructor.java new file mode 100644 index 000000000..c1ad1c224 --- /dev/null +++ b/src/test/java/com/avaje/tests/contructor/TestProtectedConstructor.java @@ -0,0 +1,27 @@ +package com.avaje.tests.contructor; + +import org.junit.Assert; +import org.junit.Test; + +import com.avaje.ebean.BaseTestCase; +import com.avaje.ebean.Ebean; +import com.avaje.ebean.EbeanServer; +import com.avaje.tests.model.basic.MProtectedConstructBean; + +public class TestProtectedConstructor extends BaseTestCase { + + @Test + public void test() { + + EbeanServer server = Ebean.getServer(null); + + // check that we can construc a bean with a protected constructor + MProtectedConstructBean bean = server.createEntityBean(MProtectedConstructBean.class); + Assert.assertNotNull(bean); + + // Note1 that the enhancement ClassAdapterEntity line 239 makes a default constructor publically accessible + // Note2 the ClassAdpater will call DefaultConstructor.add() to add a default constructor if it doesn't exist + + } + +} diff --git a/src/test/java/com/avaje/tests/model/basic/MProtectedConstructBean.java b/src/test/java/com/avaje/tests/model/basic/MProtectedConstructBean.java new file mode 100644 index 000000000..a4bdb94da --- /dev/null +++ b/src/test/java/com/avaje/tests/model/basic/MProtectedConstructBean.java @@ -0,0 +1,38 @@ +package com.avaje.tests.model.basic; + +import javax.persistence.Entity; +import javax.persistence.Id; + +@Entity +public class MProtectedConstructBean { + + @Id + Long id; + + String name; + +// private MProtectedConstructBean() { +// +// } + + public MProtectedConstructBean(String name){ + this.name = name; + } + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + +}