[Java lista] JAXB binding

Böszörményi Péter zmblevlist at gmail.com
2009. Júl. 24., P, 12:46:25 CEST


Udv a listanak!

Rss feedekhez akarok bindingot csinalni, hogy felolvashassak (es  
menthessek) rss feedeket. A dolog latszolag nem nagy kunszt:

@XmlRootElement(name="rss")
public class RssChannel implements XmlFeed {
	@XmlAttribute
	private final String version = "2.0";

	@XmlElement
	private InnerChannel channel;

	RssChannel() {
		channel = new InnerChannel();
	}

	public RssChannel(String title, String link, String description) {
		channel = new InnerChannel(title, link, description);
	}

	public void addXmlEntry(Object entry) {
		channel.add((RssChannelEntry)entry);
	}

	public int getItemCount() {
		return channel.size();

	}

}

public class InnerChannel {
	@XmlElement
	private String title;

	@XmlElement
	private String link;

	@XmlElement
	private String description;

	@XmlElement(name="item")
	private List<RssChannelEntry> entries = new LinkedList<RssChannelEntry>();


	InnerChannel() {

	}

	public InnerChannel(String title, String link, String description) {
		this.title = title;
		this.link = link;
		this.description = description;
	}


	public void add(RssChannelEntry entry) {
		entries.add(entry);

	}

	public int size() {
		return entries.size();
	}

}

public class RssChannelEntry {
	private String title;
	private String description;
	private String link;
	private String guid;
	private Date publishDate;

	RssChannelEntry() {

	}

	public RssChannelEntry(String title, String description, String link,  
Date publishDate) {

	}

}

Csak egy nagyon randa dolog van benne: az InnerChannel. Ugyebar egy feed  
felepitese kb ilyen:
<rss version="2.0">
   <channel>
     <title />
     <desc />
     <item />
     <item />
   </channel>
</rss>

Itt a channel tagnak (legalabbis http://cyber.law.harvard.edu/rss/rss.html  
szerint) semmi funkcioja nincs, de a JAXB-al csak a fent emlitett modon  
lehet osszehozni ezt a strukturat. Nem lehet valahogy elmagyarazni neki, h  
automatice rakja a channel taget, es nekem csak RssChannel es  
RssChannelEntry osztalyokkal kelljen foglalkoznom?

-- 
Üdvözlettel,
Böszörményi Péter


További információk a(z) Javalist levelezőlistáról