PhoneNumberFactory.java 1.8KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. package com.zipcodewilmington.phone;
  2. import com.zipcodewilmington.exceptions.InvalidPhoneNumberFormatException;
  3. import java.util.logging.Logger;
  4. /**
  5. * Created by leon on 5/1/17.
  6. */
  7. public final class PhoneNumberFactory {
  8. private static final Logger logger = Logger.getGlobal();
  9. private PhoneNumberFactory() {
  10. /** This constructor is private
  11. * This class is uninstantiable */
  12. }
  13. /**
  14. * @param phoneNumberCount - number of PhoneNumber objects to instantiate
  15. * @return array of randomly generated PhoneNumber objects
  16. */ //TODO - Implement logic
  17. public static PhoneNumber[] createRandomPhoneNumberArray(int phoneNumberCount) {
  18. return null;
  19. }
  20. /**
  21. * @return an instance of PhoneNumber with randomly generated phone number value
  22. */ //TODO - Implement logic
  23. public static PhoneNumber createRandomPhoneNumber() {
  24. return createPhoneNumberSafely(-1, -1, -1);
  25. }
  26. /**
  27. * @param areaCode - 3 digit code
  28. * @param centralOfficeCode - 3 digit code
  29. * @param phoneLineCode - 4 digit code
  30. * @return a new phone number object
  31. */ //TODO - if input is valid, return respective PhoneNumber object, else return null
  32. public static PhoneNumber createPhoneNumberSafely(int areaCode, int centralOfficeCode, int phoneLineCode) {
  33. return createPhoneNumber(null);
  34. }
  35. /**
  36. * @param phoneNumberString - some String corresponding to a phone number whose format is `(###)-###-####`
  37. * @return a new phone number object
  38. * @throws InvalidPhoneNumberFormatException - thrown if phoneNumberString does not match acceptable format
  39. */ // TODO - Add throws statement to method signature
  40. public static PhoneNumber createPhoneNumber(String phoneNumberString) {
  41. return null;
  42. }
  43. }