All Downloads are FREE. Search and download functionalities are using the official Maven repository.

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 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