Электронный магазин на Java и XML



         

Классы Cartltem и ShoppingCart - часть 2


public String getId(){ return id ;}

public String getName(){ return name ; }

public String getPrice() { return price ; }

public String getShippingType() { return shippingType ; }

public String getShippingValue() { return shippingValue ; }

public int getNumberOrdered(){ return numberOrdered ; }

public void setId(String s){ id = s ; }

public void setName(String s){ name = s; }

public void setPrice(String s){ price = s ;}

public void setShippingType(String s ){shippingType = s ;}

public void setShippingValue(String s) { shippingValue = s ;}

public void setNumberOrdered( int n ){ numberOrdered = n ;

System.out.println("setNumberOrdered " + n );

}

// needed for operation as a Bean

public CartItem(){

}

// constructor uses a <product> org.w3c.dom.Element

public CartItem( Element pe ){

id = pe.getAttribute("id");

NodeList nl = pe.getElementsByTagName( "name" );

name = nl.item(0).getFirstChild().getNodeValue() ;

nl = pe.getElementsByTagName( "price" );

price = nl.item(0).getFirstChild().getNodeValue() ;

nl = pe.getElementsByTagName( "shipping_info" );

Element ship = (Element) nl.item(0);

shippingType = ship.getAttribute("type");

shippingValue = ship.getAttribute("value"); // may be ""

}

// handy for debugging

public String toString() {

StringBuffer sb = new StringBuffer("CartItem name:");

sb.append( name ); sb.append(" numberOrdered: ");

sb.append( Integer.toString( numberOrdered ));

return sb.toString();

}

}

Класс ShoppingCart достаточно прост, так как все, что от него требуется, — манипулирование объектами класса Cartltem. Как показано в листинге 4.2, мы храним ссылки на объекты Cartltem в двух местах — Vector и HashTable. Причина этого заключается в том, что порядок размещения ссылок в объекте HashTable непредсказуем и может меняться по мере добавления новых товаров. Представляется разумным хранить эти ссылки в предсказуемой и воспроизводимой последовательности в объекте Vector и в то же время иметь возможность доступа к товарам по их идентификаторам через хэш-таблицу.




Содержание  Назад  Вперед