Messaging polyglot support (#1472)

added support for AMQP, KAFKA and standalone options
This commit is contained in:
Marcin Grzejszczak
2020-08-21 18:05:32 +02:00
committed by GitHub
parent c5d3456d3a
commit a915cf102b
74 changed files with 3399 additions and 791 deletions

View File

@@ -27,7 +27,7 @@ import java.util.Collection;
* @author Marcin Grzejszczak
* @since 1.1.0
*/
public interface ContractConverter<T> extends ContractStorer<T> {
public interface ContractConverter<T> extends ContractStorer<T>, ContractReader<T> {
/**
* Should this file be accepted by the converter. Can use the file extension to check

View File

@@ -0,0 +1,38 @@
/*
* Copyright 2013-2020 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.cloud.contract.spec;
/**
* Defines how to read converted contracts from a byte array representation back to
* contracts.
*
* @param <T> contracts type
* @author Marcin Grzejszczak
* @since 3.0.0
*/
public interface ContractReader<T> {
/**
* Reads contracts from bytes.
* @param bytes - byte representation of contracts
* @return contracts
*/
default T read(byte[] bytes) {
throw new UnsupportedOperationException("Can't read contract from bytes");
}
}