// Copyright 2016 Twitter. All rights reserved. // // 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 com.twitter.heron.common.config; final class Config { private final String cluster; private final String role; private final String env; private final String topologyName; private final String configPath; private Config(Builder builder) { this.cluster = builder.mCluster; this.role = builder.mRole; this.env = builder.mEnv; this.topologyName = builder.mTopologyName; this.configPath = builder.mConfigPath; } public String getCluster() { return this.cluster; } public String getRole() { return this.role; } public String getEnv() { return this.env; } public String getTopologyName() { return this.topologyName; } public String getConfigPath() { return this.configPath; } public static class Builder { private String mCluster; private String mRole; private String mEnv; private String mTopologyName; private String mConfigPath; public Builder setCluster(String cluster) { this.mCluster = cluster; return this; } public Builder setRole(String role) { this.mRole = role; return this; } public Builder setEnv(String env) { this.mEnv = env; return this; } public Builder setTopologyName(String topologyName) { this.mTopologyName = topologyName; return this; } public Builder setConfigPath(String configPath) { this.mConfigPath = configPath; return this; } public Config build() { return new Config(this); } } }