package org.limewire.core.impl.magnet; import java.net.URI; import org.limewire.core.api.magnet.MagnetFactory; import org.limewire.core.api.magnet.MagnetLink; import com.google.inject.Singleton; import com.limegroup.gnutella.browser.MagnetOptions; @Singleton public class MagnetFactoryImpl implements MagnetFactory { @Override public boolean isMagnetLink(URI uri) { return uri != null && "magnet".equalsIgnoreCase(uri.getScheme()); } @Override public MagnetLink[] parseMagnetLink(URI uri) { MagnetOptions[] magnetOptions = MagnetOptions.parseMagnet(uri.toString()); MagnetLink[] magnetLinks = new MagnetLink[magnetOptions.length]; for (int i = 0; i < magnetLinks.length; i++) { magnetLinks[i] = new MagnetLinkImpl(magnetOptions[i]); } return magnetLinks; } }