12 * version 2 for more details (a copy is included in the LICENSE file that 13 * accompanied this code). 14 * 15 * You should have received a copy of the GNU General Public License version 16 * 2 along with this work; if not, write to the Free Software Foundation, 17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 * 19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 * or visit www.oracle.com if you need additional information or have any 21 * questions. 22 */ 23 24 package runtime.valhalla.valuetypes; 25 26 public final inline class Person { 27 28 final int id; 29 final String firstName; 30 final String lastName; 31 32 private Person() { 33 id = 0; 34 firstName = null; 35 lastName = null; 36 } 37 38 public int getId() { return id; } 39 public String getFirstName() { return firstName; } 40 public String getLastName() { return lastName; } 41 42 public String toString() { 43 return getFirstName() + " " + getLastName() + " (id=" + getId() + ")"; 44 } 45 46 static Person create(int id, String firstName, String lastName) { 47 Person p = Person.default; 48 p = __WithField(p.id, id); 49 p = __WithField(p.firstName, firstName); 50 p = __WithField(p.lastName, lastName); 51 return p; 52 } 53 } | 12 * version 2 for more details (a copy is included in the LICENSE file that 13 * accompanied this code). 14 * 15 * You should have received a copy of the GNU General Public License version 16 * 2 along with this work; if not, write to the Free Software Foundation, 17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 * 19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 * or visit www.oracle.com if you need additional information or have any 21 * questions. 22 */ 23 24 package runtime.valhalla.valuetypes; 25 26 public final inline class Person { 27 28 final int id; 29 final String firstName; 30 final String lastName; 31 32 private Person(int id, String firstName, String lastName) { 33 this.id = id; 34 this.firstName = firstName; 35 this.lastName = lastName; 36 } 37 38 public int getId() { return id; } 39 public String getFirstName() { return firstName; } 40 public String getLastName() { return lastName; } 41 42 public String toString() { 43 return getFirstName() + " " + getLastName() + " (id=" + getId() + ")"; 44 } 45 46 static Person create(int id, String firstName, String lastName) { 47 return new Person(id, firstName, lastName); 48 } 49 } |