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

       

Методы, вызываемые методом doFullItem


Теперь рассмотрим методы, которые используются для полного описания товара. Эти методы, приведенные в листинге 4.18, вызываются методом doFullItem класса CatalogBean.

Листинг 4.18. Методы, используемые для полного описания товара (Product Formatter.java)

public String doImageTag( Element el ){

NodeList nl = el.getElementsByTagName( "image" );

int ct = nl.getLength();

if( ct == 0 ) { return null ;

}

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

StringBuffer sb = new StringBuffer( );

addText( sb, "image", img );

return sb.toString();

}



// element is the complete product

public String doProdName( Element el ){

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

if( nl.getLength() == 0 ) return "";

StringBuffer sb = new StringBuffer( );

sb.append( "<span class=\"");

sb.append( "ch3" ); sb.append("\">");

addText( sb, "prname", (Element)nl.item(0) );

sb.append( " </span><br />");

return sb.toString();

}

// element is the complete product

public String doAuthorArtist( Element el ){

NodeList unl = el.getElementsByTagName( "author" );

NodeList rnl = el.getElementsByTagName( "artist" );

if( rnl.getLength() == 0 &&

unl.getLength() == 0 ) return "";

StringBuffer sb = new StringBuffer( );

int i ;

int ct = rnl.getLength();

if( ct > 0 ){

sb.append("<span class=\"au1\" >" );

if( ct == 1 ) sb.append( "<i>Artist:</i> " );

else sb.append("<i>Artists:>/i> ");

for( i = 0 ; i < ct ; i++ ){

addText( sb, "artist",(Element) rnl.item(i) );

if( ct > 1 && ( i + 1) < ct ) sb.append(", ");

}

sb.append("<br />");

}

ct = unl.getLength();

if( ct > 0 ){

sb.append("<span class=\"au1\" >" );

if( ct == 1 ) sb.append( "<i>Author:</i> " );

else sb.append("<i>Authors:</i> ");


for( i = 0 ; i < unl.getLength() ; i++ ){

addText( sb, "author",(Element) unl.item(i) );

if( ct > 1 && ( i + 1) < ct ) sb.append(", ");

}

sb.append("<br />");

}

return sb.toString();

}

// element is the complete product

public String doDescription( Element el ){

NodeList nl = el.getElementsByTagName( "description" );

if( nl.getLength() == 0 ) return "No Description Available";

StringBuffer sb = new StringBuffer( );

addText( sb, "description",(Element) nl.item(0) );

return sb.toString();

}

public String doPrice( Element el ){

NodeList nl = el.getElementsByTagName( "price" );

if( nl.getLength() == 0 ) return "Contact XMLgifts";

StringBuffer sb = new StringBuffer( );

addText( sb, "price", el );

return sb.toString();

}






Содержание раздела