/*
* 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.test.metadata.extension;
import org.mule.runtime.extension.api.annotation.param.Content;
import org.mule.runtime.extension.api.annotation.metadata.MetadataKeyId;
import org.mule.runtime.extension.api.annotation.metadata.OutputResolver;
import org.mule.runtime.extension.api.annotation.metadata.TypeResolver;
import org.mule.runtime.extension.api.annotation.param.Connection;
import org.mule.runtime.extension.api.annotation.param.Optional;
import org.mule.test.metadata.extension.resolver.TestMetadataResolverMetadataResolvingFailure;
import org.mule.test.metadata.extension.resolver.TestMetadataResolverRuntimeExceptionFailure;
public class MetadataFailureOperations extends MetadataOperationsParent {
// NamedTypeResolver throws MetadataResolvingException
@OutputResolver(output = TestMetadataResolverMetadataResolvingFailure.class)
public Object failWithResolvingException(@Connection MetadataConnection connection,
@MetadataKeyId(TestMetadataResolverMetadataResolvingFailure.class) String type,
@Optional @Content @TypeResolver(TestMetadataResolverMetadataResolvingFailure.class) Object content) {
return null;
}
// With keysResolver resolver and without KeyParam
public void keyIdWithoutKeyResolver(@Connection MetadataConnection connection, @MetadataKeyId String type) {}
// Resolver for content and output type
// With keysResolver and KeyParam
@OutputResolver(output = TestMetadataResolverRuntimeExceptionFailure.class)
public Object failWithRuntimeException(@Connection MetadataConnection connection,
@MetadataKeyId(TestMetadataResolverRuntimeExceptionFailure.class) String type,
@Optional @TypeResolver(TestMetadataResolverRuntimeExceptionFailure.class) Object content) {
return null;
}
}