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



         

Класс ProductFormatter


Мы добавили множество методов в класс ProductFormatter, описанный в главе 3. Вообще говоря, эти методы просто расширяют те возможности, которыми уже обладал этот класс. В листинге 4.16 показаны статические переменные, которые определяют два различных стиля. «Краткий» (short) стиль используется для отображения списков товаров (всего каталога или одной серии), а полный (full) стиль используется в методе doFullItem класса CatalogBean для отображения полной информации об одном товаре. Также мы создали коллекцию fieldHash, которая связывает названия товаров с целочисленными константами.

Листинг 4.16. Статические переменные класса ProductFormatter (ProductFormatter.java)

package com.XmlEcomBook.catalog;

import java.util.* ;

import java.io.* ;

import org.xml.sax.* ;

import org.w3c.dom.* ;

public class ProductFormatter

{

static String brcrlf = "<br />\r\n" ; // xhtml style br

static String[] shortEl = { "prname", "price" // for product name

};

static String[] shortSt = { "ch3", "ch4"

};

// as used in doListOutput

static String[] fullEl = { "prname",

"author","artist","description",

"price" // for product name

};

static String[] fullSt = { "ch3",

"au1", "au1", "ch4", "ch4"

};

static Hashtable fieldHash ;

// field names for lookup

static String[] fields = { "id", "keywords",

"prname", "price", "author", "artist", "description",

"image", "caption", "quantity_in_stock", "onsale_date",

"shipping_info"

} ;

static { fieldHash = new Hashtable() ;

for( int i = 0 ; i < fields.length ; i++ ){

fieldHash.put( fields[i], new Integer( i ) );

}

}

В листинге 4.17 показано начало кода для методов и переменных экземпляра и конструктора ProductFormatter. Заметим, что конструктор задает формат в соответствии с переданной ему переменной frmt, которая может принимать значение "short" или "full".




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