package models.origo.core;
import play.data.validation.Required;
import play.data.validation.Unique;
import play.db.jpa.Model;
import javax.persistence.Entity;
import java.util.Collection;
@Entity
public class Alias extends Model {
@Required
@Unique
public String path;
@Required
public String pageId;
public Alias(String path, String pageId) {
this.path = path;
this.pageId = pageId;
}
public static Alias findWithId(long id) {
return Alias.findById(id);
}
public static Alias findWithPath(String path) {
return Alias.find("select a from Alias a where path=:path").bind("path", path).first();
}
public static Collection<Alias> findWithPageId(String pageId) {
return Alias.find("select a from Alias a where pageId=:pageId").bind("pageId", pageId).fetch();
}
public static Alias findFirstAliasForPageId(String pageId) {
Collection<Alias> aliases = Alias.findWithPageId(pageId);
if (aliases == null || aliases.isEmpty()) {
return null;
} else {
return aliases.iterator().next();
}
}
@Override
public String toString() {
return new StringBuilder().
append("Alias {").
append("path='").append(path).append("\', ").
append("page='").append(pageId).append('\'').
append('}').
toString();
}
}