1 28 29 package simple; 30 31 import java.util.Iterator ; 32 33 public class Customers7 34 { 35 private int fillPosition; 36 private Customer[] customers; 37 38 private void setCustomerCount(int count) { 39 customers = new Customer[count]; 40 fillPosition = 0; 41 } 42 43 private int getCustomerCount() { 44 return fillPosition; 45 } 46 47 private void addCustomer(Object obj) { 48 customers[fillPosition++] = (Customer)obj; 49 } 50 51 private boolean hasCustomer() { 52 return fillPosition > 0; 53 } 54 55 private Iterator getCustomerIterator() { 56 return new CustomerIterator(); 57 } 58 59 private class CustomerIterator implements Iterator { 60 61 int nextIndex; 62 63 private CustomerIterator() { 64 nextIndex = 0; 65 } 66 67 public boolean hasNext() { 68 return nextIndex < fillPosition; 69 } 70 71 public Object next() { 72 if (nextIndex < fillPosition) { 73 return customers[nextIndex++]; 74 } else { 75 return null; 76 } 77 } 78 79 public void remove() { 80 throw new UnsupportedOperationException ("No remove support"); 81 } 82 } 83 84 public static CustomerInterface createCustomer() { 85 return new Customer(); 86 } 87 88 public interface CustomerInterface 89 { 90 public Name getName(); 91 public String getStreet1(); 92 public String getCity(); 93 public String getState(); 94 public String getZip(); 95 public void setName(Name name); 96 public void setStreet1(String street1); 97 public void setCity(String city); 98 public void setState(String state); 99 public void setZip(String zip); 100 } 101 102 public static class Customer implements CustomerInterface 103 { 104 private Name name; 105 private String street1; 106 private String city; 107 private String state; 108 private String zip; 109 public Name getName() { return name; } 110 public String getStreet1() { return street1; } 111 public String getCity() { return city; } 112 public String getState() { return state; } 113 public String getZip() { return zip; } 114 public void setName(Name name) { this.name = name; } 115 public void setStreet1(String street1) { this.street1 = street1; } 116 public void setCity(String city) { this.city = city; } 117 public void setState(String state) { this.state = state; } 118 public void setZip(String zip) { this.zip = zip; } 119 } 120 } 121 | Popular Tags |