add a root category and all its subcategories . warning : subcategories should not be added after , this would cause the catalog to be out of sync . concode_field_sep Map<String,Product> database concode_elem_sep Category prepaidCategory concode_elem_sep List<Category> categories concode_elem_sep Map<String,Product> barcodeDb concode_elem_sep Map<Category,List<Product>> products concode_field_sep Product getProduct concode_elem_sep void addProduct concode_elem_sep void addProduct concode_elem_sep void addSubcategories concode_elem_sep int getProductCount concode_elem_sep List<Category> getRootCategories concode_elem_sep void addSubCats concode_elem_sep Catalog fromJSON concode_elem_sep Category getPrepaidCategory concode_elem_sep Product getProductByBarcode concode_elem_sep List<Category> getAllCategories concode_elem_sep List<Product> getProductLikeBarcode concode_elem_sep List<Product> getProducts
void function ( Category arg0 ) { this . categories . add ( arg0 ) ; if ( arg0 . getId ( ) . equals ( "srini_string" ) ) { this . prepaidCategory = arg0 ; } if ( ! this . products . containsKey ( arg0 ) ) { this . products . put ( arg0 , new ArrayList < Product > ( ) ) ; } this . addSubcategories ( arg0 ) ; }