Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * This library is free software; you can redistribute it and/or modify it under the terms of
   * the GNU Lesser General Public License as published by the Free Software Foundation;
   * either version 2.1 of the License, or (at your option) any later version.
   * 
   * This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
   * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
   * PURPOSE. See the GNU Lesser General Public License for more details.
   * 
  * You should have received a copy of the GNU Lesser General Public License along with this
  * library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
  * Boston, MA 02110-1301 USA
  */
 package com.restfully.shop.domain;
 

Author(s):
Bill Burke
Version:
$Revision: 1 $
 
 @XmlRootElement(name = "link")
 public class Link
 {
    protected String relationship;
    protected String href;
    protected String type;
 
    public Link()
    {
    }
 
    public Link(String relationshipString hrefString type)
    {
       this. = relationship;
       this. = href;
       this. = type;
    }
 
    @XmlAttribute(name = "rel")
    public String getRelationship()
    {
       return ;
    }
 
    public void setRelationship(String relationship)
    {
       this. = relationship;
    }
 
    public String getHref()
    {
       return ;
    }
 
    public void setHref(String href)
    {
       this. = href;
    }
 
    public String getType()
    {
       return ;
    }
 
    public void setType(String type)
    {
       this. = type;
    }

   
To write as link header

Returns:
 
    public String toString()
    {
       StringBuilder builder = new StringBuilder("<");
       builder.append().append(">; rel=").append();
       if ( != nullbuilder.append("; type=").append();
       return builder.toString();
    }
 
    private static Pattern parse = Pattern.compile("<(.+)>\\s*;\\s*(.+)");

   
For unmarshalling Link Headers. Its not an efficient or perfect algorithm and does make a few assumptiosn

Parameters:
val
Returns:
 
    public static Link valueOf(String val)
   {
      Matcher matcher = .matcher(val);
      if (!matcher.matches()) throw new RuntimeException("Failed to parse link: " + val);
      Link link = new Link();
      link.href = matcher.group(1);
      String[] props = matcher.group(2).split(";");
      HashMap<StringStringmap = new HashMap();
      for (String prop : props)
      {
         String[] split = prop.split("=");
         map.put(split[0].trim(), split[1].trim());
      }
      if (map.containsKey("rel"))
      {
         link.relationship = map.get("rel");
      }
      if (map.containsKey("type"))
      {
         link.type = map.get("type");
      }
      return link;
   }
New to GrepCode? Check out our FAQ X