/*
   * (non-Javadoc)
   * @see org.springframework.data.rest.core.mapping.ResourceMapping#getRel()
   */
  @Override
  public String getRel() {

    if (annotation == null || !StringUtils.hasText(annotation.rel())) {
      return relProvider.getCollectionResourceRelFor(type);
    }

    return annotation.rel();
  }
  /*
   * (non-Javadoc)
   * @see org.springframework.data.rest.core.mapping.ResourceMapping#getPath()
   */
  @Override
  public Path getPath() {

    String path = annotation == null ? null : annotation.path().trim();
    path = StringUtils.hasText(path) ? path : getDefaultPathFor(type);
    return new Path(path);
  }
    /*
     * (non-Javadoc)
     * @see org.springframework.data.rest.core.mapping.ResourceMapping#isExported()
     */
    @Override
    public Boolean isExported() {

      if (typeMapping == null) {
        return false;
      }

      return !typeMapping.isExported() ? false : annotation == null ? true : annotation.exported();
    }
 /*
  * (non-Javadoc)
  * @see org.springframework.data.rest.core.mapping.ResourceMapping#getRel()
  */
 @Override
 public String getRel() {
   return annotation != null && StringUtils.hasText(annotation.rel())
       ? annotation.rel()
       : property.getName();
 }
 /*
  * (non-Javadoc)
  * @see org.springframework.data.rest.core.mapping.ResourceMapping#getPath()
  */
 @Override
 public Path getPath() {
   return annotation != null && StringUtils.hasText(annotation.path())
       ? new Path(annotation.path())
       : new Path(property.getName());
 }
 /*
  * (non-Javadoc)
  * @see org.springframework.data.rest.core.mapping.ResourceMapping#isExported()
  */
 @Override
 public Boolean isExported() {
   return annotation == null ? Modifier.isPublic(type.getModifiers()) : annotation.exported();
 }