[jsemver] 72/95: Implement fluent interface for Version.Builder
Alexandre Viau
reazem-guest at moszumanska.debian.org
Mon Feb 16 14:58:32 UTC 2015
This is an automated email from the git hooks/post-receive script.
reazem-guest pushed a commit to branch master
in repository jsemver.
commit 371d1000657dd57f6a79e1eab5298008baeca2bf
Author: Zafar Khaja <zafarkhaja at gmail.com>
Date: Thu Jan 23 18:49:27 2014 +0400
Implement fluent interface for Version.Builder
---
src/main/java/com/github/zafarkhaja/semver/Version.java | 12 +++++++++---
src/test/java/com/github/zafarkhaja/semver/VersionTest.java | 11 +++++++++++
2 files changed, 20 insertions(+), 3 deletions(-)
diff --git a/src/main/java/com/github/zafarkhaja/semver/Version.java b/src/main/java/com/github/zafarkhaja/semver/Version.java
index 6cd3477..9d9a3a2 100644
--- a/src/main/java/com/github/zafarkhaja/semver/Version.java
+++ b/src/main/java/com/github/zafarkhaja/semver/Version.java
@@ -106,27 +106,33 @@ public class Version implements Comparable<Version> {
* Sets the normal version.
*
* @param normal the string representation of the normal version
+ * @return this builder instance
*/
- public void setNormalVersion(String normal) {
+ public Builder setNormalVersion(String normal) {
this.normal = normal;
+ return this;
}
/**
* Sets the pre-release version.
*
* @param preRelease the string representation of the pre-release version
+ * @return this builder instance
*/
- public void setPreReleaseVersion(String preRelease) {
+ public Builder setPreReleaseVersion(String preRelease) {
this.preRelease = preRelease;
+ return this;
}
/**
* Sets the build metadata.
*
* @param build the string representation of the build metadata
+ * @return this builder instance
*/
- public void setBuildMetadata(String build) {
+ public Builder setBuildMetadata(String build) {
this.build = build;
+ return this;
}
/**
diff --git a/src/test/java/com/github/zafarkhaja/semver/VersionTest.java b/src/test/java/com/github/zafarkhaja/semver/VersionTest.java
index edae560..979b251 100644
--- a/src/test/java/com/github/zafarkhaja/semver/VersionTest.java
+++ b/src/test/java/com/github/zafarkhaja/semver/VersionTest.java
@@ -429,6 +429,17 @@ public class VersionTest {
builder.setBuildMetadata("build");
assertEquals(Version.valueOf("1.0.0-alpha+build"), builder.build());
}
+
+ @Test
+ public void shouldImplementFluentInterface() {
+ Version.Builder builder = new Version.Builder();
+ Version version = builder
+ .setNormalVersion("1.0.0")
+ .setPreReleaseVersion("alpha")
+ .setBuildMetadata("build")
+ .build();
+ assertEquals(Version.valueOf("1.0.0-alpha+build"), version);
+ }
}
public static class BuildAwareOrderTest {
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-java/jsemver.git
More information about the pkg-java-commits
mailing list