/*
* Copyright (c) MuleSoft, Inc. All rights reserved. http://www.mulesoft.com
* The software in this package is published under the terms of the CPAL v1.0
* license, a copy of which has been included with this distribution in the
* LICENSE.txt file.
*/
package org.mule.runtime.module.extension.internal.loader.java.property.oauth;
import static java.util.Collections.unmodifiableMap;
import org.mule.runtime.api.meta.model.ModelProperty;
import org.mule.runtime.api.meta.model.connection.ConnectionProviderModel;
import org.mule.runtime.extension.api.annotation.connectivity.oauth.OAuthCallbackValue;
import java.lang.reflect.Field;
import java.util.Map;
/**
* A private {@link ModelProperty} to be used on OAuth enabled {@link ConnectionProviderModel}s
* to indicate which fields are to be used as callback values
*
* @since 4.0
* @see OAuthCallbackValue
*/
public class OAuthCallbackValuesModelProperty implements ModelProperty {
private final Map<Field, String> callbackValues;
/**
* Creates a new instance
* @param callbackValues a {@link Map} in which the keys are {@link Field}s and the values are the expressions
* that will generate their values
*/
public OAuthCallbackValuesModelProperty(Map<Field, String> callbackValues) {
this.callbackValues = unmodifiableMap(callbackValues);
}
/**
* @return a {@link Map} in which the keys are {@link Field}s and the values are the expressions
* that will generate their values
*/
public Map<Field, String> getCallbackValues() {
return callbackValues;
}
/**
* {@inheritDoc}
* @return {@code oauthCallbackValues}
*/
@Override
public String getName() {
return "oauthCallbackValues";
}
/**
* {@inheritDoc}
* @return {@code false}
*/
@Override
public boolean isPublic() {
return false;
}
}