aboutsummaryrefslogtreecommitdiff
path: root/aboutit
diff options
context:
space:
mode:
authorVictor Häggqvist <[email protected]>2015-09-17 02:50:04 +0200
committerVictor Häggqvist <[email protected]>2015-09-17 03:16:08 +0200
commitb7b27e763aecb9651403a0934bddd38fb1898def (patch)
tree49ab7a93d6844c9e68783fd4c87ec57d896ab0d6 /aboutit
parent6b482f42d5e4cba641315ecf21dd51eb130eeab8 (diff)
add support for adding libraries via builder pattern
Diffstat (limited to 'aboutit')
-rw-r--r--aboutit/src/main/java/com/snilius/aboutit/AboutIt.java15
-rw-r--r--aboutit/src/main/java/com/snilius/aboutit/L.java6
-rw-r--r--aboutit/src/main/java/com/snilius/aboutit/LibBuilder.java49
-rw-r--r--aboutit/src/main/java/com/snilius/aboutit/LicenseBase.java15
4 files changed, 79 insertions, 6 deletions
diff --git a/aboutit/src/main/java/com/snilius/aboutit/AboutIt.java b/aboutit/src/main/java/com/snilius/aboutit/AboutIt.java
index a87cc05..c093b03 100644
--- a/aboutit/src/main/java/com/snilius/aboutit/AboutIt.java
+++ b/aboutit/src/main/java/com/snilius/aboutit/AboutIt.java
@@ -161,6 +161,15 @@ public class AboutIt {
}
/**
+ * Add a library to the list
+ * @param library A library build with LibBuilder
+ */
+ public AboutIt libLicense(Lib library) {
+ libs.add(library);
+ return this;
+ }
+
+ /**
* App name to display
* @param stringResource A string resource id
*/
@@ -224,14 +233,14 @@ public class AboutIt {
/**
* Holder for libraries
*/
- private class Lib {
+ static class Lib {
final String name;
final String author;
- final L license;
+ final LicenseBase license;
final String url;
- public Lib(String name, String author, L license, String url) {
+ public Lib(String name, String author, LicenseBase license, String url) {
this.name = name;
this.author = author;
diff --git a/aboutit/src/main/java/com/snilius/aboutit/L.java b/aboutit/src/main/java/com/snilius/aboutit/L.java
index a66726b..1151ba9 100644
--- a/aboutit/src/main/java/com/snilius/aboutit/L.java
+++ b/aboutit/src/main/java/com/snilius/aboutit/L.java
@@ -5,8 +5,8 @@ package com.snilius.aboutit;
* @author Victor Häggqvist
* @since 12/29/14
*/
-public enum L {
AP2("Apache License, Version 2.0"), MIT("MIT"), GPL2("GPLv2"), GPL3("GPLv3");
+public enum L implements LicenseBase {
private String mDisplayname;
@@ -15,10 +15,10 @@ public enum L {
}
/**
- * Get diaplayname for license
- * @return displaname
+ * {@inheritDoc}
*/
public String display() {
return mDisplayname;
}
+
}
diff --git a/aboutit/src/main/java/com/snilius/aboutit/LibBuilder.java b/aboutit/src/main/java/com/snilius/aboutit/LibBuilder.java
new file mode 100644
index 0000000..df5c653
--- /dev/null
+++ b/aboutit/src/main/java/com/snilius/aboutit/LibBuilder.java
@@ -0,0 +1,49 @@
+package com.snilius.aboutit;
+
+/**
+ * Library builder
+ * @author Victor Häggqvist
+ * @since 9/17/15
+ */
+public class LibBuilder {
+
+ private String name;
+ private String author;
+ private LicenseBase license;
+ private String url;
+
+ public LibBuilder() {
+ name = "";
+ author = "";
+ license= null;
+ url = "";
+ }
+
+ public LibBuilder name(String name) {
+
+ this.name = name;
+ return this;
+ }
+
+ public LibBuilder author(String author) {
+
+ this.author = author;
+ return this;
+ }
+
+ public LibBuilder license(LicenseBase license) {
+
+ this.license = license;
+ return this;
+ }
+
+ public LibBuilder url(String url) {
+ this.url = url;
+ return this;
+ }
+
+ public AboutIt.Lib build() {
+ return new AboutIt.Lib(name, author, license,url);
+ }
+
+}
diff --git a/aboutit/src/main/java/com/snilius/aboutit/LicenseBase.java b/aboutit/src/main/java/com/snilius/aboutit/LicenseBase.java
new file mode 100644
index 0000000..0398556
--- /dev/null
+++ b/aboutit/src/main/java/com/snilius/aboutit/LicenseBase.java
@@ -0,0 +1,15 @@
+package com.snilius.aboutit;
+
+/**
+ * License base
+ * @author Victor Häggqvist
+ * @since 9/17/15
+ */
+public interface LicenseBase {
+
+ /**
+ * Get display name for license
+ * @return display name
+ */
+ String display();
+}