ShadowTextUtils.java revision a16489f7f239bf6974e4f5607bb071670ae02245
133873d2b41a5cd2597b20a4e88eb8942944c0f23Tyler Schultzpackage com.xtremelabs.robolectric.shadows;
23a15df058f1e3fd7fbff5c3b17126249f1ed909aChristian Williams & Ryan Richard
33a15df058f1e3fd7fbff5c3b17126249f1ed909aChristian Williams & Ryan Richardimport android.text.TextUtils;
422c22c9aa4ca68c2deac6164edc1d82bc9645310Christian Williams & Phil Goodwinimport com.xtremelabs.robolectric.internal.Implementation;
522c22c9aa4ca68c2deac6164edc1d82bc9645310Christian Williams & Phil Goodwinimport com.xtremelabs.robolectric.internal.Implements;
652db1b0d94ef698425ebd641ad7fecc5f674a4dbTyler Schultzimport com.xtremelabs.robolectric.util.Join;
752db1b0d94ef698425ebd641ad7fecc5f674a4dbTyler Schultz
852db1b0d94ef698425ebd641ad7fecc5f674a4dbTyler Schultzimport java.util.Collection;
93a15df058f1e3fd7fbff5c3b17126249f1ed909aChristian Williams & Ryan Richard
103a15df058f1e3fd7fbff5c3b17126249f1ed909aChristian Williams & Ryan Richard@SuppressWarnings({"UnusedDeclaration"})
113a15df058f1e3fd7fbff5c3b17126249f1ed909aChristian Williams & Ryan Richard@Implements(TextUtils.class)
12afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williamspublic class ShadowTextUtils {
13de9feed5ddf1d91a3e76cbc71712c36a7652201eChristian Williams    @Implementation
143a15df058f1e3fd7fbff5c3b17126249f1ed909aChristian Williams & Ryan Richard    public static CharSequence expandTemplate(CharSequence template,
153a15df058f1e3fd7fbff5c3b17126249f1ed909aChristian Williams & Ryan Richard                                              CharSequence... values) {
163a15df058f1e3fd7fbff5c3b17126249f1ed909aChristian Williams & Ryan Richard        String s = template.toString();
173a15df058f1e3fd7fbff5c3b17126249f1ed909aChristian Williams & Ryan Richard        for (int i = 0, valuesLength = values.length; i < valuesLength; i++) {
183a15df058f1e3fd7fbff5c3b17126249f1ed909aChristian Williams & Ryan Richard            CharSequence value = values[i];
193a15df058f1e3fd7fbff5c3b17126249f1ed909aChristian Williams & Ryan Richard            s = s.replace("^" + (i + 1), value);
203a15df058f1e3fd7fbff5c3b17126249f1ed909aChristian Williams & Ryan Richard        }
213a15df058f1e3fd7fbff5c3b17126249f1ed909aChristian Williams & Ryan Richard        return s;
223a15df058f1e3fd7fbff5c3b17126249f1ed909aChristian Williams & Ryan Richard    }
237b451e9ee0ea07caeb2a0667ab44a321a36127ffJan Berkel
247b451e9ee0ea07caeb2a0667ab44a321a36127ffJan Berkel    @Implementation
257b451e9ee0ea07caeb2a0667ab44a321a36127ffJan Berkel    public static boolean isEmpty(CharSequence s) {
267b451e9ee0ea07caeb2a0667ab44a321a36127ffJan Berkel      return (s == null || s.length() == 0);
277b451e9ee0ea07caeb2a0667ab44a321a36127ffJan Berkel    }
2883003bbf38ccf4556ccc09ed9ce97c7725d58623Jan Berkel
2983003bbf38ccf4556ccc09ed9ce97c7725d58623Jan Berkel    @Implementation
3083003bbf38ccf4556ccc09ed9ce97c7725d58623Jan Berkel    public static String join(CharSequence delimiter, Iterable tokens) {
3152db1b0d94ef698425ebd641ad7fecc5f674a4dbTyler Schultz        return Join.join((String) delimiter, (Collection) tokens);
3283003bbf38ccf4556ccc09ed9ce97c7725d58623Jan Berkel    }
3383003bbf38ccf4556ccc09ed9ce97c7725d58623Jan Berkel
3483003bbf38ccf4556ccc09ed9ce97c7725d58623Jan Berkel    @Implementation
3583003bbf38ccf4556ccc09ed9ce97c7725d58623Jan Berkel    public static String join(CharSequence delimiter, Object[] tokens) {
3652db1b0d94ef698425ebd641ad7fecc5f674a4dbTyler Schultz        return Join.join((String) delimiter, tokens);
3783003bbf38ccf4556ccc09ed9ce97c7725d58623Jan Berkel    }
38a16489f7f239bf6974e4f5607bb071670ae02245Jon Boekenoogen
39a16489f7f239bf6974e4f5607bb071670ae02245Jon Boekenoogen    @Implementation
40a16489f7f239bf6974e4f5607bb071670ae02245Jon Boekenoogen    public static boolean isDigitsOnly(CharSequence str) {
41a16489f7f239bf6974e4f5607bb071670ae02245Jon Boekenoogen        final int len = str.length();
42a16489f7f239bf6974e4f5607bb071670ae02245Jon Boekenoogen        for (int i = 0; i < len; i++) {
43a16489f7f239bf6974e4f5607bb071670ae02245Jon Boekenoogen          if (!Character.isDigit(str.charAt(i))) {
44a16489f7f239bf6974e4f5607bb071670ae02245Jon Boekenoogen            return false;
45a16489f7f239bf6974e4f5607bb071670ae02245Jon Boekenoogen          }
46a16489f7f239bf6974e4f5607bb071670ae02245Jon Boekenoogen        }
47a16489f7f239bf6974e4f5607bb071670ae02245Jon Boekenoogen        return true;
48a16489f7f239bf6974e4f5607bb071670ae02245Jon Boekenoogen    }
493a15df058f1e3fd7fbff5c3b17126249f1ed909aChristian Williams & Ryan Richard}
50