
jadex.requiredservice.impl.MicroRequiredServiceFeatureProvider Maven / Gradle / Ivy
package jadex.requiredservice.impl;
import java.util.Set;
import jadex.core.impl.Component;
import jadex.core.impl.FeatureProvider;
import jadex.micro.MicroAgent;
import jadex.micro.impl.MicroAgentFeatureProvider;
import jadex.providedservice.IProvidedServiceFeature;
import jadex.requiredservice.IRequiredServiceFeature;
public class MicroRequiredServiceFeatureProvider extends FeatureProvider
{
@Override
public Class getFeatureType()
{
return IRequiredServiceFeature.class;
}
@Override
public IRequiredServiceFeature createFeatureInstance(Component self)
{
return new MicroRequiredServiceFeature(self);
}
@Override
public Class extends Component> getRequiredComponentType()
{
return MicroAgent.class;
}
/**
* Get the predecessors, i.e. features that should be inited first.
* @return The predecessors.
*/
public Set> getPredecessors(Set> all)
{
return Set.of(IProvidedServiceFeature.class);
}
@Override
public boolean replacesFeatureProvider(FeatureProvider provider)
{
return provider instanceof RequiredServiceFeatureProvider;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy