diff --git a/src/main/java/org/springframework/hateoas/PagedResources.java b/src/main/java/org/springframework/hateoas/PagedResources.java index 13ecc504..f5a03699 100644 --- a/src/main/java/org/springframework/hateoas/PagedResources.java +++ b/src/main/java/org/springframework/hateoas/PagedResources.java @@ -16,6 +16,7 @@ package org.springframework.hateoas; import java.util.ArrayList; +import java.util.Arrays; import java.util.Collection; import javax.xml.bind.annotation.XmlAttribute; @@ -46,13 +47,24 @@ public class PagedResources extends Resources { } /** - * Creates a new {@link PagedResources} from the given content and {@link PageMetadata}. + * Creates a new {@link PagedResources} from the given content, {@link PageMetadata} and {@link Link}s (optional). * * @param content must not be {@literal null}. * @param metadata * @param links */ public PagedResources(Collection content, PageMetadata metadata, Link... links) { + this(content, metadata, Arrays.asList(links)); + } + + /** + * Creates a new {@link PagedResources} from the given content {@link PageMetadata} and {@link Link}s. + * + * @param content must not be {@literal null}. + * @param metadata + * @param links + */ + public PagedResources(Collection content, PageMetadata metadata, Iterable links) { super(content, links); this.metadata = metadata; } diff --git a/src/main/java/org/springframework/hateoas/Resource.java b/src/main/java/org/springframework/hateoas/Resource.java index 7d1dbeac..d60814b2 100644 --- a/src/main/java/org/springframework/hateoas/Resource.java +++ b/src/main/java/org/springframework/hateoas/Resource.java @@ -41,16 +41,26 @@ public class Resource extends ResourceSupport { } /** - * Creates a new {@link Resource} with the given content. + * Creates a new {@link Resource} with the given content and {@link Link}s (optional). * * @param content must not be {@literal null}. * @param links the links to add to the {@link Resource}. */ public Resource(T content, Link... links) { + this(content, Arrays.asList(links)); + } + + /** + * Creates a new {@link Resource} with the given content and {@link Link}s. + * + * @param content must not be {@literal null}. + * @param links the links to add to the {@link Resource}. + */ + public Resource(T content, Iterable links) { Assert.notNull(content, "Content must not be null!"); this.content = content; - this.add(Arrays.asList(links)); + this.add(links); } /** diff --git a/src/main/java/org/springframework/hateoas/Resources.java b/src/main/java/org/springframework/hateoas/Resources.java index 25a7accf..20ad93ed 100644 --- a/src/main/java/org/springframework/hateoas/Resources.java +++ b/src/main/java/org/springframework/hateoas/Resources.java @@ -48,18 +48,28 @@ public class Resources extends ResourceSupport implements Iterable { } /** - * Creates a {@link Resources} instance with the given content. + * Creates a {@link Resources} instance with the given content and {@link Link}s (optional). * * @param content must not be {@literal null}. * @param links the links to be added to the {@link Resources}. */ public Resources(Collection content, Link... links) { + this(content, Arrays.asList(links)); + } + + /** + * Creates a {@link Resources} instance with the given content and {@link Link}s. + * + * @param content must not be {@literal null}. + * @param links the links to be added to the {@link Resources}. + */ + public Resources(Collection content, Iterable links) { Assert.notNull(content); this.content = new ArrayList(); this.content.addAll(content); - this.add(Arrays.asList(links)); + this.add(links); } /**