Скачиваний:
61
Добавлен:
15.06.2014
Размер:
4.91 Кб
Скачать
package datacontainers;

import java.util.Collections;
import java.util.Iterator;
import java.util.LinkedList;

import products.BaseProduct;
import sorting.SortingByMakerMail;
import sorting.SortingByMakerSite;
import sorting.SortingByName;
import sorting.SortingByNumber;
import sorting.SortingByPrice;
import sorting.SortingByType;
import sorting.SortingByWeight;

public class BaseProductContainer extends BaseContainer {
//queue with list of BaseProduct elements
private LinkedList<BaseProduct> baseproductcontainer = new LinkedList<BaseProduct>();

//get the number of products
public int getSize() {
return baseproductcontainer.size();
}

public BaseProductContainer() {
}

public BaseProductContainer(BaseProductContainer container) {
for(Iterator<BaseProduct> iterator = container.getAllListOfProducts().iterator();iterator.hasNext();) {
BaseProduct baseproduct = (BaseProduct)iterator.next();
baseproductcontainer.add(baseproduct);
}
}
//method for adding element into BaseProductContainer
public void addElement(BaseProduct product) {
baseproductcontainer.add(product);
}

//get element with deleting
public BaseProduct getElementWithPopping() {
//check there if no elements i nlinked list
//if LinkedList is empty
if(baseproductcontainer.isEmpty())
//return empty BaseProduct that was created by base constructor
return new BaseProduct();
return baseproductcontainer.pop();
}

//get all list of products
public LinkedList<BaseProduct> getAllListOfProducts() {
return baseproductcontainer;
}

//method for showing all elements into console
public void showInConsole() {
for(Iterator<BaseProduct> iterator = baseproductcontainer.iterator();iterator.hasNext();) {
BaseProduct baseproduct = (BaseProduct)iterator.next();
baseproduct.showInConsole();
System.out.println();
}
}

//method for deleting all elements from BaseProduct object
public void deleteAll() {
baseproductcontainer.removeAll(baseproductcontainer);
}

//method for sorting by name
public void sortingByName() {
SortingByName comp = new SortingByName();
Collections.sort(baseproductcontainer, comp);
}

//method for sorting by country
public void sortingByCountry() {
SortingByName comp = new SortingByName();
Collections.sort(baseproductcontainer,comp);
}

//method for sorting by type
public void sortingByType() {
SortingByType comp = new SortingByType();
Collections.sort(baseproductcontainer,comp);
}

//method for sorting by maker site
public void sortingByMakerSite() {
SortingByMakerSite comp = new SortingByMakerSite();
Collections.sort(baseproductcontainer,comp);
}

//method for sorting by number
public void sortingByNumber() {
SortingByNumber comp = new SortingByNumber();
Collections.sort(baseproductcontainer,comp);
}

//method for sorting by maker mail
public void sortingByMakerMail() {
SortingByMakerMail comp = new SortingByMakerMail();
Collections.sort(baseproductcontainer,comp);
}

//method for sorting by price
public void sortingByPrice() {
SortingByPrice comp = new SortingByPrice();
Collections.sort(baseproductcontainer,comp);
}

//method for sorting by weight
public void sortingByWeight() {
SortingByWeight comp = new SortingByWeight();
Collections.sort(baseproductcontainer,comp);
}

//method for searching by name and deleting element
public void searchAndDelete(String inp_name) {
int position = 0;
for(Iterator<BaseProduct> iterator = baseproductcontainer.iterator();iterator.hasNext();) {
BaseProduct baseproduct = (BaseProduct)iterator.next();
if(inp_name.equals(baseproduct.getBaseProductName())) {
baseproductcontainer.remove(position);
return;
}
position++;
}
}

public void searchandEditNumber(String name,String number) {
for(Iterator<BaseProduct> iterator = baseproductcontainer.iterator();iterator.hasNext();) {
BaseProduct baseproduct = (BaseProduct)iterator.next();
if(name.equals(baseproduct.getBaseProductName())) {
baseproduct.setBaseProductNumber(number);
break;
}
}
}

public boolean searchByName(String name) {
for(Iterator<BaseProduct> iterator = baseproductcontainer.iterator();iterator.hasNext();) {
BaseProduct baseproduct = (BaseProduct)iterator.next();
if(name.equals(baseproduct.getBaseProductName()))
return true;
}
return false;
}

public String searchAndGetNumber(String name) {
for(Iterator<BaseProduct> iterator = baseproductcontainer.iterator();iterator.hasNext();) {
BaseProduct baseproduct = (BaseProduct)iterator.next();
if(name.equals(baseproduct.getBaseProductName()))
return baseproduct.getBaseProductNumber();
}
return ""; //empty string return but it can't to be
}

}






Соседние файлы в папке datacontainers