Browse files

Merge branch 'master' into gh-pages

  • Loading branch information...
2 parents 59a1532 + 9cf078b commit 810ad91f5a57ecc0d315e6bd19bf41c675d1200e Matt Sanford committed Aug 19, 2010
Showing with 862 additions and 70 deletions.
  1. +23 −2 build.xml
  2. BIN dist/lib/twitter-text-1.1.4.jar
  3. BIN dist/lib/twitter-text-1.1.7.jar
  4. +4 −2 docs/api/allclasses-frame.html
  5. +4 −2 docs/api/allclasses-noframe.html
  6. +2 −2 docs/api/com/twitter/Autolink.html
  7. +392 −0 docs/api/com/twitter/Extractor.Entity.html
  8. +45 −6 docs/api/com/twitter/Extractor.html
  9. +4 −4 docs/api/com/twitter/HitHighlighter.html
  10. +2 −2 docs/api/com/twitter/Regex.html
  11. +2 −2 docs/api/com/twitter/class-use/Autolink.html
  12. +180 −0 docs/api/com/twitter/class-use/Extractor.Entity.html
  13. +2 −2 docs/api/com/twitter/class-use/Extractor.html
  14. +2 −2 docs/api/com/twitter/class-use/HitHighlighter.html
  15. +2 −2 docs/api/com/twitter/class-use/Regex.html
  16. +4 −2 docs/api/com/twitter/package-frame.html
  17. +6 −2 docs/api/com/twitter/package-summary.html
  18. +3 −3 docs/api/com/twitter/package-tree.html
  19. +29 −3 docs/api/com/twitter/package-use.html
  20. +2 −2 docs/api/com/twitter/regex/Spaces.html
  21. +2 −2 docs/api/com/twitter/regex/class-use/Spaces.html
  22. +2 −2 docs/api/com/twitter/regex/package-frame.html
  23. +2 −2 docs/api/com/twitter/regex/package-summary.html
  24. +2 −2 docs/api/com/twitter/regex/package-tree.html
  25. +2 −2 docs/api/com/twitter/regex/package-use.html
  26. +2 −2 docs/api/constant-values.html
  27. +2 −2 docs/api/deprecated-list.html
  28. +2 −2 docs/api/help-doc.html
  29. +29 −2 docs/api/index-all.html
  30. +1 −1 docs/api/index.html
  31. +2 −2 docs/api/overview-frame.html
  32. +2 −2 docs/api/overview-summary.html
  33. +3 −3 docs/api/overview-tree.html
  34. +73 −0 src/com/twitter/Extractor.java
  35. +6 −3 src/com/twitter/Regex.java
  36. +1 −1 test-data/twitter-text-conformance
  37. +16 −0 tests/com/twitter/ConformanceTest.java
  38. +5 −0 tests/com/twitter/RegexTest.java
