/*
* Copyright 2017-2020 original 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 io.micronaut.inject.configuration;
import io.micronaut.core.io.Writable;
import java.io.IOException;
import java.io.Writer;
Metadata about a property.
Author: Graeme Rocher
/**
* Metadata about a property.
*
* @author Graeme Rocher
*/
public class PropertyMetadata implements Writable {
String type;
String name;
String description;
String path;
String defaultValue;
String declaringType;
Returns: The type
/**
* @return The type
*/
public String getType() {
return type;
}
Returns: The name
/**
* @return The name
*/
public String getName() {
return name;
}
Returns: The description
/**
* @return The description
*/
public String getDescription() {
return description;
}
Returns: The path
/**
* @return The path
*/
public String getPath() {
return path;
}
Returns: The default value
/**
* @return The default value
*/
public String getDefaultValue() {
return defaultValue;
}
Returns: The declaring type
/**
* @return The declaring type
*/
public String getDeclaringType() {
return declaringType;
}
@Override
public void writeTo(Writer out) throws IOException {
out.write('{');
ConfigurationMetadataBuilder.writeAttribute(out, "name", path);
out.write(',');
ConfigurationMetadataBuilder.writeAttribute(out, "type", type);
out.write(',');
ConfigurationMetadataBuilder.writeAttribute(out, "sourceType", declaringType);
if (description != null) {
out.write(',');
ConfigurationMetadataBuilder.writeAttribute(out, "description", description);
}
if (defaultValue != null) {
out.write(',');
ConfigurationMetadataBuilder.writeAttribute(out, "defaultValue", defaultValue);
}
out.write('}');
}
@Override
public String toString() {
return "PropertyMetadata{" +
"type='" + type + '\'' +
", name='" + name + '\'' +
", description='" + description + '\'' +
", path='" + path + '\'' +
", defaultValue='" + defaultValue + '\'' +
", declaringType='" + declaringType + '\'' +
'}';
}
}