Skip to content

Commit b89e9d0

Browse files
committed
Add MetadataContainer#toBuilder
1 parent 3575b09 commit b89e9d0

File tree

1 file changed

+17
-0
lines changed

1 file changed

+17
-0
lines changed

Diff for: src/main/java/org/spongepowered/plugin/metadata/builtin/MetadataContainer.java

+17
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,16 @@ public String toString() {
115115
.toString();
116116
}
117117

118+
public MetadataContainer.Builder toBuilder() {
119+
final Builder builder = new Builder();
120+
builder.loader = this.loader;
121+
builder.license = this.license;
122+
builder.mappings = this.mappings;
123+
builder.globalMetadata = this.globalMetadata;
124+
builder.metadata.addAll(this.metadata);
125+
return builder;
126+
}
127+
118128
public static final class Builder {
119129

120130
final Set<StandardPluginMetadata> metadata = new LinkedHashSet<>();
@@ -150,6 +160,13 @@ public Builder globalMetadata(final Inheritable globalMetadata) {
150160
}
151161

152162
public Builder metadata(final List<StandardPluginMetadata> metadata) {
163+
Objects.requireNonNull(metadata, "metadata");
164+
this.metadata.clear();
165+
this.metadata.addAll(metadata);
166+
return this;
167+
}
168+
169+
public Builder addMetadata(final List<StandardPluginMetadata> metadata) {
153170
this.metadata.addAll(Objects.requireNonNull(metadata, "metadata"));
154171
return this;
155172
}

0 commit comments

Comments
 (0)