MultiField.java :  » UnTagged » ull-etsii-geobloc » com » geobloc » xml » Android Open Source

Android Open Source » UnTagged » ull etsii geobloc 
ull etsii geobloc » com » geobloc » xml » MultiField.java
/**
 * 
 */
package com.geobloc.xml;

import java.util.ArrayList;
import java.util.List;

import org.xmlpull.v1.XmlSerializer;

/**
 * A class which can hold several fields inside, used to represent fields of the same object to be represented.
 * 
 * @author Dinesh Harjani (goldrunner192287@gmail.com)
 *
 */
public class MultiField implements IField {

  private List<IField> fields;
  private String tag;
  
  public MultiField() {
    fields = new ArrayList<IField>();
    tag = "No tag";
  }
  
  public MultiField(String tag) {
    fields = new ArrayList<IField>();
    setFieldTag(tag);
  }
  
  public String getFieldTag() {
    return tag;
  }

  public void setFieldTag(String tag) {
    this.tag = tag;    
  }  
  
  public void addField(IField field) {
    fields.add(field);
  }
  
  public void removeField(IField field) {
    fields.remove(field);
  }
  
  public List<IField> getFields() {
    return fields;
  }

  public void setFields(List<IField> fields) {
    this.fields = fields;
  }

  public void toXML(XmlSerializer serializer) {
    try {
      serializer.startTag("", this.getFieldTag());
      //serializer.attribute("", "number", String.valueOf(fields.size()));
      serializer.text("\n");
      for (IField field : fields) {
        // NOTE: Each IField should indent according to depth
        serializer.text(IField.__IFIELD_IDENTATION__);
        field.toXML(serializer);
      }
      serializer.endTag("", this.getFieldTag());
      serializer.text("\n");
    }
    catch (Exception e) {
      throw new RuntimeException(e);
    }
  }

}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.