package org.springframework.cloud;
import org.springframework.cloud.service.ServiceInfo;
/**
* Fallback service info creator to deal with situations there is no {@link ServiceInfoCreator} that can
* accept service data.
*
* A fallback mechanism is needed, for example, when a services is bound to an app, but there is no {@link ServiceInfoCreator}
* implemented to handle it or the {@link ServiceInfoCreator} implementation
* for it isn't placed properly to be picked up by scanning. By having a fallback mechanism, we can
* extract as much info from the service data as possible (minimally, the service id) and issue a warning.
*
* @param <SI> the type of {@link ServiceInfo} that this fallback creator will return
* @param <SD> the type of service definition data that this creator will consume
* @author Ramnivas Laddad
*/
public abstract class FallbackServiceInfoCreator<SI extends ServiceInfo, SD> implements ServiceInfoCreator<SI, SD> {
/*
* Override to ensure that it accepts all service data
*/
@Override
public final boolean accept(SD serviceData) {
return true;
}
}