class NamedSecretNormalizedSource extends NormalizedSource {

	private final ConfigUtils.Prefix prefix;

	private final boolean includeProfileSpecificSources;

	private final boolean appendProfileToName;

	public NamedSecretNormalizedSource(String name, String namespace, boolean failFast, ConfigUtils.Prefix prefix,
			boolean includeProfileSpecificSources, boolean appendProfileToName) {
		super(name, namespace, failFast);
		this.prefix = Objects.requireNonNull(prefix);
		this.includeProfileSpecificSources = includeProfileSpecificSources;
		this.appendProfileToName = appendProfileToName;
	}

	public NamedSecretNormalizedSource(String name, String namespace, boolean failFast,
			boolean includeProfileSpecificSources) {
		this(name, namespace, failFast, ConfigUtils.Prefix.DEFAULT, includeProfileSpecificSources, false);
	}

	public NamedSecretNormalizedSource(String name, String namespace, boolean failFast, ConfigUtils.Prefix prefix,
			boolean includeProfileSpecificSources) {
		this(name, namespace, failFast, prefix, includeProfileSpecificSources, false);
	}

	public boolean profileSpecificSources() {
		return includeProfileSpecificSources;
	}

	/**
	 * append or not the active profiles to the name of the generated source. At the
	 * moment this is true only for config server generated sources.
	 */
	public boolean appendProfileToName() {
		return appendProfileToName;
	}

	public ConfigUtils.Prefix prefix() {
		return prefix;
	}

	@Override
	public NormalizedSourceType type() {
		return NormalizedSourceType.NAMED_SECRET;
	}

	@Override
	public String target() {
		return "secret";
	}

	@Override
	public String toString() {<FILL_FUNCTION_BODY>}

	@Override
	public boolean equals(Object o) {
		if (this == o) {
			return true;
		}
		if (o == null || getClass() != o.getClass()) {
			return false;
		}
		NamedSecretNormalizedSource other = (NamedSecretNormalizedSource) o;
		return Objects.equals(name(), other.name()) && Objects.equals(namespace(), other.namespace());
	}

	@Override
	public int hashCode() {
		return Objects.hash(name(), namespace());
	}

}

		return "{ secret name : '" + name() + "', namespace : '" + namespace() + "'";
	
<methods>public abstract boolean equals(java.lang.Object) ,public final boolean failFast() ,public abstract int hashCode() ,public final Optional<java.lang.String> name() ,public final Optional<java.lang.String> namespace() ,public abstract java.lang.String target() ,public abstract java.lang.String toString() ,public abstract org.springframework.cloud.kubernetes.commons.config.NormalizedSourceType type() <variables>permits LabeledConfigMapNormalizedSource,permits LabeledSecretNormalizedSource,permits NamedConfigMapNormalizedSource,permits NamedSecretNormalizedSource,private final non-sealed boolean failFast,private final non-sealed java.lang.String name,private final non-sealed java.lang.String namespace