/** * Copyright 2012-2013 Maciej Jaworski, Mariusz Kapcia, Paweł Kędzia, Mateusz Kubuszok * * <p>Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at</p> * * <p>http://www.apache.org/licenses/LICENSE-2.0</p> * * <p>Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License.</p> */ package com.autoupdater.client.models; import java.util.SortedSet; /** * Builder that creates Package instances. * * @see com.autoupdater.client.models.Package */ public class PackageBuilder { private final Package _package; private PackageBuilder() { _package = new Package(); } /** * Creates new PackageBuilder. * * @return PackageBuilder */ public static PackageBuilder builder() { return new PackageBuilder(); } public PackageBuilder copy(Package _package) { this._package.setID(_package.getID()); this._package.setChangelog(_package.getChangelog()); this._package.setName(_package.getName()); this._package.setProgram(_package.getProgram()); this._package.setUpdates(_package.getUpdates()); this._package.setVersionNumber(_package.getVersionNumber()); return this; } public PackageBuilder setName(String name) { _package.setName(name); return this; } public PackageBuilder setID(String id) { _package.setID(id); return this; } public PackageBuilder setProgram(Program program) { _package.setProgram(program); return this; } public PackageBuilder setUpdates(SortedSet<Update> update) { _package.setUpdates(update); return this; } public PackageBuilder setChangelog(SortedSet<ChangelogEntry> changelog) { _package.setChangelog(changelog); return this; } public PackageBuilder setVersionNumber(int major, int minor, int release, int nightly) { _package.setVersionNumber(major, minor, release, nightly); return this; } public PackageBuilder setVersionNumber(String versionNumber) { _package.setVersionNumber(versionNumber); return this; } public PackageBuilder setVersionNumber(VersionNumber versionNumber) { _package.setVersionNumber(versionNumber); return this; } /** * Builds Package. * * @return Package */ public Package build() { return _package; } }