/* * (c) Copyright 2005-2012 JAXIO, www.jaxio.com * Source code generated by Celerio, a Jaxio product * Want to use Celerio within your company? email us at info@jaxio.com * Follow us on twitter: @springfuse * Template pack-backend-sd:src/main/java/project/repository/support/Range.p.vm.java */ package com.company.demo.repository.support; import java.io.Serializable; import javax.persistence.metamodel.SingularAttribute; /** * Range support for {@link Comparable} types. */ public class Range<E, D extends Comparable<? super D>> implements Serializable { private static final long serialVersionUID = 1L; private SingularAttribute<E, D> field; private D from; private D to; private Boolean includeNull; /** * Constructs a new {@link Range} with no boundaries and no restrictions on field's nullability. * @param field the attribute of an existing entity. */ public Range(SingularAttribute<E, D> field) { this.field = field; } /** * Constructs a new Range. * * @param field the property's name of an existing entity. * @param from the lower boundary of this range. Null means no lower boundary. * @param to the upper boundary of this range. Null means no upper boundary. */ public Range(SingularAttribute<E, D> field, D from, D to) { this.field = field; this.from = from; this.to = to; } /** * Constructs a new Range. * * @param field an entity's attribute * @param from the lower boundary of this range. Null means no lower boundary. * @param to the upper boundary of this range. Null means no upper boundary. * @param includeNull tells whether null should be filtered out or not. */ public Range(SingularAttribute<E, D> field, D from, D to, Boolean includeNull) { this.field = field; this.from = from; this.to = to; this.includeNull = includeNull; } /** * Constructs a new Range by copy. */ public Range(Range<E, D> other) { this.field = other.getField(); this.from = other.getFrom(); this.to = other.getTo(); this.includeNull = other.getIncludeNull(); } /** * @return the entity's attribute this {@link Range} refers to. */ public SingularAttribute<E, D> getField() { return field; } /** * @return the lower range boundary or null for unbound lower range. */ public D getFrom() { return from; } /** * Sets the lower range boundary. Accepts null for unbound lower range. */ public void setFrom(D from) { this.from = from; } public boolean isFromSet() { return getFrom() != null; } /** * @return the upper range boundary or null for unbound upper range. */ public D getTo() { return to; } /** * Sets the upper range boundary. Accepts null for unbound upper range. */ public void setTo(D to) { this.to = to; } public boolean isToSet() { return getTo() != null; } public void setIncludeNull(boolean includeNull) { this.includeNull = includeNull; } public Boolean getIncludeNull() { return includeNull; } public boolean isIncludeNullSet() { return includeNull != null; } public boolean isBetween() { return isFromSet() && isToSet(); } public boolean isSet() { return isFromSet() || isToSet() || isIncludeNullSet(); } public boolean isValid() { if (isBetween()) { return getFrom().compareTo(getTo()) <= 0; } return true; } }