// Path: xm-lep-api/src/main/java/com/icthh/xm/lep/api/LepResourceKey.java
// public interface LepResourceKey {
// 
//     String getId();
// 
//     Version getVersion();
// 
// }
// 
// Path: xm-lep-api/src/main/java/com/icthh/xm/lep/api/Version.java
// public interface Version {
// 
//     /**
//      * Gets version identificator, for example:
//      * <br>
//      * 'b324', '1-alpha', '1.2.3', '1.0-RELEASE', '2.2-RC1', '2.2.3-M1', '12032017112331', etc.
//      *
//      * @return version id
//      */
//     String getId();
// 
// }


import static java.util.stream.Collectors.mapping;
import static java.util.stream.Collectors.toList;
import com.icthh.xm.lep.api.LepResourceKey;
import com.icthh.xm.lep.api.Version;
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import java.net.URLStreamHandler;
import java.util.AbstractMap.SimpleImmutableEntry;
import java.util.Arrays;
import java.util.Collections;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.stream.Collectors;
package com.icthh.xm.lep.api.commons;




/**
 * The {@link UrlLepResourceKey} class.
 */
public class UrlLepResourceKey implements LepResourceKey {

    public static final String LEP_PROTOCOL = "lep";
    public static final int DEFAULT_PORT = -1;

    public static final String PARAM_VERSION = "version";

    private static final String URL_PARAM_VALUE_SPLITTER = "=";
    private static final String URL_PARAMS_SPLITTER = "&";
    private static final int MAX_URL_PARARMS_VERSION = 1;

    private final URL url;
// Path: xm-lep-api/src/main/java/com/icthh/xm/lep/api/LepResourceKey.java
// public interface LepResourceKey {
// 
//     String getId();
// 
//     Version getVersion();
// 
// }
// 
// Path: xm-lep-api/src/main/java/com/icthh/xm/lep/api/Version.java
// public interface Version {
// 
//     /**
//      * Gets version identificator, for example:
//      * <br>
//      * 'b324', '1-alpha', '1.2.3', '1.0-RELEASE', '2.2-RC1', '2.2.3-M1', '12032017112331', etc.
//      *
//      * @return version id
//      */
//     String getId();
// 
// }


// Path: xm-lep-api-commons/src/main/java/com/icthh/xm/lep/api/commons/UrlLepResourceKey.java
import static java.util.stream.Collectors.mapping;
import static java.util.stream.Collectors.toList;
import com.icthh.xm.lep.api.LepResourceKey;
import com.icthh.xm.lep.api.Version;
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import java.net.URLStreamHandler;
import java.util.AbstractMap.SimpleImmutableEntry;
import java.util.Arrays;
import java.util.Collections;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.stream.Collectors;

package com.icthh.xm.lep.api.commons;




/**
 * The {@link UrlLepResourceKey} class.
 */
public class UrlLepResourceKey implements LepResourceKey {

    public static final String LEP_PROTOCOL = "lep";
    public static final int DEFAULT_PORT = -1;

    public static final String PARAM_VERSION = "version";

    private static final String URL_PARAM_VALUE_SPLITTER = "=";
    private static final String URL_PARAMS_SPLITTER = "&";
    private static final int MAX_URL_PARARMS_VERSION = 1;

    private final URL url;
    private final Version version;