Advertisement
jaVer404

level16.lesson13.bonus01

Sep 22nd, 2015
401
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.25 KB | None | 0 0
  1. package com.javarush.test.level16.lesson13.bonus01;
  2.  
  3. import com.javarush.test.level16.lesson13.bonus01.ImageReaderFactory;
  4. import com.javarush.test.level16.lesson13.bonus01.common.ImageReader;
  5. import com.javarush.test.level16.lesson13.bonus01.common.ImageTypes;
  6.  
  7. /* Factory method pattern
  8. 1. Внимательно посмотри, какие классы у тебя есть.
  9.  
  10. 2. В отдельных файлах в пакете common создай классы JpgReader, PngReader, BmpReader, которые реализуют интерфейс ImageReader.
  11.  
  12. 3. В отдельном файле в пакете bonus01 создай класс ImageReaderFactory с одним методом.
  13.     3.1. Подумай, как он должен называться.
  14.     3.2. Подумай, какие модификаторы должны быть у этого метода.
  15. 4. Этот метод должен:
  16.     4.1. для каждого значения из ImageTypes возвращать соответствующий Reader, например, для ImageTypes.JPG - JpgReader;
  17.     4.2. если передан неправильный параметр, то выбросить исключение IllegalArgumentException("Неизвестный тип картинки").
  18. */
  19.  
  20. public class Solution {
  21.     public static void main(String[] args) {
  22.  
  23.             ImageReader reader = ImageReaderFactory.getReader(ImageTypes.JPG);
  24.     }
  25. }
  26. /*-----------------------------------------------------------------------------------*/
  27. package com.javarush.test.level16.lesson13.bonus01;
  28.  
  29. import com.javarush.test.level16.lesson13.bonus01.common.*;
  30.  
  31. /**
  32.  * Created by ya_zay4eg on 22.09.15.
  33.  */
  34. public class ImageReaderFactory
  35. {
  36.     static ImageReader getReader (ImageTypes e) {
  37.         if (e == ImageTypes.BMP) {
  38.             return new BmpReader();
  39.         }
  40.         else if (e == ImageTypes.PNG) {
  41.             return new PngReader();
  42.         }
  43.         else if (e == ImageTypes.JPG) {
  44.             return new JpgReader();
  45.         }
  46.         else {
  47.             throw new IllegalArgumentException();
  48.         }
  49.     }
  50. }
  51. /*-----------------------------------------------------------------------------------*/
  52. package com.javarush.test.level16.lesson13.bonus01.common;
  53.  
  54. /**
  55.  * Created by ya_zay4eg on 22.09.15.
  56.  */
  57. public class JpgReader implements ImageReader
  58. {
  59. }
  60. /*-----------------------------------------------------------------------------------*/
  61. package com.javarush.test.level16.lesson13.bonus01.common;
  62.  
  63. /**
  64.  * Created by ya_zay4eg on 22.09.15.
  65.  */
  66. public class PngReader implements ImageReader
  67. {
  68. }
  69. /*-----------------------------------------------------------------------------------*/
  70. package com.javarush.test.level16.lesson13.bonus01.common;
  71.  
  72. /**
  73.  * Created by ya_zay4eg on 22.09.15.
  74.  */
  75. public class BmpReader implements ImageReader
  76. {
  77.  
  78. }
  79. /*-----------------------------------------------------------------------------------*/
  80. package com.javarush.test.level16.lesson13.bonus01.common;
  81.  
  82. public enum ImageTypes {
  83.     BMP,
  84.     JPG,
  85.     PNG;
  86. }
  87. /*-----------------------------------------------------------------------------------*/
  88. package com.javarush.test.level16.lesson13.bonus01.common;
  89.  
  90. public interface ImageReader {
  91.  
  92. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement