
br.com.objectos.rio.GentooPrepareBuilderUseraddPojo Maven / Gradle / Ivy
The newest version!
/*
* Copyright 2014 Objectos, Fábrica de Software LTDA.
*
* 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
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* 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.
*/
package br.com.objectos.rio;
import static com.google.common.collect.Lists.newArrayList;
import java.util.List;
import br.com.objectos.rio.GentooPrepareBuilder.OptionalsBuilder;
import br.com.objectos.rio.GentooPrepareBuilder.UseraddBuilder;
import com.google.common.base.Joiner;
import com.google.common.collect.ImmutableList;
/**
* @author [email protected] (Marcio Endo)
*/
class GentooPrepareBuilderUseraddPojo
implements
GentooPrepareBuilder.UseraddBuilder,
GentooUseradd {
private final GentooPrepareBuilderPojo pojo;
private int uid = 1000;
private String home;
private String gid;
private List groups;
private String shell;
private String login;
public GentooPrepareBuilderUseraddPojo(GentooPrepareBuilderPojo pojo) {
this.pojo = pojo;
}
@Override
public GentooPrepareBuilderUseraddPojo uid(int uid) {
this.uid = uid;
return this;
}
@Override
public UseraddBuilder home(String home) {
this.home = home;
return this;
}
@Override
public UseraddBuilder gid(String gid) {
this.gid = gid;
return this;
}
@Override
public UseraddBuilder groups(String... groups) {
this.groups = ImmutableList.copyOf(groups);
return this;
}
@Override
public UseraddBuilder shell(String shell) {
this.shell = shell;
return this;
}
@Override
public OptionalsBuilder login(String login) {
this.login = login;
pojo.addUseradd(this);
return pojo;
}
@Override
public String toString() {
List parts = newArrayList();
parts.add("useradd");
if (uid != 1000) {
parts.add("--uid");
parts.add(Integer.toString(uid));
}
if (home != null) {
parts.add("-m");
parts.add("-d");
parts.add(home);
}
if (gid != null) {
parts.add("-g");
parts.add(gid);
}
if (groups != null) {
parts.add("-G");
parts.add(Joiner.on(".").join(groups));
}
if (shell != null) {
parts.add("-s");
parts.add(shell);
}
parts.add(login);
return Joiner.on(" ").join(parts);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy