package com.egloos.realmove.dp.absfactory.framework; public abstract class AbstractAddressBookFactory { /** * This method should be implemented by sub-class. * * @return */ public abstract AbstractAddressBook createAddressBook(); /** * This method should be implemented by sub-class. * * @return */ public abstract AbstractGroup createGroup(); /** * This method should be implemented by sub-class. * * @return */ public abstract AbstractAddress createAddress(); public AbstractGroup createGroup( String name ) { AbstractGroup group = this.createGroup(); group.setName( name ); return group; } public AbstractAddress createAddress( String name, String mobile, String email ) { AbstractAddress address = this.createAddress(); address.setName( name ); address.setMobile( mobile ); address.setEmail( email ); return address; } }