// Path: src/main/java/com/readytalk/swt/text/tokenizer/TextToken.java
// public class TextToken {
//   
//   private TextType type;
//   private String text;
//   private URL url;
// 
//   /**
//    * Creates a new TextToken of the given type to describe the given text.
//    * 
//    * @param type : {@link TextType}
//    * @param text : {@link String}
//    */
//   public TextToken(final TextType type, final String text) {
//     this.type = type;
//     this.text = text;
//   }
// 
//   /**
//    * Sets the TextType of this TextToken.
//    * 
//    * @param type : {@link TextType}
//    * @return {@link TextToken}
//    */
//   public TextToken setType(final TextType type) {
//     this.type = type;
//     return this;
//   }
// 
//   /**
//    * Sets the text of this TextToken.
//    * 
//    * @param text : {@link String}
//    * @return {@link TextToken}
//    */
//   public TextToken setText(final String text) {
//     this.text = text;
//     return this;
//   }
//   
//   /**
//    * Set the URL that this token represents, if any.
//    * 
//    * @param url : {@link URL}
//    * @return {@link TextToken}
//    */
//   public TextToken setUrl(final URL url) {
//     this.url = url;
//     return this;
//   }
// 	
//   /**
//    * Returns the TextType of this token.
//    * @return {@link TextType}}
//    */
//   public TextType getType() {
//     return type;
//   }
// 	
//   /**
//    * Returns the String this token represents.
//    * @return {@link String}
//    */
//   public String getText() {
//     return text;
//   }
// 	
//   /**
//    * Returns the URL this token represents, if any.
//    * @return {@link URL}
//    */
//   public URL getURL() {
//     return url;
//   } 
// 
//   @Override
//   public String toString() {
//     return this.type + " :: " + this.text
//          + (url != null ? " {url -> " + url + "}" : "");
//   }
// }


import java.net.URL;
import org.eclipse.swt.graphics.Rectangle;
import com.readytalk.swt.text.tokenizer.TextToken;
package com.readytalk.swt.text.navigation;




/**
 * Hyperlink is a class representing a section of clickable text.  It is a
 * composite of a Token, representing a URL, and a rectangular boundary.  
 */
public class Hyperlink {
	private TextToken token;
	private Rectangle bounds;
	
	/**
	 * Creates a Hyperlink with the given token and visual boundary.
	 * 
	 * @param token : {@link TextToken}
	 * @param bounds : {@link Rectangle}
	 */
	public Hyperlink(final TextToken token, final Rectangle bounds) {
// Path: src/main/java/com/readytalk/swt/text/tokenizer/TextToken.java
// public class TextToken {
//   
//   private TextType type;
//   private String text;
//   private URL url;
// 
//   /**
//    * Creates a new TextToken of the given type to describe the given text.
//    * 
//    * @param type : {@link TextType}
//    * @param text : {@link String}
//    */
//   public TextToken(final TextType type, final String text) {
//     this.type = type;
//     this.text = text;
//   }
// 
//   /**
//    * Sets the TextType of this TextToken.
//    * 
//    * @param type : {@link TextType}
//    * @return {@link TextToken}
//    */
//   public TextToken setType(final TextType type) {
//     this.type = type;
//     return this;
//   }
// 
//   /**
//    * Sets the text of this TextToken.
//    * 
//    * @param text : {@link String}
//    * @return {@link TextToken}
//    */
//   public TextToken setText(final String text) {
//     this.text = text;
//     return this;
//   }
//   
//   /**
//    * Set the URL that this token represents, if any.
//    * 
//    * @param url : {@link URL}
//    * @return {@link TextToken}
//    */
//   public TextToken setUrl(final URL url) {
//     this.url = url;
//     return this;
//   }
// 	
//   /**
//    * Returns the TextType of this token.
//    * @return {@link TextType}}
//    */
//   public TextType getType() {
//     return type;
//   }
// 	
//   /**
//    * Returns the String this token represents.
//    * @return {@link String}
//    */
//   public String getText() {
//     return text;
//   }
// 	
//   /**
//    * Returns the URL this token represents, if any.
//    * @return {@link URL}
//    */
//   public URL getURL() {
//     return url;
//   } 
// 
//   @Override
//   public String toString() {
//     return this.type + " :: " + this.text
//          + (url != null ? " {url -> " + url + "}" : "");
//   }
// }


// Path: src/main/java/com/readytalk/swt/text/navigation/Hyperlink.java
import java.net.URL;
import org.eclipse.swt.graphics.Rectangle;
import com.readytalk.swt.text.tokenizer.TextToken;

package com.readytalk.swt.text.navigation;




/**
 * Hyperlink is a class representing a section of clickable text.  It is a
 * composite of a Token, representing a URL, and a rectangular boundary.  
 */
public class Hyperlink {
	private TextToken token;
	private Rectangle bounds;
	
	/**
	 * Creates a Hyperlink with the given token and visual boundary.
	 * 
	 * @param token : {@link TextToken}
	 * @param bounds : {@link Rectangle}
	 */
	public Hyperlink(final TextToken token, final Rectangle bounds) {
		this.token = token;