package com.github.dreamhead.moco.rest.builder;
import com.github.dreamhead.moco.RestIdMatcher;
import com.github.dreamhead.moco.RestSetting;
import com.github.dreamhead.moco.rest.SubResourceSetting;
import static com.github.dreamhead.moco.rest.RestIds.checkResourceName;
import static com.github.dreamhead.moco.util.Iterables.asIterable;
import static com.google.common.base.Preconditions.checkNotNull;
public class ActualSubResourceSettingBuilder implements SubResourceSettingBuilder, NamedSubResourceSettingBuilder {
private final RestIdMatcher id;
private String name;
public ActualSubResourceSettingBuilder(final RestIdMatcher id) {
this.id = id;
}
@Override
public NamedSubResourceSettingBuilder name(final String name) {
this.name = checkResourceName(name);
return this;
}
@Override
public RestSetting settings(final RestSetting restSetting, final RestSetting... restSettings) {
return new SubResourceSetting(this.id, this.name, asIterable(
checkNotNull(restSetting, "Rest setting should not be null"),
checkNotNull(restSettings, "Rest settings should not be null")));
}
}