View
25 build.xml
@@ -11,7 +11,7 @@
<property name="docs" location="docs"/>
<property name="javadoc" location="docs/api"/>
<property name="dist" location="dist"/>
- <property name="jar.version" value="1.1.4" />
+ <property name="jar.version" value="1.1.7" />
<path id="jars.tests">
<pathelement location="jars/junit-4.6.jar"/>
@@ -41,7 +41,7 @@
</javac>
</target>
- <target name="test" depends="compile,compile-tests" description="Run the unit tests">
+ <target name="test" depends="compile,compile-tests" description="Run the unit and conformance tests">
<junit printsummary="yes" haltonfailure="yes">
<jvmarg value="-Dfile.encoding=UTF-8"/>
<sysproperty key="conformance.dir" value="${conformance.dir}"/>
@@ -61,6 +61,27 @@
</batchtest>
</junit>
</target>
+
+ <target name="local-test" depends="compile,compile-tests" description="Run the unit tests">
+ <junit printsummary="yes" haltonfailure="yes">
+ <jvmarg value="-Dfile.encoding=UTF-8"/>
+
+ <classpath>
+ <pathelement location="${build.tests}"/>
+ <path refid="jars.tests"/>
+ <pathelement path="${java.class.path}"/>
+ </classpath>
+
+ <formatter type="plain" usefile="false"/>
+
+ <batchtest fork="yes">
+ <fileset dir="${src.tests}">
+ <include name="**/*Test*.java"/>
+ <exclude name="**/ConformanceTest.java"/>
+ </fileset>
+ </batchtest>
+ </junit>
+ </target>
<target name="javadoc" depends="compile" description="Generate JavaDocs">
<javadoc packagenames="com.twitter.*"
View
BIN dist/lib/twitter-text-1.1.4.jar
Binary file not shown.
View
BIN dist/lib/twitter-text-1.1.7.jar
Binary file not shown.
View
6 docs/api/allclasses-frame.html
@@ -2,12 +2,12 @@
<!--NewPage-->
<HTML>
<HEAD>
-<!-- Generated by javadoc (build 1.6.0_20) on Fri Jul 09 09:37:58 PDT 2010 -->
+<!-- Generated by javadoc (build 1.6.0_20) on Thu Aug 19 10:01:14 PDT 2010 -->
<TITLE>
All Classes (Twitter Text API)
</TITLE>
-<META NAME="date" CONTENT="2010-07-09">
+<META NAME="date" CONTENT="2010-08-19">
<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
@@ -25,6 +25,8 @@
<BR>
<A HREF="com/twitter/Extractor.html" title="class in com.twitter" target="classFrame">Extractor</A>
<BR>
+<A HREF="com/twitter/Extractor.Entity.html" title="class in com.twitter" target="classFrame">Extractor.Entity</A>
+<BR>
<A HREF="com/twitter/HitHighlighter.html" title="class in com.twitter" target="classFrame">HitHighlighter</A>
<BR>
<A HREF="com/twitter/Regex.html" title="class in com.twitter" target="classFrame">Regex</A>
View
6 docs/api/allclasses-noframe.html
@@ -2,12 +2,12 @@
<!--NewPage-->
<HTML>
<HEAD>
-<!-- Generated by javadoc (build 1.6.0_20) on Fri Jul 09 09:37:58 PDT 2010 -->
+<!-- Generated by javadoc (build 1.6.0_20) on Thu Aug 19 10:01:14 PDT 2010 -->
<TITLE>
All Classes (Twitter Text API)
</TITLE>
-<META NAME="date" CONTENT="2010-07-09">
+<META NAME="date" CONTENT="2010-08-19">
<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
@@ -25,6 +25,8 @@
<BR>
<A HREF="com/twitter/Extractor.html" title="class in com.twitter">Extractor</A>
<BR>
+<A HREF="com/twitter/Extractor.Entity.html" title="class in com.twitter">Extractor.Entity</A>
+<BR>
<A HREF="com/twitter/HitHighlighter.html" title="class in com.twitter">HitHighlighter</A>
<BR>
<A HREF="com/twitter/Regex.html" title="class in com.twitter">Regex</A>
View
4 docs/api/com/twitter/Autolink.html
@@ -2,12 +2,12 @@
<!--NewPage-->
<HTML>
<HEAD>
-<!-- Generated by javadoc (build 1.6.0_20) on Fri Jul 09 09:37:57 PDT 2010 -->
+<!-- Generated by javadoc (build 1.6.0_20) on Thu Aug 19 10:01:14 PDT 2010 -->
<TITLE>
Autolink (Twitter Text API)
</TITLE>
-<META NAME="date" CONTENT="2010-07-09">
+<META NAME="date" CONTENT="2010-08-19">
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../stylesheet.css" TITLE="Style">
View
392 docs/api/com/twitter/Extractor.Entity.html
@@ -0,0 +1,392 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_20) on Thu Aug 19 10:01:14 PDT 2010 -->
+<TITLE>
+Extractor.Entity (Twitter Text API)
+</TITLE>
+
+<META NAME="date" CONTENT="2010-08-19">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Extractor.Entity (Twitter Text API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Extractor.Entity.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../com/twitter/Extractor.html" title="class in com.twitter"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../com/twitter/HitHighlighter.html" title="class in com.twitter"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../index.html?com/twitter/Extractor.Entity.html" target="_top"><B>FRAMES</B></A> &nbsp;
+&nbsp;<A HREF="Extractor.Entity.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+com.twitter</FONT>
+<BR>
+Class Extractor.Entity</H2>
+<PRE>
+java.lang.Object
+ <IMG SRC="../../resources/inherit.gif" ALT="extended by "><B>com.twitter.Extractor.Entity</B>
+</PRE>
+<DL>
+<DT><B>Enclosing class:</B><DD><A HREF="../../com/twitter/Extractor.html" title="class in com.twitter">Extractor</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public static class <B>Extractor.Entity</B><DT>extends java.lang.Object</DL>
+</PRE>
+
+<P>
+<HR>
+
+<P>
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;java.lang.Integer</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../com/twitter/Extractor.Entity.html#end">end</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;java.lang.Integer</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../com/twitter/Extractor.Entity.html#start">start</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../com/twitter/Extractor.Entity.html#type">type</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../com/twitter/Extractor.Entity.html#value">value</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../com/twitter/Extractor.Entity.html#Extractor.Entity(java.util.Map, java.lang.String)">Extractor.Entity</A></B>(java.util.Map&lt;java.lang.String,java.lang.Object&gt;&nbsp;config,
+ java.lang.String&nbsp;valueType)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructor used from conformance data</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../com/twitter/Extractor.Entity.html#Extractor.Entity(java.util.regex.Matcher, java.lang.String, java.lang.Integer)">Extractor.Entity</A></B>(java.util.regex.Matcher&nbsp;matcher,
+ java.lang.String&nbsp;valueType,
+ java.lang.Integer&nbsp;groupNumber)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../com/twitter/Extractor.Entity.html#equals(java.lang.Object)">equals</A></B>(java.lang.Object&nbsp;obj)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../com/twitter/Extractor.Entity.html#hashCode()">hashCode</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+<A NAME="field_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Field Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="start"><!-- --></A><H3>
+start</H3>
+<PRE>
+protected java.lang.Integer <B>start</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="end"><!-- --></A><H3>
+end</H3>
+<PRE>
+protected java.lang.Integer <B>end</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="value"><!-- --></A><H3>
+value</H3>
+<PRE>
+protected java.lang.String <B>value</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="type"><!-- --></A><H3>
+type</H3>
+<PRE>
+protected java.lang.String <B>type</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="Extractor.Entity(java.util.regex.Matcher, java.lang.String, java.lang.Integer)"><!-- --></A><H3>
+Extractor.Entity</H3>
+<PRE>
+public <B>Extractor.Entity</B>(java.util.regex.Matcher&nbsp;matcher,
+ java.lang.String&nbsp;valueType,
+ java.lang.Integer&nbsp;groupNumber)</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="Extractor.Entity(java.util.Map, java.lang.String)"><!-- --></A><H3>
+Extractor.Entity</H3>
+<PRE>
+public <B>Extractor.Entity</B>(java.util.Map&lt;java.lang.String,java.lang.Object&gt;&nbsp;config,
+ java.lang.String&nbsp;valueType)</PRE>
+<DL>
+<DD>Constructor used from conformance data
+<P>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="equals(java.lang.Object)"><!-- --></A><H3>
+equals</H3>
+<PRE>
+public boolean <B>equals</B>(java.lang.Object&nbsp;obj)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE>equals</CODE> in class <CODE>java.lang.Object</CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="hashCode()"><!-- --></A><H3>
+hashCode</H3>
+<PRE>
+public int <B>hashCode</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE>hashCode</CODE> in class <CODE>java.lang.Object</CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Extractor.Entity.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../com/twitter/Extractor.html" title="class in com.twitter"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../com/twitter/HitHighlighter.html" title="class in com.twitter"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../index.html?com/twitter/Extractor.Entity.html" target="_top"><B>FRAMES</B></A> &nbsp;
+&nbsp;<A HREF="Extractor.Entity.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+<i>Copyright &#169; 2010 Twitter, Inc. All Rights Reserved.</i>
+</BODY>
+</HTML>
View
51 docs/api/com/twitter/Extractor.html
@@ -2,12 +2,12 @@
<!--NewPage-->
<HTML>
<HEAD>
-<!-- Generated by javadoc (build 1.6.0_20) on Fri Jul 09 09:37:58 PDT 2010 -->
+<!-- Generated by javadoc (build 1.6.0_20) on Thu Aug 19 10:01:14 PDT 2010 -->
<TITLE>
Extractor (Twitter Text API)
</TITLE>
-<META NAME="date" CONTENT="2010-07-09">
+<META NAME="date" CONTENT="2010-08-19">
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../stylesheet.css" TITLE="Style">
@@ -56,7 +56,7 @@
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../com/twitter/Autolink.html" title="class in com.twitter"><B>PREV CLASS</B></A>&nbsp;
-&nbsp;<A HREF="../../com/twitter/HitHighlighter.html" title="class in com.twitter"><B>NEXT CLASS</B></A></FONT></TD>
+&nbsp;<A HREF="../../com/twitter/Extractor.Entity.html" title="class in com.twitter"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../index.html?com/twitter/Extractor.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="Extractor.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
@@ -76,7 +76,7 @@
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
- SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+ SUMMARY:&nbsp;<A HREF="#nested_class_summary">NESTED</A>&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
@@ -108,7 +108,24 @@
<HR>
<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<A NAME="nested_class_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Nested Class Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../com/twitter/Extractor.Entity.html" title="class in com.twitter">Extractor.Entity</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<A NAME="constructor_summary"><!-- --></A>
@@ -143,6 +160,14 @@
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.util.List&lt;<A HREF="../../com/twitter/Extractor.Entity.html" title="class in com.twitter">Extractor.Entity</A>&gt;</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../com/twitter/Extractor.html#extractHashtagsWithIndices(java.lang.String)">extractHashtagsWithIndices</A></B>(java.lang.String&nbsp;text)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Extract #hashtag references from Tweet text.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.util.List&lt;java.lang.String&gt;</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../com/twitter/Extractor.html#extractMentionedScreennames(java.lang.String)">extractMentionedScreennames</A></B>(java.lang.String&nbsp;text)</CODE>
@@ -262,6 +287,20 @@
<DT><B>Returns:</B><DD>List of hashtags referenced (without the leading # sign)</DL>
</DD>
</DL>
+<HR>
+
+<A NAME="extractHashtagsWithIndices(java.lang.String)"><!-- --></A><H3>
+extractHashtagsWithIndices</H3>
+<PRE>
+public java.util.List&lt;<A HREF="../../com/twitter/Extractor.Entity.html" title="class in com.twitter">Extractor.Entity</A>&gt; <B>extractHashtagsWithIndices</B>(java.lang.String&nbsp;text)</PRE>
+<DL>
+<DD>Extract #hashtag references from Tweet text.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>text</CODE> - of the tweet from which to extract hashtags
+<DT><B>Returns:</B><DD>List of hashtags referenced (without the leading # sign)</DL>
+</DD>
+</DL>
<!-- ========= END OF CLASS DATA ========= -->
<HR>
@@ -294,7 +333,7 @@
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../com/twitter/Autolink.html" title="class in com.twitter"><B>PREV CLASS</B></A>&nbsp;
-&nbsp;<A HREF="../../com/twitter/HitHighlighter.html" title="class in com.twitter"><B>NEXT CLASS</B></A></FONT></TD>
+&nbsp;<A HREF="../../com/twitter/Extractor.Entity.html" title="class in com.twitter"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../index.html?com/twitter/Extractor.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="Extractor.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
@@ -314,7 +353,7 @@
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
- SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+ SUMMARY:&nbsp;<A HREF="#nested_class_summary">NESTED</A>&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
View
8 docs/api/com/twitter/HitHighlighter.html
@@ -2,12 +2,12 @@
<!--NewPage-->
<HTML>
<HEAD>
-<!-- Generated by javadoc (build 1.6.0_20) on Fri Jul 09 09:37:58 PDT 2010 -->
+<!-- Generated by javadoc (build 1.6.0_20) on Thu Aug 19 10:01:14 PDT 2010 -->
<TITLE>
HitHighlighter (Twitter Text API)
</TITLE>
-<META NAME="date" CONTENT="2010-07-09">
+<META NAME="date" CONTENT="2010-08-19">
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../stylesheet.css" TITLE="Style">
@@ -55,7 +55,7 @@
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-&nbsp;<A HREF="../../com/twitter/Extractor.html" title="class in com.twitter"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../com/twitter/Extractor.Entity.html" title="class in com.twitter"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../com/twitter/Regex.html" title="class in com.twitter"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../index.html?com/twitter/HitHighlighter.html" target="_top"><B>FRAMES</B></A> &nbsp;
@@ -352,7 +352,7 @@
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-&nbsp;<A HREF="../../com/twitter/Extractor.html" title="class in com.twitter"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../com/twitter/Extractor.Entity.html" title="class in com.twitter"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../com/twitter/Regex.html" title="class in com.twitter"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../index.html?com/twitter/HitHighlighter.html" target="_top"><B>FRAMES</B></A> &nbsp;
View
4 docs/api/com/twitter/Regex.html
@@ -2,12 +2,12 @@
<!--NewPage-->
<HTML>
<HEAD>
-<!-- Generated by javadoc (build 1.6.0_20) on Fri Jul 09 09:37:58 PDT 2010 -->
+<!-- Generated by javadoc (build 1.6.0_20) on Thu Aug 19 10:01:14 PDT 2010 -->
<TITLE>
Regex (Twitter Text API)
</TITLE>
-<META NAME="date" CONTENT="2010-07-09">
+<META NAME="date" CONTENT="2010-08-19">
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../stylesheet.css" TITLE="Style">
View
4 docs/api/com/twitter/class-use/Autolink.html
@@ -2,12 +2,12 @@
<!--NewPage-->
<HTML>
<HEAD>
-<!-- Generated by javadoc (build 1.6.0_20) on Fri Jul 09 09:37:58 PDT 2010 -->
+<!-- Generated by javadoc (build 1.6.0_20) on Thu Aug 19 10:01:14 PDT 2010 -->
<TITLE>
Uses of Class com.twitter.Autolink (Twitter Text API)
</TITLE>
-<META NAME="date" CONTENT="2010-07-09">
+<META NAME="date" CONTENT="2010-08-19">
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
View
180 docs/api/com/twitter/class-use/Extractor.Entity.html
@@ -0,0 +1,180 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_20) on Thu Aug 19 10:01:14 PDT 2010 -->
+<TITLE>
+Uses of Class com.twitter.Extractor.Entity (Twitter Text API)
+</TITLE>
+
+<META NAME="date" CONTENT="2010-08-19">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class com.twitter.Extractor.Entity (Twitter Text API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../com/twitter/Extractor.Entity.html" title="class in com.twitter"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?com/twitter//class-useExtractor.Entity.html" target="_top"><B>FRAMES</B></A> &nbsp;
+&nbsp;<A HREF="Extractor.Entity.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>com.twitter.Extractor.Entity</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Packages that use <A HREF="../../../com/twitter/Extractor.Entity.html" title="class in com.twitter">Extractor.Entity</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#com.twitter"><B>com.twitter</B></A></TD>
+<TD>&nbsp;&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<A NAME="com.twitter"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Uses of <A HREF="../../../com/twitter/Extractor.Entity.html" title="class in com.twitter">Extractor.Entity</A> in <A HREF="../../../com/twitter/package-summary.html">com.twitter</A></FONT></TH>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../com/twitter/package-summary.html">com.twitter</A> that return types with arguments of type <A HREF="../../../com/twitter/Extractor.Entity.html" title="class in com.twitter">Extractor.Entity</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.util.List&lt;<A HREF="../../../com/twitter/Extractor.Entity.html" title="class in com.twitter">Extractor.Entity</A>&gt;</CODE></FONT></TD>
+<TD><CODE><B>Extractor.</B><B><A HREF="../../../com/twitter/Extractor.html#extractHashtagsWithIndices(java.lang.String)">extractHashtagsWithIndices</A></B>(java.lang.String&nbsp;text)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Extract #hashtag references from Tweet text.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../com/twitter/Extractor.Entity.html" title="class in com.twitter"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?com/twitter//class-useExtractor.Entity.html" target="_top"><B>FRAMES</B></A> &nbsp;
+&nbsp;<A HREF="Extractor.Entity.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+<i>Copyright &#169; 2010 Twitter, Inc. All Rights Reserved.</i>
+</BODY>
+</HTML>
View
4 docs/api/com/twitter/class-use/Extractor.html
@@ -2,12 +2,12 @@
<!--NewPage-->
<HTML>
<HEAD>
-<!-- Generated by javadoc (build 1.6.0_20) on Fri Jul 09 09:37:58 PDT 2010 -->
+<!-- Generated by javadoc (build 1.6.0_20) on Thu Aug 19 10:01:14 PDT 2010 -->
<TITLE>
Uses of Class com.twitter.Extractor (Twitter Text API)
</TITLE>
-<META NAME="date" CONTENT="2010-07-09">
+<META NAME="date" CONTENT="2010-08-19">
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
View
4 docs/api/com/twitter/class-use/HitHighlighter.html
@@ -2,12 +2,12 @@
<!--NewPage-->
<HTML>
<HEAD>
-<!-- Generated by javadoc (build 1.6.0_20) on Fri Jul 09 09:37:58 PDT 2010 -->
+<!-- Generated by javadoc (build 1.6.0_20) on Thu Aug 19 10:01:14 PDT 2010 -->
<TITLE>
Uses of Class com.twitter.HitHighlighter (Twitter Text API)
</TITLE>
-<META NAME="date" CONTENT="2010-07-09">
+<META NAME="date" CONTENT="2010-08-19">
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
View
4 docs/api/com/twitter/class-use/Regex.html
@@ -2,12 +2,12 @@
<!--NewPage-->
<HTML>
<HEAD>
-<!-- Generated by javadoc (build 1.6.0_20) on Fri Jul 09 09:37:58 PDT 2010 -->
+<!-- Generated by javadoc (build 1.6.0_20) on Thu Aug 19 10:01:14 PDT 2010 -->
<TITLE>
Uses of Class com.twitter.Regex (Twitter Text API)
</TITLE>
-<META NAME="date" CONTENT="2010-07-09">
+<META NAME="date" CONTENT="2010-08-19">
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
View
6 docs/api/com/twitter/package-frame.html
@@ -2,12 +2,12 @@
<!--NewPage-->
<HTML>
<HEAD>
-<!-- Generated by javadoc (build 1.6.0_20) on Fri Jul 09 09:37:58 PDT 2010 -->
+<!-- Generated by javadoc (build 1.6.0_20) on Thu Aug 19 10:01:14 PDT 2010 -->
<TITLE>
com.twitter (Twitter Text API)
</TITLE>
-<META NAME="date" CONTENT="2010-07-09">
+<META NAME="date" CONTENT="2010-08-19">
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../stylesheet.css" TITLE="Style">
@@ -27,6 +27,8 @@
<BR>
<A HREF="Extractor.html" title="class in com.twitter" target="classFrame">Extractor</A>
<BR>
+<A HREF="Extractor.Entity.html" title="class in com.twitter" target="classFrame">Extractor.Entity</A>
+<BR>
<A HREF="HitHighlighter.html" title="class in com.twitter" target="classFrame">HitHighlighter</A>
<BR>
<A HREF="Regex.html" title="class in com.twitter" target="classFrame">Regex</A></FONT></TD>
View
8 docs/api/com/twitter/package-summary.html
@@ -2,12 +2,12 @@
<!--NewPage-->
<HTML>
<HEAD>
-<!-- Generated by javadoc (build 1.6.0_20) on Fri Jul 09 09:37:58 PDT 2010 -->
+<!-- Generated by javadoc (build 1.6.0_20) on Thu Aug 19 10:01:14 PDT 2010 -->
<TITLE>
com.twitter (Twitter Text API)
</TITLE>
-<META NAME="date" CONTENT="2010-07-09">
+<META NAME="date" CONTENT="2010-08-19">
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../stylesheet.css" TITLE="Style">
@@ -97,6 +97,10 @@
<TD>A class to extract usernames, lists, hashtags and URLs from Tweet text.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../com/twitter/Extractor.Entity.html" title="class in com.twitter">Extractor.Entity</A></B></TD>
+<TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
<TD WIDTH="15%"><B><A HREF="../../com/twitter/HitHighlighter.html" title="class in com.twitter">HitHighlighter</A></B></TD>
<TD>A class for adding HTML highlighting in Tweet text (such as would be returned from a Search)</TD>
</TR>
View
6 docs/api/com/twitter/package-tree.html
@@ -2,12 +2,12 @@
<!--NewPage-->
<HTML>
<HEAD>
-<!-- Generated by javadoc (build 1.6.0_20) on Fri Jul 09 09:37:58 PDT 2010 -->
+<!-- Generated by javadoc (build 1.6.0_20) on Thu Aug 19 10:01:14 PDT 2010 -->
<TITLE>
com.twitter Class Hierarchy (Twitter Text API)
</TITLE>
-<META NAME="date" CONTENT="2010-07-09">
+<META NAME="date" CONTENT="2010-08-19">
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../stylesheet.css" TITLE="Style">
@@ -92,7 +92,7 @@
</H2>
<UL>
<LI TYPE="circle">java.lang.Object<UL>
-<LI TYPE="circle">com.twitter.<A HREF="../../com/twitter/Autolink.html" title="class in com.twitter"><B>Autolink</B></A><LI TYPE="circle">com.twitter.<A HREF="../../com/twitter/Extractor.html" title="class in com.twitter"><B>Extractor</B></A><LI TYPE="circle">com.twitter.<A HREF="../../com/twitter/HitHighlighter.html" title="class in com.twitter"><B>HitHighlighter</B></A><LI TYPE="circle">com.twitter.<A HREF="../../com/twitter/Regex.html" title="class in com.twitter"><B>Regex</B></A></UL>
+<LI TYPE="circle">com.twitter.<A HREF="../../com/twitter/Autolink.html" title="class in com.twitter"><B>Autolink</B></A><LI TYPE="circle">com.twitter.<A HREF="../../com/twitter/Extractor.html" title="class in com.twitter"><B>Extractor</B></A><LI TYPE="circle">com.twitter.<A HREF="../../com/twitter/Extractor.Entity.html" title="class in com.twitter"><B>Extractor.Entity</B></A><LI TYPE="circle">com.twitter.<A HREF="../../com/twitter/HitHighlighter.html" title="class in com.twitter"><B>HitHighlighter</B></A><LI TYPE="circle">com.twitter.<A HREF="../../com/twitter/Regex.html" title="class in com.twitter"><B>Regex</B></A></UL>
</UL>
<HR>
View
32 docs/api/com/twitter/package-use.html
@@ -2,12 +2,12 @@
<!--NewPage-->
<HTML>
<HEAD>
-<!-- Generated by javadoc (build 1.6.0_20) on Fri Jul 09 09:37:58 PDT 2010 -->
+<!-- Generated by javadoc (build 1.6.0_20) on Thu Aug 19 10:01:14 PDT 2010 -->
<TITLE>
Uses of Package com.twitter (Twitter Text API)
</TITLE>
-<META NAME="date" CONTENT="2010-07-09">
+<META NAME="date" CONTENT="2010-08-19">
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../stylesheet.css" TITLE="Style">
@@ -83,7 +83,33 @@
<H2>
<B>Uses of Package<br>com.twitter</B></H2>
</CENTER>
-No usage of com.twitter
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Packages that use <A HREF="../../com/twitter/package-summary.html">com.twitter</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#com.twitter"><B>com.twitter</B></A></TD>
+<TD>&nbsp;&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<A NAME="com.twitter"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Classes in <A HREF="../../com/twitter/package-summary.html">com.twitter</A> used by <A HREF="../../com/twitter/package-summary.html">com.twitter</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../com/twitter/class-use/Extractor.Entity.html#com.twitter"><B>Extractor.Entity</B></A></B>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
<P>
<HR>
View
4 docs/api/com/twitter/regex/Spaces.html
@@ -2,12 +2,12 @@
<!--NewPage-->
<HTML>
<HEAD>
-<!-- Generated by javadoc (build 1.6.0_20) on Fri Jul 09 09:37:58 PDT 2010 -->
+<!-- Generated by javadoc (build 1.6.0_20) on Thu Aug 19 10:01:14 PDT 2010 -->
<TITLE>
Spaces (Twitter Text API)
</TITLE>
-<META NAME="date" CONTENT="2010-07-09">
+<META NAME="date" CONTENT="2010-08-19">
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
View
4 docs/api/com/twitter/regex/class-use/Spaces.html
@@ -2,12 +2,12 @@
<!--NewPage-->
<HTML>
<HEAD>
-<!-- Generated by javadoc (build 1.6.0_20) on Fri Jul 09 09:37:58 PDT 2010 -->
+<!-- Generated by javadoc (build 1.6.0_20) on Thu Aug 19 10:01:14 PDT 2010 -->
<TITLE>
Uses of Class com.twitter.regex.Spaces (Twitter Text API)
</TITLE>
-<META NAME="date" CONTENT="2010-07-09">
+<META NAME="date" CONTENT="2010-08-19">
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
View
4 docs/api/com/twitter/regex/package-frame.html
@@ -2,12 +2,12 @@
<!--NewPage-->
<HTML>
<HEAD>
-<!-- Generated by javadoc (build 1.6.0_20) on Fri Jul 09 09:37:58 PDT 2010 -->
+<!-- Generated by javadoc (build 1.6.0_20) on Thu Aug 19 10:01:14 PDT 2010 -->
<TITLE>
com.twitter.regex (Twitter Text API)
</TITLE>
-<META NAME="date" CONTENT="2010-07-09">
+<META NAME="date" CONTENT="2010-08-19">
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
View
4 docs/api/com/twitter/regex/package-summary.html
@@ -2,12 +2,12 @@
<!--NewPage-->
<HTML>
<HEAD>
-<!-- Generated by javadoc (build 1.6.0_20) on Fri Jul 09 09:37:58 PDT 2010 -->
+<!-- Generated by javadoc (build 1.6.0_20) on Thu Aug 19 10:01:14 PDT 2010 -->
<TITLE>
com.twitter.regex (Twitter Text API)
</TITLE>
-<META NAME="date" CONTENT="2010-07-09">
+<META NAME="date" CONTENT="2010-08-19">
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
View
4 docs/api/com/twitter/regex/package-tree.html
@@ -2,12 +2,12 @@
<!--NewPage-->
<HTML>
<HEAD>
-<!-- Generated by javadoc (build 1.6.0_20) on Fri Jul 09 09:37:58 PDT 2010 -->
+<!-- Generated by javadoc (build 1.6.0_20) on Thu Aug 19 10:01:14 PDT 2010 -->
<TITLE>
com.twitter.regex Class Hierarchy (Twitter Text API)
</TITLE>
-<META NAME="date" CONTENT="2010-07-09">
+<META NAME="date" CONTENT="2010-08-19">
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
View
4 docs/api/com/twitter/regex/package-use.html
@@ -2,12 +2,12 @@
<!--NewPage-->
<HTML>
<HEAD>
-<!-- Generated by javadoc (build 1.6.0_20) on Fri Jul 09 09:37:58 PDT 2010 -->
+<!-- Generated by javadoc (build 1.6.0_20) on Thu Aug 19 10:01:14 PDT 2010 -->
<TITLE>
Uses of Package com.twitter.regex (Twitter Text API)
</TITLE>
-<META NAME="date" CONTENT="2010-07-09">
+<META NAME="date" CONTENT="2010-08-19">
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
View
4 docs/api/constant-values.html
@@ -2,12 +2,12 @@
<!--NewPage-->
<HTML>
<HEAD>
-<!-- Generated by javadoc (build 1.6.0_20) on Fri Jul 09 09:37:58 PDT 2010 -->
+<!-- Generated by javadoc (build 1.6.0_20) on Thu Aug 19 10:01:14 PDT 2010 -->
<TITLE>
Constant Field Values (Twitter Text API)
</TITLE>
-<META NAME="date" CONTENT="2010-07-09">
+<META NAME="date" CONTENT="2010-08-19">
<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
View
4 docs/api/deprecated-list.html
@@ -2,12 +2,12 @@
<!--NewPage-->
<HTML>
<HEAD>
-<!-- Generated by javadoc (build 1.6.0_20) on Fri Jul 09 09:37:58 PDT 2010 -->
+<!-- Generated by javadoc (build 1.6.0_20) on Thu Aug 19 10:01:14 PDT 2010 -->
<TITLE>
Deprecated List (Twitter Text API)
</TITLE>
-<META NAME="date" CONTENT="2010-07-09">
+<META NAME="date" CONTENT="2010-08-19">
<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
View
4 docs/api/help-doc.html
@@ -2,12 +2,12 @@
<!--NewPage-->
<HTML>
<HEAD>
-<!-- Generated by javadoc (build 1.6.0_20) on Fri Jul 09 09:37:58 PDT 2010 -->
+<!-- Generated by javadoc (build 1.6.0_20) on Thu Aug 19 10:01:14 PDT 2010 -->
<TITLE>
API Help (Twitter Text API)
</TITLE>
-<META NAME="date" CONTENT="2010-07-09">
+<META NAME="date" CONTENT="2010-08-19">
<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
View
31 docs/api/index-all.html
@@ -2,12 +2,12 @@
<!--NewPage-->
<HTML>
<HEAD>
-<!-- Generated by javadoc (build 1.6.0_20) on Fri Jul 09 09:37:58 PDT 2010 -->
+<!-- Generated by javadoc (build 1.6.0_20) on Thu Aug 19 10:01:14 PDT 2010 -->
<TITLE>
Index (Twitter Text API)
</TITLE>
-<META NAME="date" CONTENT="2010-07-09">
+<META NAME="date" CONTENT="2010-08-19">
<LINK REL ="stylesheet" TYPE="text/css" HREF="./stylesheet.css" TITLE="Style">
@@ -166,6 +166,12 @@
<A NAME="_E_"><!-- --></A><H2>
<B>E</B></H2>
<DL>
+<DT><A HREF="./com/twitter/Extractor.Entity.html#end"><B>end</B></A> -
+Variable in class com.twitter.<A HREF="./com/twitter/Extractor.Entity.html" title="class in com.twitter">Extractor.Entity</A>
+<DD>&nbsp;
+<DT><A HREF="./com/twitter/Extractor.Entity.html#equals(java.lang.Object)"><B>equals(Object)</B></A> -
+Method in class com.twitter.<A HREF="./com/twitter/Extractor.Entity.html" title="class in com.twitter">Extractor.Entity</A>
+<DD>&nbsp;
<DT><A HREF="./com/twitter/Regex.html#EXTRACT_MENTIONS"><B>EXTRACT_MENTIONS</B></A> -
Static variable in class com.twitter.<A HREF="./com/twitter/Regex.html" title="class in com.twitter">Regex</A>
<DD>&nbsp;
@@ -187,12 +193,21 @@
<DT><A HREF="./com/twitter/Extractor.html#extractHashtags(java.lang.String)"><B>extractHashtags(String)</B></A> -
Method in class com.twitter.<A HREF="./com/twitter/Extractor.html" title="class in com.twitter">Extractor</A>
<DD>Extract #hashtag references from Tweet text.
+<DT><A HREF="./com/twitter/Extractor.html#extractHashtagsWithIndices(java.lang.String)"><B>extractHashtagsWithIndices(String)</B></A> -
+Method in class com.twitter.<A HREF="./com/twitter/Extractor.html" title="class in com.twitter">Extractor</A>
+<DD>Extract #hashtag references from Tweet text.
<DT><A HREF="./com/twitter/Extractor.html#extractMentionedScreennames(java.lang.String)"><B>extractMentionedScreennames(String)</B></A> -
Method in class com.twitter.<A HREF="./com/twitter/Extractor.html" title="class in com.twitter">Extractor</A>
<DD>Extract @username references from Tweet text.
<DT><A HREF="./com/twitter/Extractor.html" title="class in com.twitter"><B>Extractor</B></A> - Class in <A HREF="./com/twitter/package-summary.html">com.twitter</A><DD>A class to extract usernames, lists, hashtags and URLs from Tweet text.<DT><A HREF="./com/twitter/Extractor.html#Extractor()"><B>Extractor()</B></A> -
Constructor for class com.twitter.<A HREF="./com/twitter/Extractor.html" title="class in com.twitter">Extractor</A>
<DD>Create a new extractor.
+<DT><A HREF="./com/twitter/Extractor.Entity.html" title="class in com.twitter"><B>Extractor.Entity</B></A> - Class in <A HREF="./com/twitter/package-summary.html">com.twitter</A><DD>&nbsp;<DT><A HREF="./com/twitter/Extractor.Entity.html#Extractor.Entity(java.util.regex.Matcher, java.lang.String, java.lang.Integer)"><B>Extractor.Entity(Matcher, String, Integer)</B></A> -
+Constructor for class com.twitter.<A HREF="./com/twitter/Extractor.Entity.html" title="class in com.twitter">Extractor.Entity</A>
+<DD>&nbsp;
+<DT><A HREF="./com/twitter/Extractor.Entity.html#Extractor.Entity(java.util.Map, java.lang.String)"><B>Extractor.Entity(Map&lt;String, Object&gt;, String)</B></A> -
+Constructor for class com.twitter.<A HREF="./com/twitter/Extractor.Entity.html" title="class in com.twitter">Extractor.Entity</A>
+<DD>Constructor used from conformance data
<DT><A HREF="./com/twitter/Extractor.html#extractReplyScreenname(java.lang.String)"><B>extractReplyScreenname(String)</B></A> -
Method in class com.twitter.<A HREF="./com/twitter/Extractor.html" title="class in com.twitter">Extractor</A>
<DD>Extract a @username reference from the beginning of Tweet text.
@@ -236,6 +251,9 @@
<A NAME="_H_"><!-- --></A><H2>
<B>H</B></H2>
<DL>
+<DT><A HREF="./com/twitter/Extractor.Entity.html#hashCode()"><B>hashCode()</B></A> -
+Method in class com.twitter.<A HREF="./com/twitter/Extractor.Entity.html" title="class in com.twitter">Extractor.Entity</A>
+<DD>&nbsp;
<DT><A HREF="./com/twitter/Regex.html#HASHTAG_CHARACTERS"><B>HASHTAG_CHARACTERS</B></A> -
Static variable in class com.twitter.<A HREF="./com/twitter/Regex.html" title="class in com.twitter">Regex</A>
<DD>&nbsp;
@@ -327,6 +345,9 @@
<DT><A HREF="./com/twitter/regex/Spaces.html" title="class in com.twitter.regex"><B>Spaces</B></A> - Class in <A HREF="./com/twitter/regex/package-summary.html">com.twitter.regex</A><DD>&nbsp;<DT><A HREF="./com/twitter/regex/Spaces.html#Spaces()"><B>Spaces()</B></A> -
Constructor for class com.twitter.regex.<A HREF="./com/twitter/regex/Spaces.html" title="class in com.twitter.regex">Spaces</A>
<DD>&nbsp;
+<DT><A HREF="./com/twitter/Extractor.Entity.html#start"><B>start</B></A> -
+Variable in class com.twitter.<A HREF="./com/twitter/Extractor.Entity.html" title="class in com.twitter">Extractor.Entity</A>
+<DD>&nbsp;
</DL>
<HR>
<A NAME="_T_"><!-- --></A><H2>
@@ -335,6 +356,9 @@
<DT><A HREF="./com/twitter/HitHighlighter.html#tag(boolean)"><B>tag(boolean)</B></A> -
Method in class com.twitter.<A HREF="./com/twitter/HitHighlighter.html" title="class in com.twitter">HitHighlighter</A>
<DD>Format the current <code>highlightTag</code> by adding &lt; and >.
+<DT><A HREF="./com/twitter/Extractor.Entity.html#type"><B>type</B></A> -
+Variable in class com.twitter.<A HREF="./com/twitter/Extractor.Entity.html" title="class in com.twitter">Extractor.Entity</A>
+<DD>&nbsp;
</DL>
<HR>
<A NAME="_U_"><!-- --></A><H2>
@@ -363,6 +387,9 @@
<DT><A HREF="./com/twitter/Regex.html#VALID_URL_GROUP_URL"><B>VALID_URL_GROUP_URL</B></A> -
Static variable in class com.twitter.<A HREF="./com/twitter/Regex.html" title="class in com.twitter">Regex</A>
<DD>&nbsp;
+<DT><A HREF="./com/twitter/Extractor.Entity.html#value"><B>value</B></A> -
+Variable in class com.twitter.<A HREF="./com/twitter/Extractor.Entity.html" title="class in com.twitter">Extractor.Entity</A>
+<DD>&nbsp;
</DL>
<HR>
<A HREF="#_A_">A</A> <A HREF="#_C_">C</A> <A HREF="#_D_">D</A> <A HREF="#_E_">E</A> <A HREF="#_G_">G</A> <A HREF="#_H_">H</A> <A HREF="#_I_">I</A> <A HREF="#_L_">L</A> <A HREF="#_N_">N</A> <A HREF="#_R_">R</A> <A HREF="#_S_">S</A> <A HREF="#_T_">T</A> <A HREF="#_U_">U</A> <A HREF="#_V_">V</A>
View
2 docs/api/index.html
@@ -2,7 +2,7 @@
<!--NewPage-->
<HTML>
<HEAD>
-<!-- Generated by javadoc on Fri Jul 09 09:37:58 PDT 2010-->
+<!-- Generated by javadoc on Thu Aug 19 10:01:14 PDT 2010-->
<TITLE>
Twitter Text API
</TITLE>
View
4 docs/api/overview-frame.html
@@ -2,12 +2,12 @@
<!--NewPage-->
<HTML>
<HEAD>
-<!-- Generated by javadoc (build 1.6.0_20) on Fri Jul 09 09:37:58 PDT 2010 -->
+<!-- Generated by javadoc (build 1.6.0_20) on Thu Aug 19 10:01:14 PDT 2010 -->
<TITLE>
Overview List (Twitter Text API)
</TITLE>
-<META NAME="date" CONTENT="2010-07-09">
+<META NAME="date" CONTENT="2010-08-19">
<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
View
4 docs/api/overview-summary.html
@@ -2,12 +2,12 @@
<!--NewPage-->
<HTML>
<HEAD>
-<!-- Generated by javadoc (build 1.6.0_20) on Fri Jul 09 09:37:58 PDT 2010 -->
+<!-- Generated by javadoc (build 1.6.0_20) on Thu Aug 19 10:01:14 PDT 2010 -->
<TITLE>
Overview (Twitter Text API)
</TITLE>
-<META NAME="date" CONTENT="2010-07-09">
+<META NAME="date" CONTENT="2010-08-19">
<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
View
6 docs/api/overview-tree.html
@@ -2,12 +2,12 @@
<!--NewPage-->
<HTML>
<HEAD>
-<!-- Generated by javadoc (build 1.6.0_20) on Fri Jul 09 09:37:58 PDT 2010 -->
+<!-- Generated by javadoc (build 1.6.0_20) on Thu Aug 19 10:01:14 PDT 2010 -->
<TITLE>
Class Hierarchy (Twitter Text API)
</TITLE>
-<META NAME="date" CONTENT="2010-07-09">
+<META NAME="date" CONTENT="2010-08-19">
<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
@@ -91,7 +91,7 @@
</H2>
<UL>
<LI TYPE="circle">java.lang.Object<UL>
-<LI TYPE="circle">com.twitter.<A HREF="com/twitter/Autolink.html" title="class in com.twitter"><B>Autolink</B></A><LI TYPE="circle">com.twitter.<A HREF="com/twitter/Extractor.html" title="class in com.twitter"><B>Extractor</B></A><LI TYPE="circle">com.twitter.<A HREF="com/twitter/HitHighlighter.html" title="class in com.twitter"><B>HitHighlighter</B></A><LI TYPE="circle">com.twitter.<A HREF="com/twitter/Regex.html" title="class in com.twitter"><B>Regex</B></A><LI TYPE="circle">com.twitter.regex.<A HREF="com/twitter/regex/Spaces.html" title="class in com.twitter.regex"><B>Spaces</B></A></UL>
+<LI TYPE="circle">com.twitter.<A HREF="com/twitter/Autolink.html" title="class in com.twitter"><B>Autolink</B></A><LI TYPE="circle">com.twitter.<A HREF="com/twitter/Extractor.html" title="class in com.twitter"><B>Extractor</B></A><LI TYPE="circle">com.twitter.<A HREF="com/twitter/Extractor.Entity.html" title="class in com.twitter"><B>Extractor.Entity</B></A><LI TYPE="circle">com.twitter.<A HREF="com/twitter/HitHighlighter.html" title="class in com.twitter"><B>HitHighlighter</B></A><LI TYPE="circle">com.twitter.<A HREF="com/twitter/Regex.html" title="class in com.twitter"><B>Regex</B></A><LI TYPE="circle">com.twitter.regex.<A HREF="com/twitter/regex/Spaces.html" title="class in com.twitter.regex"><B>Spaces</B></A></UL>
</UL>
<HR>
View
73 src/com/twitter/Extractor.java
@@ -8,6 +8,54 @@
* A class to extract usernames, lists, hashtags and URLs from Tweet text.
*/
public class Extractor {
+ public static class Entity {
+ protected Integer start = null;
+ protected Integer end = null;
+ protected String value = null;
+ protected String type = null;
+
+ public Entity(Matcher matcher, String valueType, Integer groupNumber) {
+ this.start = matcher.start(groupNumber)-1; // 0-indexed.
+ this.end = matcher.end(groupNumber);
+ this.value = matcher.group(groupNumber);
+ this.type = valueType;
+ }
+
+ /** Constructor used from conformance data */
+ public Entity(Map<String, Object> config, String valueType) {
+ this.type = valueType;
+ this.value = (String)config.get(valueType);
+ List<Integer> indices = (List<Integer>)config.get("indices");
+ this.start = indices.get(0);
+ this.end = indices.get(1);
+ }
+
+ public boolean equals(Object obj) {
+ if (this == obj) {
+ return true;
+ }
+
+ if (!(obj instanceof Entity)) {
+ System.out.println("incorrect type");
+ return false;
+ }
+
+ Entity other = (Entity)obj;
+
+ if (this.type.equals(other.type) &&
+ this.start.equals(other.start) &&
+ this.end.equals(other.end) &&
+ this.value.equals(other.value)) {
+ return true;
+ } else {
+ return false;
+ }
+ }
+
+ public int hashCode() {
+ return this.type.hashCode() + this.value.hashCode() + this.start + this.end;
+ }
+ }
/**
* Create a new extractor.
@@ -85,6 +133,20 @@ public String extractReplyScreenname(String text) {
}
/**
+ * Extract #hashtag references from Tweet text.
+ *
+ * @param text of the tweet from which to extract hashtags
+ * @return List of hashtags referenced (without the leading # sign)
+ */
+ public List<Entity> extractHashtagsWithIndices(String text) {
+ if (text == null) {
+ return null;
+ }
+
+ return extractListWithIndices(Regex.AUTO_LINK_HASHTAGS, text, Regex.AUTO_LINK_HASHTAGS_GROUP_TAG, "hashtag");
+ }
+
+ /**
* Helper method for extracting multiple matches from Tweet text.
*
* @param pattern to match and use for extraction
@@ -100,4 +162,15 @@ public String extractReplyScreenname(String text) {
}
return extracted;
}
+
+ // TODO: Make this a real object, not a Map
+ private List<Entity> extractListWithIndices(Pattern pattern, String text, int groupNumber, String valueType) {
+ List<Entity> extracted = new ArrayList<Entity>();
+ Matcher matcher = pattern.matcher(text);
+
+ while (matcher.find()) {
+ extracted.add(new Entity(matcher, valueType, groupNumber));
+ }
+ return extracted;
+ }
}
View
9 src/com/twitter/Regex.java
@@ -16,14 +16,17 @@
private static final String URL_VALID_PRECEEDING_CHARS = "(?:[^/\"':!=]|^|\\:)";
private static final String URL_VALID_DOMAIN = "(?:[^\\p{Punct}\\s][\\.-](?=[^\\p{Punct}\\s])|[^\\p{Punct}\\s])+\\.[a-z]{2,}(?::[0-9]+)?";
+ private static final String URL_VALID_GENERAL_PATH_CHARS = "[a-z0-9!\\*';:=\\+\\$/%#\\[\\]\\-_,~]";
/** Allow URL paths to contain balanced parens
* 1. Used in Wikipedia URLs like /Primer_(film)
* 2. Used in IIS sessions like /S(dfd346)/
**/
- private static final String URL_BALANCE_PARENS = "(?:\\([^\\)]+\\))";
+ private static final String URL_BALANCE_PARENS = "(?:\\(" + URL_VALID_GENERAL_PATH_CHARS + "+\\))";
private static final String URL_VALID_URL_PATH_CHARS = "(?:" +
URL_BALANCE_PARENS +
- "|[\\.,]?[a-z0-9!\\*';:=\\+\\$/%#\\[\\]\\-_,~@]" +
+ "|@[^/]+/" +
+ "|[\\.,]" + URL_VALID_GENERAL_PATH_CHARS + "+" +
+ "|" + URL_VALID_GENERAL_PATH_CHARS + "+" +
")";
/** Valid end-of-path chracters (so /foo. does not gobble the period).
@@ -52,7 +55,7 @@
public static final int AUTO_LINK_HASHTAGS_GROUP_HASH = 2;
public static final int AUTO_LINK_HASHTAGS_GROUP_TAG = 3;
- public static final Pattern AUTO_LINK_USERNAMES_OR_LISTS = Pattern.compile("([^a-z0-9_]|^)(" + AT_SIGNS + "+)([a-z0-9_]{1,20})(/[a-z][a-z0-9\\x80-\\xFF-]{0,79})?", Pattern.CASE_INSENSITIVE);
+ public static final Pattern AUTO_LINK_USERNAMES_OR_LISTS = Pattern.compile("([^a-z0-9_]|^)(" + AT_SIGNS + "+)([a-z0-9_]{1,20})(/[a-z][a-z0-9_\\-\\x80-\\xFF-]{0,24})?", Pattern.CASE_INSENSITIVE);
public static final int AUTO_LINK_USERNAME_OR_LISTS_GROUP_BEFORE = 1;
public static final int AUTO_LINK_USERNAME_OR_LISTS_GROUP_AT = 2;
public static final int AUTO_LINK_USERNAME_OR_LISTS_GROUP_USERNAME = 3;
2 test-data/twitter-text-conformance
@@ -1 +1 @@
-Subproject commit ee1441d28d52cf14ec17b6922cbeb9d76659574a
+Subproject commit 2048424e59c4f90578bbe88b4806cdad53ca5b86
View
16 tests/com/twitter/ConformanceTest.java
@@ -4,6 +4,7 @@
import java.util.regex.*;
import java.util.Map;
import java.util.List;
+import java.util.ArrayList;
import java.io.File;
import java.io.FileNotFoundException;
@@ -63,6 +64,21 @@ public void testHashtagsExtractor() throws Exception {
}
}
+ public void testHashtagsWithIndicesExtractor() throws Exception {
+ File yamlFile = new File(conformanceDir, "extract.yml");
+ List testCases = loadConformanceData(yamlFile, "hashtags_with_indices");
+ for (Map testCase : (List<Map>)testCases) {
+ List<Map<String, Object>> expectedConfig = (List)testCase.get(KEY_EXPECTED_OUTPUT);
+ List<Extractor.Entity> expected = new ArrayList<Extractor.Entity>();
+ for (Map<String, Object> configEntry : expectedConfig) {
+ expected.add(new Extractor.Entity(configEntry, "hashtag"));
+ }
+
+ assertEquals((String)testCase.get(KEY_DESCRIPTION),
+ expected,
+ extractor.extractHashtagsWithIndices((String)testCase.get(KEY_INPUT)));
+ }
+ }
public void testURLsExtractor() throws Exception {
File yamlFile = new File(conformanceDir, "extract.yml");
View
5 tests/com/twitter/RegexTest.java
@@ -20,6 +20,11 @@ public void testValidURL() {
assertCaptureCount(7, Regex.VALID_URL, "http://example.com");
}
+ public void testValidURLDoesNotCrashOnLongPaths() {
+ String longPathIsLong = "Check out http://example.com/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
+ assertTrue("Failed to correctly match a very long path", Regex.VALID_URL.matcher(longPathIsLong).find());
+ }
+
public void testExtractMentions() {
assertCaptureCount(3, Regex.EXTRACT_MENTIONS, "sample @user mention");
}

0 comments on commit 810ad91

Please sign in to comment.