You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@abdera.apache.org by jm...@apache.org on 2011/10/31 19:14:47 UTC
svn commit: r1195592 - in
/abdera/abdera2/common/src/main/java/org/apache/abdera2/common/lang:
Lang.java Range.java
Author: jmsnell
Date: Mon Oct 31 18:14:47 2011
New Revision: 1195592
URL: http://svn.apache.org/viewvc?rev=1195592&view=rev
Log: (empty)
Modified:
abdera/abdera2/common/src/main/java/org/apache/abdera2/common/lang/Lang.java
abdera/abdera2/common/src/main/java/org/apache/abdera2/common/lang/Range.java
Modified: abdera/abdera2/common/src/main/java/org/apache/abdera2/common/lang/Lang.java
URL: http://svn.apache.org/viewvc/abdera/abdera2/common/src/main/java/org/apache/abdera2/common/lang/Lang.java?rev=1195592&r1=1195591&r2=1195592&view=diff
==============================================================================
--- abdera/abdera2/common/src/main/java/org/apache/abdera2/common/lang/Lang.java (original)
+++ abdera/abdera2/common/src/main/java/org/apache/abdera2/common/lang/Lang.java Mon Oct 31 18:14:47 2011
@@ -26,6 +26,8 @@ import java.util.regex.Pattern;
import org.apache.abdera2.common.lang.Subtag.Type;
+import com.google.common.collect.Iterables;
+
/**
* Implementation of RFC 4646 Language Tags. Instances are immutable and
* safe for use by multiple threads. Iterators returned by calling
@@ -140,14 +142,14 @@ public final class Lang
return t_extension;
}
- public Subtag[] extensions() {
+ public Iterable<Subtag> extensions() {
List<Subtag> list = new ArrayList<Subtag>();
Subtag extension = extension();
while(extension != null) {
list.add(extension);
extension = nextExtension(extension);
}
- return list.toArray(new Subtag[list.size()]);
+ return Iterables.unmodifiableIterable(list);
}
public Subtag extension(String name) {
Modified: abdera/abdera2/common/src/main/java/org/apache/abdera2/common/lang/Range.java
URL: http://svn.apache.org/viewvc/abdera/abdera2/common/src/main/java/org/apache/abdera2/common/lang/Range.java?rev=1195592&r1=1195591&r2=1195592&view=diff
==============================================================================
--- abdera/abdera2/common/src/main/java/org/apache/abdera2/common/lang/Range.java (original)
+++ abdera/abdera2/common/src/main/java/org/apache/abdera2/common/lang/Range.java Mon Oct 31 18:14:47 2011
@@ -28,6 +28,7 @@ import org.apache.abdera2.common.lang.Su
import com.google.common.base.Function;
import com.google.common.base.Predicate;
+import com.google.common.collect.Iterables;
/**
* A language range used for matching language tags
@@ -204,45 +205,45 @@ public final class Range
}
}
- public Function<Lang[],Lang[]> filter() {
+ public Function<Lang[],Iterable<Lang>> filter() {
final Range thisRange = this;
- return new Function<Lang[],Lang[]>() {
- public Lang[] apply(Lang[] input) {
+ return new Function<Lang[],Iterable<Lang>>() {
+ public Iterable<Lang> apply(Lang[] input) {
return thisRange.filter(input);
}
};
}
- public Function<String[],String[]> filterString() {
+ public Function<String[],Iterable<String>> filterString() {
final Range thisRange = this;
- return new Function<String[],String[]>() {
- public String[] apply(String[] input) {
+ return new Function<String[],Iterable<String>>() {
+ public Iterable<String> apply(String[] input) {
return thisRange.filter(input);
}
};
}
- public Lang[] filter(Lang... lang) {
+ public Iterable<Lang> filter(Lang... lang) {
List<Lang> langs = new LinkedList<Lang>();
for (Lang l : lang)
if (matches(l))
langs.add(l);
- return langs.toArray(new Lang[langs.size()]);
+ return Iterables.unmodifiableIterable(langs);
}
- public String[] filter(String... lang) {
+ public Iterable<String> filter(String... lang) {
List<String> langs = new LinkedList<String>();
for (String l : lang)
if (matches(l))
langs.add(l);
- return langs.toArray(new String[langs.size()]);
+ return Iterables.unmodifiableIterable(langs);
}
- public static Lang[] filter(String range, Lang... lang) {
+ public static Iterable<Lang> filter(String range, Lang... lang) {
return new Range(range).filter(lang);
}
- public static String[] filter(String range, String... lang) {
+ public static Iterable<String> filter(String range, String... lang) {
return new Range(range).filter(lang);
}