| package org.apache.helix; |
| |
| /* |
| * Licensed to the Apache Software Foundation (ASF) under one |
| * or more contributor license agreements. See the NOTICE file |
| * distributed with this work for additional information |
| * regarding copyright ownership. The ASF licenses this file |
| * to you 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. |
| */ |
| |
| /* |
| * Identifying constants of the components in a Helix-managed cluster |
| */ |
| public interface HelixConstants { |
| // TODO: ChangeType and PropertyType are duplicated, consider unifying |
| enum ChangeType { |
| // @formatter:off |
| IDEAL_STATE (PropertyType.IDEALSTATES), |
| CONFIG (PropertyType.CONFIGS), |
| INSTANCE_CONFIG (PropertyType.CONFIGS), |
| RESOURCE_CONFIG (PropertyType.CONFIGS), |
| CUSTOMIZED_STATE_CONFIG (PropertyType.CONFIGS), |
| CLUSTER_CONFIG (PropertyType.CONFIGS), |
| LIVE_INSTANCE (PropertyType.LIVEINSTANCES), |
| CURRENT_STATE (PropertyType.CURRENTSTATES), |
| TASK_CURRENT_STATE (PropertyType.TASKCURRENTSTATES), |
| CUSTOMIZED_STATE_ROOT (PropertyType.CUSTOMIZEDSTATES), |
| CUSTOMIZED_STATE (PropertyType.CUSTOMIZEDSTATES), |
| MESSAGE (PropertyType.MESSAGES), |
| EXTERNAL_VIEW (PropertyType.EXTERNALVIEW), |
| CUSTOMIZED_VIEW (PropertyType.CUSTOMIZEDVIEW), |
| CUSTOMIZED_VIEW_ROOT (PropertyType.CUSTOMIZEDVIEW), |
| TARGET_EXTERNAL_VIEW (PropertyType.TARGETEXTERNALVIEW), |
| CONTROLLER (PropertyType.CONTROLLER), |
| MESSAGES_CONTROLLER (PropertyType.MESSAGES_CONTROLLER), |
| HEALTH (PropertyType.HEALTHREPORT); |
| // @formatter:on |
| |
| private final PropertyType _propertyType; |
| |
| ChangeType(PropertyType propertyType) { |
| _propertyType = propertyType; |
| } |
| |
| public PropertyType getPropertyType() { |
| return _propertyType; |
| } |
| } |
| |
| /** |
| * Use IdealState.PreferentListToken instead. |
| */ |
| @Deprecated |
| enum StateModelToken { |
| ANY_LIVEINSTANCE |
| } |
| |
| /** |
| * Please use ClusterConfig instead |
| */ |
| @Deprecated |
| enum ClusterConfigType { |
| HELIX_DISABLE_PIPELINE_TRIGGERS, |
| PERSIST_BEST_POSSIBLE_ASSIGNMENT |
| } |
| |
| String DEFAULT_STATE_MODEL_FACTORY = "DEFAULT"; |
| } |