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

📄 instantiator.java

📁 JXTA&#8482 is a set of open, generalized peer-to-peer (P2P) protocols that allow any networked devi
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
        PeerGroupID  peerGroupID = (PeerGroupID) IDFormat.translateFromWellKnown(groupID);                return new CodatID(peerGroupID, in);    }        /**     * {@inheritDoc}     */    public net.jxta.codat.CodatID newCodatID(net.jxta.peergroup.PeerGroupID groupID, byte[] seed, InputStream in) throws IOException {        PeerGroupID  peerGroupID = (PeerGroupID) IDFormat.translateFromWellKnown(groupID);                return new CodatID(peerGroupID, seed, in);    }        /**     * {@inheritDoc}     */    public net.jxta.peergroup.PeerGroupID newPeerGroupID() {        return new PeerGroupID();    }        /**     * {@inheritDoc}     */    public net.jxta.peergroup.PeerGroupID newPeerGroupID(byte[] seed) {        return new PeerGroupID(seed);    }        /**     * {@inheritDoc}     */    public net.jxta.peergroup.PeerGroupID newPeerGroupID(net.jxta.peergroup.PeerGroupID parent) {        PeerGroupID  parentGroupID = (PeerGroupID) IDFormat.translateFromWellKnown(parent);                return new PeerGroupID(parentGroupID);    }        /**     * {@inheritDoc}     */    public net.jxta.peergroup.PeerGroupID newPeerGroupID(net.jxta.peergroup.PeerGroupID parent, byte[] seed) {        PeerGroupID  parentGroupID = (PeerGroupID) IDFormat.translateFromWellKnown(parent);                return new PeerGroupID(parentGroupID, seed);    }        /**     * {@inheritDoc}     */    public net.jxta.peer.PeerID newPeerID(net.jxta.peergroup.PeerGroupID groupID) {        PeerGroupID  peerGroupID = (PeerGroupID) IDFormat.translateFromWellKnown(groupID);                return new PeerID(peerGroupID);    }        /**     * {@inheritDoc}     */    public net.jxta.peer.PeerID newPeerID(net.jxta.peergroup.PeerGroupID groupID, byte[] seed) {        PeerGroupID  peerGroupID = (PeerGroupID) IDFormat.translateFromWellKnown(groupID);                return new PeerID(peerGroupID, seed);    }        /**     * {@inheritDoc}     */    public net.jxta.pipe.PipeID newPipeID(net.jxta.peergroup.PeerGroupID groupID) {        PeerGroupID  peerGroupID = (PeerGroupID) IDFormat.translateFromWellKnown(groupID);                return new PipeID(peerGroupID);    }        /**     * {@inheritDoc}     */    public net.jxta.pipe.PipeID newPipeID(net.jxta.peergroup.PeerGroupID groupID, byte[] seed) {        PeerGroupID  peerGroupID = (PeerGroupID) IDFormat.translateFromWellKnown(groupID);                return new PipeID(peerGroupID, seed);    }        /**     * {@inheritDoc}     */    public net.jxta.platform.ModuleClassID newModuleClassID() {        return new ModuleClassID();    }        /**     * {@inheritDoc}     */    public net.jxta.platform.ModuleClassID newModuleClassID(net.jxta.platform.ModuleClassID classID) {        return new ModuleClassID((ModuleClassID) classID);    }        /**     * {@inheritDoc}     */    public net.jxta.platform.ModuleSpecID newModuleSpecID(net.jxta.platform.ModuleClassID classID) {        return new ModuleSpecID((ModuleClassID) classID);    }        /**     * {@inheritDoc}     */    public net.jxta.id.ID fromURI(URI source) throws URISyntaxException {                // check the protocol        if (!net.jxta.id.ID.URIEncodingName.equalsIgnoreCase(source.getScheme())) {            throw new URISyntaxException(source.toString(), "URI scheme was not as expected.");        }                String decoded = source.getSchemeSpecificPart();                int colonAt = decoded.indexOf(':');                // There's a colon right?        if (-1 == colonAt) {            throw new URISyntaxException(source.toString(), "URN namespace was missing.");        }                // check the namespace        if (!net.jxta.id.ID.URNNamespace.equalsIgnoreCase(decoded.substring(0, colonAt))) {            throw new URISyntaxException(source.toString()                    ,                    "URN namespace was not as expected. (" + net.jxta.id.ID.URNNamespace + "!=" + decoded.substring(0, colonAt)                    + ")");        }                // skip the namespace portion and the colon        decoded = decoded.substring(colonAt + 1);                return fromURNNamespaceSpecificPart(decoded);    }        /**     * {@inheritDoc}     */    public net.jxta.id.ID fromURNNamespaceSpecificPart(String source) throws URISyntaxException {        int dashAt = source.indexOf('-');                // there's a dash, right?        if (-1 == dashAt) {            throw new URISyntaxException(source, "URN Encodingtype was missing.");        }                if (!source.substring(0, dashAt).equals(getSupportedIDFormat())) {            throw new URISyntaxException(source, "JXTA ID Format was not as expected.");        }                // skip the dash        source = source.substring(dashAt + 1);                // check that the length is even        if (0 != (source.length() % 2)) {            throw new URISyntaxException(source, "URN contains an odd number of chars");        }                // check that the length is long enough        if (source.length() < 2) {            throw new URISyntaxException(source, "URN does not contain enough chars");        }                // check that id is short enough        if (IDFormat.IdByteArraySize < (source.length() / 2)) {            throw new URISyntaxException(source, "URN contains too many chars");        }                net.jxta.id.ID result = null;        IDBytes id = new IDBytes();                try {            // do the primary portion.            for (int eachByte = 0; eachByte < ((source.length() / 2) - IDFormat.flagsSize); eachByte++) {                int index = eachByte * 2;                String twoChars = source.substring(index, index + 2);                id.bytes[eachByte] = (byte) Integer.parseInt(twoChars, 16);            }                        // do the flags            for (int eachByte = IDFormat.flagsOffset; eachByte < IDFormat.IdByteArraySize; eachByte++) {                int index = source.length() - (IDFormat.IdByteArraySize - eachByte) * 2;                String twoChars = source.substring(index, index + 2);                id.bytes[eachByte] = (byte) Integer.parseInt(twoChars, 16);            }        } catch (NumberFormatException caught) {            throw new URISyntaxException(source, "Invalid Character in JXTA URI");        }                switch (id.bytes[IDFormat.flagsOffset + IDFormat.flagsIdTypeOffset]) {        case IDFormat.flagCodatID:            result = new CodatID(id);            break;        case IDFormat.flagPeerGroupID:            result = new PeerGroupID(id);            result = IDFormat.translateToWellKnown(result);            break;        case IDFormat.flagPeerID:            result = new PeerID(id);            break;        case IDFormat.flagPipeID:            result = new PipeID(id);            break;        case IDFormat.flagModuleClassID:            result = new ModuleClassID(id);            break;        case IDFormat.flagModuleSpecID:            result = new ModuleSpecID(id);            break;        default:            throw new URISyntaxException(source, "JXTA ID Type not recognized");        }                return result;    }}

⌨️ 快捷键说明

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