Skip to content

Commit 35f82b2

Browse files
committed
Rename Link to LinkSpan
Link is a bit generic. LinkSpan better describes that it's not a link in itself, but merely the information about the link.
1 parent e88d655 commit 35f82b2

File tree

9 files changed

+28
-28
lines changed

9 files changed

+28
-28
lines changed

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -58,8 +58,8 @@ import org.nibor.autolink.*;
5858

5959
String input = "wow, so example: http://test.com";
6060
LinkExtractor linkExtractor = LinkExtractor.builder().build();
61-
Iterable<Link> links = linkExtractor.extractLinks(input);
62-
Link link = links.iterator().next();
61+
Iterable<LinkSpan> links = linkExtractor.extractLinks(input);
62+
LinkSpan link = links.iterator().next();
6363
link.getType(); // LinkType.URL
6464
link.getBeginIndex(); // 17
6565
link.getEndIndex(); // 32
@@ -75,7 +75,7 @@ String input = "wow http://test.com such linked";
7575
LinkExtractor linkExtractor = LinkExtractor.builder()
7676
.linkTypes(EnumSet.of(LinkType.URL)) // limit to URLs
7777
.build();
78-
Iterable<Link> links = linkExtractor.extractLinks(input);
78+
Iterable<LinkSpan> links = linkExtractor.extractLinks(input);
7979
String result = Autolink.renderLinks(input, links, (link, sb) -> {
8080
sb.append("<a href=\"");
8181
sb.append(input, link.getBeginIndex(), link.getEndIndex());

src/main/java/org/nibor/autolink/Autolink.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,10 @@ public class Autolink {
1414
* @param linkRenderer the link rendering function
1515
* @return the rendered string
1616
*/
17-
public static String renderLinks(CharSequence input, Iterable<Link> links, LinkRenderer linkRenderer) {
17+
public static String renderLinks(CharSequence input, Iterable<LinkSpan> links, LinkRenderer linkRenderer) {
1818
StringBuilder sb = new StringBuilder(input.length() + 16);
1919
int lastIndex = 0;
20-
for (Link link : links) {
20+
for (LinkSpan link : links) {
2121
sb.append(input, lastIndex, link.getBeginIndex());
2222
linkRenderer.render(link, sb);
2323
lastIndex = link.getEndIndex();

src/main/java/org/nibor/autolink/LinkExtractor.java

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -32,10 +32,10 @@ public static Builder builder() {
3232
* @param input the input text, must not be {@code null}
3333
* @return a lazy iterable for the links in order that they appear in the input, never {@code null}
3434
*/
35-
public Iterable<Link> extractLinks(final CharSequence input) {
36-
return new Iterable<Link>() {
35+
public Iterable<LinkSpan> extractLinks(final CharSequence input) {
36+
return new Iterable<LinkSpan>() {
3737
@Override
38-
public Iterator<Link> iterator() {
38+
public Iterator<LinkSpan> iterator() {
3939
return new LinkIterator(input);
4040
}
4141
};
@@ -83,13 +83,13 @@ public LinkExtractor build() {
8383
}
8484
}
8585

86-
private static class LinkImpl implements Link {
86+
private static class LinkSpanImpl implements LinkSpan {
8787

8888
private final LinkType linkType;
8989
private final int beginIndex;
9090
private final int endIndex;
9191

92-
private LinkImpl(LinkType linkType, int beginIndex, int endIndex) {
92+
private LinkSpanImpl(LinkType linkType, int beginIndex, int endIndex) {
9393
this.linkType = linkType;
9494
this.beginIndex = beginIndex;
9595
this.endIndex = endIndex;
@@ -116,11 +116,11 @@ public String toString() {
116116
}
117117
}
118118

119-
private class LinkIterator implements Iterator<Link> {
119+
private class LinkIterator implements Iterator<LinkSpan> {
120120

121121
private final CharSequence input;
122122

123-
private Link next = null;
123+
private LinkSpan next = null;
124124
private int index = 0;
125125
private int rewindIndex = 0;
126126
private int[] result = new int[2];
@@ -136,9 +136,9 @@ public boolean hasNext() {
136136
}
137137

138138
@Override
139-
public Link next() {
139+
public LinkSpan next() {
140140
if (hasNext()) {
141-
Link link = next;
141+
LinkSpan link = next;
142142
next = null;
143143
return link;
144144
} else {
@@ -157,7 +157,7 @@ private void setNext() {
157157
if (scanner != null) {
158158
boolean found = scanner.scan(input, index, rewindIndex, result);
159159
if (found) {
160-
next = new LinkImpl(scanner.getLinkType(), result[0], result[1]);
160+
next = new LinkSpanImpl(scanner.getLinkType(), result[0], result[1]);
161161
rewindIndex = result[1];
162162
index = result[1];
163163
break;

src/main/java/org/nibor/autolink/LinkRenderer.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,6 @@
22

33
public interface LinkRenderer {
44

5-
void render(Link link, StringBuilder sb);
5+
void render(LinkSpan link, StringBuilder sb);
66

77
}

src/main/java/org/nibor/autolink/Link.java renamed to src/main/java/org/nibor/autolink/LinkSpan.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
/**
44
* Information for an extracted link.
55
*/
6-
public interface Link {
6+
public interface LinkSpan {
77

88
/**
99
* @return the type of link

src/test/java/org/nibor/autolink/AutolinkBenchmark.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,9 @@ public class AutolinkBenchmark extends AutolinkTestCase {
1919

2020
public static void main(String[] args) throws Exception {
2121
System.out.println("input length: " + GENERATED_INPUT.length());
22-
Iterable<Link> links = LinkExtractor.builder().build().extractLinks(GENERATED_INPUT);
22+
Iterable<LinkSpan> links = LinkExtractor.builder().build().extractLinks(GENERATED_INPUT);
2323
int count = 0;
24-
for (Link ignore : links) {
24+
for (LinkSpan ignore : links) {
2525
count++;
2626
}
2727
System.out.println("number of links: " + count);

src/test/java/org/nibor/autolink/AutolinkTestCase.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,10 @@ protected void assertNotLinked(String input) {
1717
protected abstract LinkExtractor getLinkExtractor();
1818

1919
protected String link(final String input, final String marker, final LinkType expectedLinkType) {
20-
Iterable<Link> links = getLinkExtractor().extractLinks(input);
20+
Iterable<LinkSpan> links = getLinkExtractor().extractLinks(input);
2121
return Autolink.renderLinks(input, links, new LinkRenderer() {
2222
@Override
23-
public void render(Link link, StringBuilder sb) {
23+
public void render(LinkSpan link, StringBuilder sb) {
2424
if (expectedLinkType != null) {
2525
assertEquals(expectedLinkType, link.getType());
2626
}

src/test/java/org/nibor/autolink/AutolinkUrlTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,7 @@ public void international() {
126126

127127
@Test
128128
public void linkToString() {
129-
Iterable<Link> links = getLinkExtractor().extractLinks("wow, so example: http://test.com");
129+
Iterable<LinkSpan> links = getLinkExtractor().extractLinks("wow, so example: http://test.com");
130130
assertEquals("Link{type=URL, beginIndex=17, endIndex=32}", links.iterator().next().toString());
131131
}
132132

src/test/java/org/nibor/autolink/LinkExtractorIterableTest.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,15 +11,15 @@ public class LinkExtractorIterableTest {
1111

1212
@Test
1313
public void iteratorIsNew() {
14-
Iterable<Link> iterable = getSingleElementIterable();
14+
Iterable<LinkSpan> iterable = getSingleElementIterable();
1515
assertEquals(LinkType.URL, iterable.iterator().next().getType());
1616
assertEquals(LinkType.URL, iterable.iterator().next().getType());
1717
}
1818

1919
@Test
2020
public void hasNextOnlyAdvancesOnce() {
21-
Iterable<Link> iterable = getSingleElementIterable();
22-
Iterator<Link> iterator = iterable.iterator();
21+
Iterable<LinkSpan> iterable = getSingleElementIterable();
22+
Iterator<LinkSpan> iterator = iterable.iterator();
2323
assertTrue(iterator.hasNext());
2424
assertTrue(iterator.hasNext());
2525
assertNotNull(iterator.next());
@@ -29,13 +29,13 @@ public void hasNextOnlyAdvancesOnce() {
2929

3030
@Test(expected = NoSuchElementException.class)
3131
public void nextThrowsNoSuchElementException() {
32-
Iterable<Link> iterable = getSingleElementIterable();
33-
Iterator<Link> iterator = iterable.iterator();
32+
Iterable<LinkSpan> iterable = getSingleElementIterable();
33+
Iterator<LinkSpan> iterator = iterable.iterator();
3434
assertNotNull(iterator.next());
3535
iterator.next();
3636
}
3737

38-
private Iterable<Link> getSingleElementIterable() {
38+
private Iterable<LinkSpan> getSingleElementIterable() {
3939
String input = "foo http://example.com";
4040
return LinkExtractor.builder().build().extractLinks(input);
4141
}

0 commit comments

Comments
 (0)