// ======================================================================== // Copyright (C) zeroth Project Team. All rights reserved. // GNU AFFERO GENERAL PUBLIC LICENSE Version 3, 19 November 2007 // http://www.gnu.org/licenses/agpl-3.0.txt // ======================================================================== package zeroth.actor.service.domain; import zeroth.actor.service.domain.parts.HomeAddress; import zeroth.actor.service.domain.parts.HomeAddressFactory; import zeroth.actor.service.domain.parts.MemberContact; import zeroth.actor.service.domain.parts.MemberContactFactory; /** * Member factory. * @author nilcy */ public class MemberFactory extends AbstractStaffFactory<Member> { /** コンストラクタ */ public MemberFactory() { super(); } /** * {@inheritDoc} * <ul> * <li>create home address instance.</li> * <li>create member contact instance.</li> * </ul> * @return {@inheritDoc} */ @Override public Member create() { final Member i = super.create(); i.setAddress(new HomeAddressFactory().create()); i.setContact(new MemberContactFactory().create()); return i; } /** * Create instance. * @see #create() * @param aAccount account * @return created instance */ public Member create(final String aAccount) { final Member i = super.create(); i.setAccount(aAccount); return i; } // /** // * Create instance. // * @see #create() // * @param aAccount account // * @param aFamilyName family name // * @return created instance // */ // public Member create(final String aAccount, final String aFamilyName) { // final Member i = super.createStaff(aFamilyName); // i.setAccount(aAccount); // return i; // } /** * Create instance. * @see #create() * @param aFamilyName family name * @param aAccount account * @param aPassword password * @param aAddress home address * @param aContact member contact * @return created instance */ public Member create(final String aFamilyName, final String aAccount, final String aPassword, final HomeAddress aAddress, final MemberContact aContact) { final Member i = createStaff(aFamilyName); i.setAccount(aAccount); i.setPassword(aPassword); i.setAddress(aAddress); i.setContact(aContact); return i; } }