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

📄 genericfactory.java

📁 p2p仿真器。开发者可以工作在覆盖层中进行创造和测试逻辑算法或者创建和测试新的服务。PlanetSim还可以将仿真代码平稳转换为在Internet上的实验代码
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
     * Builds a new instance of IdFactory.
     * @return A new instance of the default IdFactory implementation.
     * @throws InitializationException if occurs some problem with the 
     * factory initialization.
     */
    public static IdFactory buildIdFactory()
            throws InitializationException {
        return ((IdFactory)newInstance(Properties.factoriesIdFactory))
            .setValues(Properties.overlayId,Properties.factoriesNetworkTopology,
                    Properties.factoriesNetworkSize);
    }
    
    /**
     * @see planet.commonapi.factory.IdFactory#buildId()
     */
    public static Id buildId() throws InitializationException {
        return factoryIdFactory.buildId();
    }

    /**
     * @see planet.commonapi.factory.IdFactory#buildId(int)
     */
    public static Id buildId(int material) throws InitializationException {
        return factoryIdFactory.buildId(material);
    }

    /**
     * @see planet.commonapi.factory.IdFactory#buildId(double)
     */
    public static Id buildId(double material) throws InitializationException {
        return factoryIdFactory.buildId(material);
    }

    /**
     * @see planet.commonapi.factory.IdFactory#buildId(byte[])
     */
    public static Id buildId(byte[] material) throws InitializationException {
        return factoryIdFactory.buildId(material);
    }

    /**
     * @see planet.commonapi.factory.IdFactory#buildId(int[])
     */
    public static Id buildId(int[] material) throws InitializationException {
        return factoryIdFactory.buildId(material);
    }

    /**
     * @see planet.commonapi.factory.IdFactory#buildKey(java.lang.String)
     */
    public static Id buildKey(String string) throws InitializationException {
        return factoryIdFactory.buildKey(string);
    }

    /**
     * @see planet.commonapi.factory.IdFactory#buildId(java.lang.String)
     */
    public static Id buildId(String string) throws InitializationException {
        return factoryIdFactory.buildId(string);
    }

    /**
     * @see planet.commonapi.factory.IdFactory#buildId(java.math.BigInteger)
     */
    public static Id buildId(java.math.BigInteger bigNumber)
            throws InitializationException {
        return factoryIdFactory.buildId(bigNumber);
    }

    /**
     * @see planet.commonapi.factory.IdFactory#buildId(java.lang.String,java.lang.String)
     * @see <a href="http://java.sun.com/j2se/1.4.2/docs/guide/security/CryptoSpec.html#AppA">
     *      Java Cryptography Architecture API Specification & Reference </a>
     */
    public static Id buildId(String material, String algorithm)
            throws InitializationException {
        return factoryIdFactory.buildId(material, algorithm);
    }

    /**
     * @see planet.commonapi.factory.IdFactory#buildRandomId()
     */
    public static Id buildRandomId() throws InitializationException {
        return factoryIdFactory.buildRandomId();
    }

    /**
     * @see planet.commonapi.factory.IdFactory#buildDistributedIds(int)
     */
    public static java.util.Iterator buildDistributedIds(int desiredNetworkSize)
            throws InitializationException {
        return factoryIdFactory.buildDistributedIds(desiredNetworkSize);
    }
    
    /* ************* NODEHANDLE RELATED METHODS ******************************/
    
    /**
     * Builds a new instance of NodeHandleFactory following the current
     * configuration.
     * @return A new instance of NodeHandleFactory
     * @throws InitializationException if some error occurs during
     * the initialization process.
     */
    public static NodeHandleFactory buildNodeHandleFactory() throws InitializationException
    {
        return ((NodeHandleFactory)newInstance(Properties.factoriesNodeHandleFactory)).
                setValues(Properties.factoriesNodeHandle);
    }
    
    /**
     * @see planet.commonapi.factory.NodeHandleFactory#buildNodeHandle(planet.commonapi.Id,boolean)
     */
    public static NodeHandle buildNodeHandle(Id nodeId, boolean alive)
            throws InitializationException {
        return factoryNodeHandleFactory.buildNodeHandle(nodeId, alive);
    }
    
    /* *********************** NODE RELATED METHODS **************************/
    
    /**
     * Builds a new instance of NodeFactory following the current
     * configuration.
     * @return A new instance of NodeFactory.
     * @throws InitializationException if some error occurs during
     * the initialization process.
     */
    public static NodeFactory buildNodeFactory() throws InitializationException
    {
        return ((NodeFactory)newInstance(Properties.factoriesNodeFactory)).
            setValues(factoryIdFactory,Properties.overlayNode);
    }
    
    /**
     * @see planet.commonapi.factory.NodeFactory#buildNode()
     */
    public static Node buildNode() throws InitializationException {
        return factoryNodeFactory.buildNode();
    }

    /**
     * @see planet.commonapi.factory.NodeFactory#buildNode(planet.commonapi.Id)
     */
    public static Node buildNode(Id id) throws InitializationException {
        return factoryNodeFactory.buildNode(id);
    }

    /* ************** ROUTEMESSAGE RELATED METHODS ****************************/
    
    /**
     * Builds an instance of the current RouteMessagePool implementation.
     * @return An instance of the current RouteMessagePool implementation.
     * @throws InitializationException if any errors occurs during the
     * initialization process.
     */
    public static RouteMessagePool buildRouteMessagePool() throws InitializationException
    {
        return (RouteMessagePool)newInstance(Properties.factoriesRouteMessagePool);
    }
    
    /**
     * @see planet.commonapi.factory.RouteMessagePool#freeMessage(planet.commonapi.RouteMessage)
     */
    public static void freeMessage(RouteMessage msg) {
        routeMessagePool.freeMessage(msg);
    }
    /**
     * @see planet.commonapi.factory.RouteMessagePool#getMessage(java.lang.String, planet.commonapi.NodeHandle, planet.commonapi.NodeHandle, int, int)
     */
    public static RouteMessage getMessage(String key, NodeHandle from, NodeHandle to,
            int type, int mode) throws InitializationException {
        return routeMessagePool.getMessage(key,from,to,type,mode);
    }
    /**
     * @see planet.commonapi.factory.RouteMessagePool#getMessage(String, NodeHandle, NodeHandle, NodeHandle, int, int, Message, String)
     */
    public static RouteMessage getMessage(String key, NodeHandle from, NodeHandle to,
            NodeHandle nextHop, Message msg, int type, int mode, String appId)
            throws InitializationException {
        return routeMessagePool.getMessage(key,from,to,nextHop,type,mode,msg,appId);
    }
    
    /**
     * @see planet.commonapi.factory.RouteMessagePool#getBuiltRouteMessages()
     */
    public static int getBuiltRouteMessages() {
        return routeMessagePool.getBuiltRouteMessages();
    }
    /**
     * @see planet.commonapi.factory.RouteMessagePool#getFreeRouteMessages()
     */
    public static int getFreeRouteMessages() {
        return routeMessagePool.getFreeRouteMessages();
    }
    /**
     * @see planet.commonapi.factory.RouteMessagePool#getReusedRouteMessages()
     */
    public static int getReusedRouteMessages() {
        return routeMessagePool.getReusedRouteMessages();
    }
    
    /* ************* APPLICATION RELATED METHODS ******************************/

    /**
     * Test if the application level part is activated.
     * @throws InitializationException only if the application level part is 
     * not activated.
     */
    private static void ensureActivatedApplicationLevel() throws InitializationException
    {
        if (!Properties.isApplicationLevelActivated())
            throw new InitializationException("The current configuration has not the application level activated.");
    }

    
    /**
     * Builds a new instance of ApplicationFactory following the current
     * configuration.
     * @return A new instance of ApplicationFactory.
     * @throws InitializationException if some error occurs during
     * the initialization process.
     */
    public static ApplicationFactory buildApplicationFactory() throws InitializationException
    {
        ensureActivatedApplicationLevel();
        return ((ApplicationFactory)GenericFactory.newInstance(Properties.factoriesApplicationFactory)).
            setValues(Properties.factoriesApplication);
    }
    
    /**
     * @see planet.commonapi.factory.ApplicationFactory#buildApplication()
     */
    public static Application buildApplication() throws InitializationException {
        ensureActivatedApplicationLevel();
        return factoryApplicationFactory.buildApplication();
    }

    /**
     * @see planet.commonapi.factory.ApplicationFactory#buildApplication(java.lang.String)
     */
    public static Application buildApplication(String app) throws InitializationException {
        ensureActivatedApplicationLevel();
        return factoryApplicationFactory.buildApplication(app);
    }

    /**
     * @see planet.commonapi.factory.ApplicationFactory#buildApplicationWithName(java.lang.String)
     */
    public static Application buildApplicationWithName(String name)
            throws InitializationException {
        ensureActivatedApplicationLevel();
        return factoryApplicationFactory.buildApplicationWithName(name);
    }

    /**
     * @see planet.commonapi.factory.ApplicationFactory#buildApplicationWithName(java.lang.String,
     *      java.lang.String)
     */
    public static Application buildApplicationWithName(String app, String name)
            throws InitializationException {
        ensureActivatedApplicationLevel();
        return factoryApplicationFactory.buildApplicationWithName(app, name);
    }
    
    /* ********************** ENDPOINT RELATED METHODS ************************/
    
    /**
     * Builds a new instance of EndPointFactory following the current
     * configuration.
     * @return A new instance of EndPointFactory.
     * @throws InitializationException if some error occurs during
     * the initialization process.
     */
    public static EndPointFactory buildEndPointFactory() throws InitializationException
    {
        ensureActivatedApplicationLevel();
        return ((EndPointFactory)GenericFactory.newInstance(Properties.factoriesEndPointFactory)).
            setValues(Properties.factoriesEndPoint);
    }

    /**
     * @see planet.commonapi.factory.EndPointFactory#buildEndPoint(planet.commonapi.Application,planet.commonapi.Node)
     */
    public static EndPoint buildEndPoint(Application app, Node node)
            throws InitializationException {
        ensureActivatedApplicationLevel();
        return factoryEndPointFactory.buildEndPoint(app, node);
    }
    

⌨️ 快捷键说明

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