Маршал итератор объекта с использованием JAXB - PullRequest
3 голосов
/ 08 марта 2012

У меня проблема с маршалированием итератора объектов с использованием JAXB

Класс пользователя:

@XmlRootElement(name="User")
public class User{
    private Long id;
    private String name,mailid;
    private boolean isActive;
    public Long getId() {

        return id;
    }
    public void setId(Long id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getMailid() {
        return mailid;
    }
    public void setMailid(String mailid) {
        this.mailid = mailid;
    }
    public boolean isActive() {
        return isActive;
    }
    public void setActive(boolean isActive) {
        this.isActive = isActive;
    }

}

Функция, которая возвращает итератор пользователя :

public static Iterator<User> mapDoToUserObject(DataObject dao){

    final Iterator<Row> userRow = getRow(dao,USER.TABLE);


    return new Iterator<User>() {
        @Override
        public boolean hasNext() {
            return userRow.hasNext();
        }

        @Override
        public User next() {
            Row user = userRow.next();
            User user = new User();
            user.setId((Long)user.get(USER.USER_ID));
            user.setName((String) user.get(USER.FIRST_NAME));
            user.setMailid((String)user.get(USER.EMAIL_ID));
            return user;
        }

        @Override
        public void remove() {
            throw new UnsupportedOperationException("Remove not supported");

        }
    };  
}

Как упорядочить итератор пользователей, использующих JAXB?

1 Ответ

4 голосов
/ 08 марта 2012

Вам нужно будет либо слить итератор в коллекцию, а затем упорядочить его (что является самым простым решением), либо использовать инкрементную функцию маршалинга JAXB, которая означает выполнение итерации по итератору самостоятельно и маршалинг отдельных объектов. Описание того, как это сделать, см. Может ли JAXB постепенно увеличивать объект?

...