package org.opennms.core.criteria; public class Fetch { public enum FetchType { DEFAULT, LAZY, EAGER } private final String m_attribute; private final FetchType m_fetchType; public Fetch(final String attribute, final FetchType fetchType) { m_attribute = attribute; m_fetchType = fetchType; } public Fetch(final String attribute) { m_attribute = attribute; m_fetchType = FetchType.DEFAULT; } public String getAttribute() { return m_attribute; } public FetchType getFetchType() { return m_fetchType; } /* we don't include m_fetchType since a single fetch attribute should only be used once */ @Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + ((m_attribute == null) ? 0 : m_attribute.hashCode()); // result = prime * result + ((m_fetchType == null) ? 0 : m_fetchType.hashCode()); return result; } /* we don't include m_fetchType since a single fetch attribute should only be used once */ @Override public boolean equals(final Object obj) { if (this == obj) return true; if (obj == null) return false; if (!(obj instanceof Fetch)) return false; final Fetch other = (Fetch) obj; if (m_attribute == null) { if (other.m_attribute != null) return false; } else if (!m_attribute.equals(other.m_attribute)) { return false; } // if (m_fetchType != other.m_fetchType) return false; return true; } @Override public String toString() { return "Fetch [attribute=" + m_attribute + ", fetchType=" + m_fetchType + "]"; } }