spring ConfigurationMetadataHint 源码

  • 2022-08-12
  • 浏览 (492)

springboot ConfigurationMetadataHint 代码

文件路径:/spring-boot-project/spring-boot-tools/spring-boot-configuration-metadata/src/main/java/org/springframework/boot/configurationmetadata/ConfigurationMetadataHint.java

/*
 * Copyright 2012-2019 the original author or authors.
 *
 * 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
 *
 *      https://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 org.springframework.boot.configurationmetadata;

import java.util.ArrayList;
import java.util.List;

/**
 * A raw view of a hint used for parsing only.
 *
 * @author Stephane Nicoll
 */
class ConfigurationMetadataHint {

	private static final String KEY_SUFFIX = ".keys";

	private static final String VALUE_SUFFIX = ".values";

	private String id;

	private final List<ValueHint> valueHints = new ArrayList<>();

	private final List<ValueProvider> valueProviders = new ArrayList<>();

	boolean isMapKeyHints() {
		return (this.id != null && this.id.endsWith(KEY_SUFFIX));
	}

	boolean isMapValueHints() {
		return (this.id != null && this.id.endsWith(VALUE_SUFFIX));
	}

	String resolveId() {
		if (isMapKeyHints()) {
			return this.id.substring(0, this.id.length() - KEY_SUFFIX.length());
		}
		if (isMapValueHints()) {
			return this.id.substring(0, this.id.length() - VALUE_SUFFIX.length());
		}
		return this.id;
	}

	String getId() {
		return this.id;
	}

	void setId(String id) {
		this.id = id;
	}

	List<ValueHint> getValueHints() {
		return this.valueHints;
	}

	List<ValueProvider> getValueProviders() {
		return this.valueProviders;
	}

}

相关信息

spring 源码目录

相关文章

spring ConfigurationMetadataGroup 源码

spring ConfigurationMetadataItem 源码

spring ConfigurationMetadataProperty 源码

spring ConfigurationMetadataRepository 源码

spring ConfigurationMetadataRepositoryJsonBuilder 源码

spring ConfigurationMetadataSource 源码

spring Deprecation 源码

spring Hints 源码

spring JsonReader 源码

spring RawConfigurationMetadata 源码

0  赞