Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  package fr.vidal.oss.jaxb.atom.core;
  
  import static fr.vidal.oss.jaxb.atom.core.Preconditions.checkState;
  import static java.util.Collections.unmodifiableCollection;
  
  import java.util.Date;
  import java.util.Objects;
 
 @XmlRootElement(name = "feed")
 @XmlType(propOrder = {"title""subtitle""links""id""author""updateDate""additionalElements""entries"})
 public class Feed {
 
     @XmlElement(name = "link", required = true)
     private final Collection<Linklinks;
     @XmlElement(name = "title", required = true)
     private final String title;
     @XmlElement(name = "subtitle")
     private final String subtitle;
     @XmlElement(name = "id", required = true)
     private final String id;
     @XmlElement(name = "updated", required = true)
     private final Date updateDate;
     @XmlElement(name = "author")
     private final Author author;
     @XmlAnyElement
     private final Collection<SimpleElementadditionalElements;
     @XmlElement(name = "entry")
     private final Collection<Entryentries;
 
     @SuppressWarnings("unused")
     private Feed() {
         this(builder());
     }
 
     private Feed(Builder builder) {
          = builder.links;
          = builder.title;
          = builder.subtitle;
          = builder.id;
          = builder.updateDate;
          = builder.author;
          = builder.additionalElements;
          = builder.entries;
     }
 
     public static Builder builder() {
         return new Builder();
     }
 
     public String getTitle() {
         return ;
     }
 
     public String getSubtitle() {
         return ;
     }
 
     public String getId() {
         return ;
     }
 
     public Date getUpdateDate() {
         return ;
     }
 
     public Author getAuthor() {
         return ;
     }
 
     public Collection<LinkgetLinks() {
         return unmodifiableCollection();
     }
 
     public Collection<EntrygetEntries() {
         return unmodifiableCollection();
     }
 
         return unmodifiableCollection();
     }
 
     @Override
     public int hashCode() {
         return Objects.hash();
     }
 
     @Override
     public boolean equals(Object obj) {
         if (this == obj) {
             return true;
         }
         if (obj == null || getClass() != obj.getClass()) {
             return false;
        }
        final Feed other = (Feedobj;
        return Objects.equals(this.other.id);
    }
    @Override
    public String toString() {
        return "Feed{" +
            "links=" +  +
            ", title='" +  + '\'' +
            ", subtitle='" +  + '\'' +
            ", id='" +  + '\'' +
            ", updateDate=" +  +
            ", author=" +  +
            ", additionalElements=" +  +
            ", entries=" +  +
            '}';
    }
    public static class Builder {
        private String title;
        private String subtitle;
        private String id;
        private Date updateDate;
        private Author author;
        private Collection<Linklinks = new LinkedHashSet<>();
        private Collection<SimpleElementadditionalElements = new LinkedHashSet<>();
        private Collection<Entryentries = new LinkedHashSet<>();
        private Builder() {
        }
        public Builder withTitle(String title) {
            this. = title;
            return this;
        }
        public Builder withId(String id) {
            this. = id;
            return this;
        }
        public Builder withSubtitle(String subtitle) {
            this. = subtitle;
            return this;
        }
        public Builder withAuthor(Author author) {
            this. = author;
            return this;
        }
        public Builder withUpdateDate(Date updateDate) {
            this. = updateDate;
            return this;
        }
        public Builder addLink(Link link) {
            this..add(link);
            return this;
        }
        public Builder addSimpleElement(SimpleElement simpleElement) {
            this..add(simpleElement);
            return this;
        }
        public Builder addEntry(Entry entry) {
            this..add(entry);
            return this;
        }
        public Feed build() {
            checkState( != null"title is mandatory");
            checkState( != null"id is mandatory");
            checkState( != null"updateDate is mandatory");
            checkState(!.isEmpty(), "links cannot be empty");
            return new Feed(this);
        }
    }
New to GrepCode? Check out our FAQ X