// Path: websnapshot-api/src/main/java/org/asqatasun/websnapshot/entity/Url.java
// public interface Url extends Entity {
// 
//     /**
//      *
//      * @return the url of the image
//      */
//     String getUrl();
// 
//     /**
//      *
//      * @param url
//      */
//     void setUrl(String url);
// }
// 
// Path: websnapshot-impl/src/main/java/org/asqatasun/websnapshot/entity/UrlImpl.java
// @Entity
// @Table(name = "url")
// @XmlRootElement
// public class UrlImpl implements Url, Serializable {
// 
//     private static final int HASH_NUMBER = 5;
//     private static final int HASH_COEFFICIENT = 67;
//     @Id
//     @GeneratedValue
//     @Column(name = "id")
//     private Long id;
//     @Column(name = "url")
//     private String url;
// 
//     @Override
//     public Long getId() {
//         return id;
//     }
// 
//     @Override
//     public void setId(Long id) {
//         this.id = id;
//     }
// 
//     @Override
//     public String getUrl() {
//         return url;
//     }
// 
//     @Override
//     public void setUrl(String url) {
//         this.url = url;
//     }
// 
//     @Override
//     public boolean equals(Object obj) {
//         if (obj == null) {
//             return false;
//         }
//         if (getClass() != obj.getClass()) {
//             return false;
//         }
//         final UrlImpl other = (UrlImpl) obj;
//         if (this.id != other.id && (this.id == null || !this.id.equals(other.id))) {
//             return false;
//         }
//         if ((this.url == null) ? (other.url != null) : !this.url.equals(other.url)) {
//             return false;
//         }
//         return true;
//     }
// 
//     @Override
//     public int hashCode() {
//         int hash = HASH_NUMBER;
//         hash = HASH_COEFFICIENT * hash + (this.id != null ? this.id.hashCode() : 0);
//         hash = HASH_COEFFICIENT * hash + (this.url != null ? this.url.hashCode() : 0);
//         return hash;
//     }
// }


import javax.persistence.Query;
import javax.persistence.TypedQuery;
import org.asqatasun.sdk.entity.dao.jpa.AbstractJPADAO;
import org.asqatasun.websnapshot.entity.Url;
import org.asqatasun.websnapshot.entity.UrlImpl;
/*
 * Web-Snapshot
 * Copyright (C) 2008-2017  Asqatasun.org
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Affero General Public License as
 * published by the Free Software Foundation, either version 3 of the
 * License, or (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU Affero General Public License for more details.
 *
 * You should have received a copy of the GNU Affero General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 *
 * Contact us by mail: asqatasun AT asqatasun DOT org
 */
package org.asqatasun.websnapshot.entity.dao;


public class UrlDAOImpl extends AbstractJPADAO<Url, Long>
        implements UrlDAO {

    public UrlDAOImpl() {
        super();
    }

    @Override
    protected Class<? extends Url> getEntityClass() {
        return UrlImpl.class;
    }

    @Override
// Path: websnapshot-api/src/main/java/org/asqatasun/websnapshot/entity/Url.java
// public interface Url extends Entity {
// 
//     /**
//      *
//      * @return the url of the image
//      */
//     String getUrl();
// 
//     /**
//      *
//      * @param url
//      */
//     void setUrl(String url);
// }
// 
// Path: websnapshot-impl/src/main/java/org/asqatasun/websnapshot/entity/UrlImpl.java
// @Entity
// @Table(name = "url")
// @XmlRootElement
// public class UrlImpl implements Url, Serializable {
// 
//     private static final int HASH_NUMBER = 5;
//     private static final int HASH_COEFFICIENT = 67;
//     @Id
//     @GeneratedValue
//     @Column(name = "id")
//     private Long id;
//     @Column(name = "url")
//     private String url;
// 
//     @Override
//     public Long getId() {
//         return id;
//     }
// 
//     @Override
//     public void setId(Long id) {
//         this.id = id;
//     }
// 
//     @Override
//     public String getUrl() {
//         return url;
//     }
// 
//     @Override
//     public void setUrl(String url) {
//         this.url = url;
//     }
// 
//     @Override
//     public boolean equals(Object obj) {
//         if (obj == null) {
//             return false;
//         }
//         if (getClass() != obj.getClass()) {
//             return false;
//         }
//         final UrlImpl other = (UrlImpl) obj;
//         if (this.id != other.id && (this.id == null || !this.id.equals(other.id))) {
//             return false;
//         }
//         if ((this.url == null) ? (other.url != null) : !this.url.equals(other.url)) {
//             return false;
//         }
//         return true;
//     }
// 
//     @Override
//     public int hashCode() {
//         int hash = HASH_NUMBER;
//         hash = HASH_COEFFICIENT * hash + (this.id != null ? this.id.hashCode() : 0);
//         hash = HASH_COEFFICIENT * hash + (this.url != null ? this.url.hashCode() : 0);
//         return hash;
//     }
// }


// Path: websnapshot-persistence/src/main/java/org/asqatasun/websnapshot/entity/dao/UrlDAOImpl.java
import javax.persistence.Query;
import javax.persistence.TypedQuery;
import org.asqatasun.sdk.entity.dao.jpa.AbstractJPADAO;
import org.asqatasun.websnapshot.entity.Url;
import org.asqatasun.websnapshot.entity.UrlImpl;

/*
 * Web-Snapshot
 * Copyright (C) 2008-2017  Asqatasun.org
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Affero General Public License as
 * published by the Free Software Foundation, either version 3 of the
 * License, or (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU Affero General Public License for more details.
 *
 * You should have received a copy of the GNU Affero General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 *
 * Contact us by mail: asqatasun AT asqatasun DOT org
 */
package org.asqatasun.websnapshot.entity.dao;


public class UrlDAOImpl extends AbstractJPADAO<Url, Long>
        implements UrlDAO {

    public UrlDAOImpl() {
        super();
    }

    @Override
    protected Class<? extends Url> getEntityClass() {
        return UrlImpl.class;
    }

    @Override
    public Url findUrlByStringUrl(String url) {