users@jersey.java.net

Returning Heterogeneous Collections?

From: Tom Davies <tom_at_atlassian.com>
Date: Tue, 15 Apr 2008 14:19:18 +1000

Hi,

I have the following code:

public class RestRepositoryService {
     private RepositoryService repositoryService;

     @XmlRootElement
     public static class Repositories {
         public List<RepositoryData> repoData = null;

         public Repositories() {
         }

         public Repositories(List<RepositoryData> allRepos) {
             this.repoData = allRepos;
         }
     }
        ...
     @GET
     public Repositories getAllRepositories() {
         return new
Repositories(getRepositoryService().getRepositories()); // this is a
list of SvnRepositoryData and CvsRepositoryData instances
     }

and a class hierarchy:

SvnRepositoryData extends RepositoryData
CvsRepositoryData extends RepositoryData

The XML returned by getAllRepositories contains only the properties
declared in RepositoryData.

I'd like to render properties as XML based on the concrete type of
each object in the list,

1) Is this the correct RESTful way to go?
2) How can I do it in Jersey?

Thanks,
   Tom


--
ATLASSIAN - http://www.atlassian.com
Our products help over 8,500 customers in more than 95 countries to  
collaborate