package com.sissi.protocol.iq.vcard.field; import java.util.List; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlElements; import javax.xml.bind.annotation.XmlRootElement; import com.sissi.field.Field; import com.sissi.field.Fields; import com.sissi.field.impl.BeanFields; import com.sissi.io.read.Collector; import com.sissi.io.read.Metadata; import com.sissi.protocol.iq.vcard.VCard; /** * @author kim 2013年12月5日 */ @Metadata(uri = VCard.XMLNS, localName = Photo.NAME) @XmlRootElement(name = Photo.NAME) public class Photo implements Field<String>, Collector { public final static String NAME = "PHOTO"; private final BeanFields fields = new BeanFields(false); public Photo() { } public Photo(String type, String binval) { this(); this.fields.add(new Type(type)).add(new Binval(binval)); } public void set(String localName, Object ob) { this.fields.add(Field.class.cast(ob)); } @Override public String getName() { return NAME; } @XmlElements({ @XmlElement(name = Type.NAME, type = Type.class), @XmlElement(name = Binval.NAME, type = Binval.class) }) public List<Field<?>> getFields() { return this.fields.getFields(); } @Override public String getValue() { return null; } @Override public Fields getChildren() { return this.fields; } @Override public boolean hasChild() { return true; } }