/* Copyright (c) 2009 Google Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.google.appengine.demos.jdoexamples; import javax.jdo.annotations.Embedded; import javax.jdo.annotations.EmbeddedOnly; import javax.jdo.annotations.IdGeneratorStrategy; import javax.jdo.annotations.IdentityType; import javax.jdo.annotations.PersistenceCapable; import javax.jdo.annotations.Persistent; import javax.jdo.annotations.PrimaryKey; @PersistenceCapable(identityType=IdentityType.APPLICATION) public class AddressBookEntry { private static final int ENTITIES_PER_PAGE = 3; @PersistenceCapable @EmbeddedOnly public static class PersonalInfo { public String lastName; public String firstName; public PersonalInfo(String firstName, String lastName) { this.lastName = lastName; this.firstName = firstName; } } @PersistenceCapable @EmbeddedOnly public static class AddressInfo { public String city; public String state; public AddressInfo(String city, String state) { this.city = city; this.state = state; } } @PersistenceCapable @EmbeddedOnly public static class ContactInfo { public String phoneNumber; public ContactInfo(String phoneNumber) { this.phoneNumber = phoneNumber; } } @PrimaryKey @Persistent(valueStrategy=IdGeneratorStrategy.IDENTITY) private Long id; @Persistent @Embedded private PersonalInfo personalInfo; @Persistent @Embedded private AddressInfo addressInfo; @Persistent @Embedded private ContactInfo contactInfo; public PersonalInfo getPersonalInfo() { return personalInfo; } public void setPersonalInfo(PersonalInfo personalInfo) { this.personalInfo = personalInfo; } public ContactInfo getContactInfo() { return contactInfo; } public void setContactInfo(ContactInfo contactInfo) { this.contactInfo = contactInfo; } public void setAddressInfo(AddressInfo addressInfo) { this.addressInfo = addressInfo; } public AddressInfo getAddressInfo() { return addressInfo; } public Long getId() { return id; } }