⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 resultsfactoryimpl.java

📁 p2p仿真器。开发者可以工作在覆盖层中进行创造和测试逻辑算法或者创建和测试新的服务。PlanetSim还可以将仿真代码平稳转换为在Internet上的实验代码
💻 JAVA
字号:
package planet.generic.commonapi.results;

import planet.commonapi.Id;
import planet.commonapi.exception.InitializationException;
import planet.commonapi.results.ResultsConstraint;
import planet.commonapi.results.ResultsEdge;
import planet.commonapi.results.ResultsFactory;
import planet.commonapi.results.ResultsGenerator;
import planet.generic.commonapi.factory.GenericFactory;

/**
 * Factory to build any specified results implementation classes.
 * @author <a href="mailto: marc.sanchez@estudiants.urv.es">Marc Sanchez</a>
 * @author <a href="mailto: jordi.pujol@estudiants.urv.es">Jordi Pujol</a>
 */
public class ResultsFactoryImpl implements ResultsFactory {
    
    /** ResultsEdge implementation class to use. */
    private Class resultsEdge = null;
    /** ResultsGenerator implementation class to use. */
    private Class resultsGenerator = null;
    /** ResultsConstraint implementation class to use. */
    private Class resultsConstraint = null;
    

    /**
     * Builds an uninitialized ResultsFactoryImpl. Requires the 
     * <b>setValues(...)</b> invokation.
     */
    public ResultsFactoryImpl() {}
    
    /**
     * Sets the initial values for this ResultsFactory.
     * @param resultsEdge Class reference of the current ResultsEdge implementation.
     * @param resultsConstraint Class reference of the current ResultsConstraint
     * implementation.
     * @param resultsGenerator Class reference of the current ResultsGenerator 
     * implementation.
     * @return The same instance once it has been updated.
     * @throws InitializationException if some error occurs during the
     * initialization process.
     * @see planet.commonapi.results.ResultsFactory#setValues(java.lang.Class, java.lang.Class, java.lang.Class)
     */
    public ResultsFactory setValues(Class resultsEdge, Class resultsConstraint,
            Class resultsGenerator) throws InitializationException {
        this.resultsEdge = resultsEdge;
        this.resultsConstraint = resultsConstraint;
        this.resultsGenerator = resultsGenerator;
        return this;
    }
    
    /**
     * Build a ResultsEdge with the specified values.
     * @param source Source node Id.
     * @param target Destination node Id.
     * @param directed true when the edge is directed. false in other case.
     * @param fill Fill color in "#RRGGBB" format.
     * @return An instance of ResultsEdge.
     * @throws InitializationException if an error occurs during the initialization.
     */
    public ResultsEdge buildEdge(Id source, Id target, boolean directed, String fill) throws InitializationException
    {
        return ((ResultsEdge)GenericFactory.newInstance(resultsEdge)).setValues(source,target,directed,fill);
    }

    
    /**
     * Builds the ResultsGenerator specified in the current configuration.
     * @return The ResultsGenerator.
     * @throws InitializationException if an error occurs during the initialization.
     */
    public ResultsGenerator buildGenerator() throws InitializationException 
    {
        return (ResultsGenerator)GenericFactory.newInstance(resultsGenerator);
    }
    
    /**
     * Build the ResultsConstraint specified in the current configuration.
     * @return The ResultsConstraint.
     * @throws InitializationException if an error occurs during the initialization.
     */
    public ResultsConstraint buildConstraint() throws InitializationException 
    {
        return (ResultsConstraint)GenericFactory.newInstance(resultsConstraint);
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -