diff options
Diffstat (limited to 'sca-java-1.x/trunk/samples/store-android/src/services/atom/xml/CartItemHandler.java')
-rw-r--r-- | sca-java-1.x/trunk/samples/store-android/src/services/atom/xml/CartItemHandler.java | 142 |
1 files changed, 142 insertions, 0 deletions
diff --git a/sca-java-1.x/trunk/samples/store-android/src/services/atom/xml/CartItemHandler.java b/sca-java-1.x/trunk/samples/store-android/src/services/atom/xml/CartItemHandler.java new file mode 100644 index 0000000000..ed29839795 --- /dev/null +++ b/sca-java-1.x/trunk/samples/store-android/src/services/atom/xml/CartItemHandler.java @@ -0,0 +1,142 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package services.atom.xml; + +import java.util.ArrayList; +import java.util.List; + +import org.xml.sax.Attributes; +import org.xml.sax.SAXException; +import org.xml.sax.helpers.DefaultHandler; + +import android.util.Log; + +import services.Item; + + +/** + * @author Lookouster + * + */ +public class CartItemHandler extends DefaultHandler { + + private boolean in_entry = false; + private boolean in_id = false; + private boolean in_title = false; + private boolean in_content=false; + private boolean in_item=false; + private boolean in_link=false; + private boolean in_name=false; + private boolean in_price=false; + private String currentKey,currentName,currentPrice; + private List<Item> items=new ArrayList<Item>(); + + /** + * @return the currentName + */ + public String getCurrentName() { + return currentName; + } + + + /** + * @return the currentPrice + */ + public String getCurrentPrice() { + return currentPrice; + } + + + public void startElement(String namespaceURI, String localName, String qName, Attributes atts) throws SAXException { + if (localName.equalsIgnoreCase("entry")) { + this.in_entry = true; + } else if (localName.equalsIgnoreCase("id")) { + this.in_id = true; + } else if (localName.equalsIgnoreCase("title")) { + this.in_title = true; + } else if (localName.equalsIgnoreCase("content")) { + this.in_content = true; + } else if (localName.equalsIgnoreCase("item")) { + this.in_item = true; + } else if (localName.equals("link")) { + this.in_link = true; + } else if (localName.equalsIgnoreCase("name")) { + this.in_name = true; + } else if (localName.equalsIgnoreCase("price")) { + this.in_price = true; + } + } + + + public void endElement(String namespaceURI, String localName, String qName) throws SAXException { + if (localName.equalsIgnoreCase("id")) + this.in_id = false; + if (localName.equalsIgnoreCase("entry")) { + this.in_entry = false; + } else if (localName.equalsIgnoreCase("id")) { + this.in_id = false; + } else if (localName.equalsIgnoreCase("title")) { + this.in_title = false; + } else if (localName.equalsIgnoreCase("content")) { + this.in_content = false; + } else if (localName.equalsIgnoreCase("item")) { + this.in_item = false; + items.add(new Item(currentName, currentPrice, currentKey)); + } else if (localName.equalsIgnoreCase("link")) { + this.in_link = false; + } else if (localName.equalsIgnoreCase("name")) { + this.in_name = false; + } else if (localName.equalsIgnoreCase("price")) { + this.in_price = false; + } + } + + + public void characters(char ch[], int start, int length) { + if (this.in_id) { + if (this.in_entry) { + currentKey = new String(ch, start, length); + Log.e("kjhkh", currentKey); + } + + } + if (this.in_name) { + currentName = new String(ch, start, length); + } + if (this.in_price) { + currentPrice = new String(ch, start, length); + } + + } + + /** + * @return the key + */ + public String getCurrentKey() { + return currentKey; + } + + public Item[] getItemsCollection() + { + return items.toArray(new Item[items.size()]); + } + + + +} |