/* * Copyright (C) 2014 Freddie (Musenkishi) Lust-Hed * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.musenkishi.wally.models.filters; /** * A class for the resolution option filter. * Created by Musenkishi on 2014-03-15 00:23. */ public class FilterResOpt { private boolean exactly = true; private boolean atLeast = true; public FilterResOpt(boolean exactly, boolean atLeast) { this.exactly = exactly; this.atLeast = atLeast; } public FilterResOpt(String paramValue) { this.exactly = paramValue.contains(FilterResOptKeys.EXACTLY); this.atLeast = paramValue.contains(FilterResOptKeys.AT_LEAST); } public boolean isExactly() { return exactly; } public void setExactly(boolean exactly) { this.exactly = exactly; } public boolean isAtLeast() { return atLeast; } public void setAtLeast(boolean atLeast) { this.atLeast = atLeast; } /** * This will return a formatted String that can be used as a parameter value. * * @return returns a formatted value depending on the boolean values. */ public String getFormattedValue() { return exactly ? FilterResOptKeys.EXACTLY : FilterResOptKeys.AT_LEAST; } @Override public boolean equals(Object o) { if (this == o) return true; if (!(o instanceof FilterResOpt)) return false; FilterResOpt that = (FilterResOpt) o; if (atLeast != that.atLeast) return false; if (exactly != that.exactly) return false; return true; } @Override public int hashCode() { int result = (exactly ? 1 : 0); result = 31 * result + (atLeast ? 1 : 0); return result; } }