Resource.java

  1. package org.jbehave.core.io.rest;

  2. import static org.apache.commons.lang3.StringUtils.isNotBlank;
  3. import static org.apache.commons.lang3.StringUtils.substringAfterLast;

  4. import java.util.List;

  5. import org.apache.commons.lang3.builder.ToStringBuilder;
  6. import org.apache.commons.lang3.builder.ToStringStyle;

  7. /**
  8.  * Represents a resource retrieved from a REST API.
  9.  */
  10. public class Resource {

  11.     private final String uri;
  12.     private final String name;
  13.     private final String parentName;
  14.     private List<String> breadcrumbs;
  15.     private String content;
  16.     private String syntax;

  17.     public Resource(String uri) {
  18.         this(uri, substringAfterLast(uri, "/"));
  19.     }

  20.     public Resource(String uri, String name) {
  21.         this(uri, name, null);
  22.     }

  23.     public Resource(String uri, String name, String parentName) {
  24.         this.uri = uri;
  25.         this.name = name;
  26.         this.parentName = parentName;
  27.     }

  28.     public String getURI() {
  29.         return uri;
  30.     }

  31.     public String getName() {
  32.         return name;
  33.     }

  34.     public String getParentName() {
  35.         return parentName;
  36.     }

  37.     public boolean hasParent() {
  38.         return parentName != null;
  39.     }

  40.     public List<String> getBreadcrumbs() {
  41.         return breadcrumbs;
  42.     }

  43.     public void setBreadcrumbs(List<String> breadcrumbs) {
  44.         this.breadcrumbs = breadcrumbs;
  45.     }

  46.     public boolean hasBreadcrumbs() {
  47.         return breadcrumbs != null && !breadcrumbs.isEmpty();
  48.     }

  49.     public void setContent(String content) {
  50.         this.content = content;
  51.     }

  52.     public String getContent() {
  53.         return content;
  54.     }

  55.     public boolean hasContent() {
  56.         return isNotBlank(content);
  57.     }

  58.     public String getSyntax() {
  59.         return syntax;
  60.     }

  61.     public void setSyntax(String syntax) {
  62.         this.syntax = syntax;
  63.     }

  64.     public boolean hasSyntax() {
  65.         return isNotBlank(syntax);
  66.     }

  67.     public String toString() {
  68.         return ToStringBuilder.reflectionToString(this, ToStringStyle.SHORT_PREFIX_STYLE);
  69.     }

  70. }