1. Java / Говнокод #21721

    −50

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    public class DataImpl extends AsyncTask<Void, Void, Object> implements IUrl {
    
        GsonBuilder builder = new GsonBuilder();
        Gson gson = builder.create();
    
        private IResults what;
    
        public DataImpl(IResults what) {
            this.what = what;
        }
    
        @Override
        protected Object doInBackground(Void... params) {
            
            try {
                String url = "";
                if (what instanceof CategoriesList) {
                    url = URL + "cat";
                } else if (what instanceof StudentsList) {
                    url = URL + "students?cat=" + ((StudentsList) what).category;
                }
                String json = IOUtils.toString(new URL(url));
                fillResults(json, result, gson);
            } catch (Exception ex) {
                if (what instanceof CategoriesList) {
                    ((CategoriesList) what).exception = ex;
                } else if (what instanceof StudentsList) {
                    ((StudentsList) what).exception = ex;
                }
            }
            return what;
        }
    
        @Override
        protected void onPostExecute(Object what) {
            if (what instanceof IResults) {
                Observer observer = ((IResults) what).getObserver();
                if (observer != null) {
                    observer.update(null, what);
                }
            }
        }
    
        public static class CategoriesList extends ArrayList<Categoty> implements IResults {
            public Exception exception;
            public WeakReference<Observer> observer ;
    
            @Override
            public Observer getObserver() {
                return observer == null ? null : observable.get();
            }
        }
        public static class StudentsList extends ArrayList<Student> implements IResults {
            public Exception exception;
            public String category;
            public WeakReference<Observer> observer ;
    
            @Override
            public Observer getObserver() {
                return observer == null ? null : observable.get();
            }
        }
    
        public interface IResults {
            Observer getObserver();
        }
    
    }

    это. все. слишком. %;?ч!2!!.

    Запостил: _a_o_O, 24 Ноября 2016

    Комментарии (6) RSS

    • должен еще имплементить TableModel чтобы показывать прогресс в таблице и быть Serializable чтобы на паузу
      Ответить
    • Какая же я отвратительная и толстая, но я не могу оторваться от вашей оперативки!
      Ответить
      • вагинальный грибок твоей мамаши разъел твою оперативку, проверь
        Ответить
    • > Void... params

      Но... зачем?
      Ответить
      • Видишь, метод там переопределён. Такой интерфейс.
        Ответить

    Добавить комментарий