ItemDatabaseHelper.java to correct style, add methods to collect OccasionMatchingRecord, PairMatchingRecord, ColorMatchingRecord, clean top and bottom. OccasionMatchingRecord.java to getPoint based on OccasionEnum. OutfitActivity.java, strings.xml to use the newly added matching algorithm instead of the default random matching, implement prev and next buttons. ClothesMatchingFactory.java, ClothesMatchingFactoryMale.java, ClothesMatchingComponentFactory.java, ClothesMatchingComponentFactoryMale.java, ClothesMatching.java, ClothesMatchingMale.java, ColorMatching.java, ColorMatchingDefault.java, OccasionMatching.java, OccasionMatchingMale.java, PairMatching.java, PairMatchingMale.java, PairMatchingFemale.java to implement the abstract factory patter based on the example in the HFDP book. ClothesMatching.java uses the template method pattern. ItemDataOccasion.java, OccasionEnum.java, Outfit.java to hold the result after the matching process. ocassionmatchingmalestripped.csv to add the missing style for Male.