/* * Copyright 2010 Google Inc. * * 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.google.gwt.sample.expenses.client; import com.google.gwt.resources.client.ImageResource; import com.google.gwt.safehtml.shared.SafeHtml; import com.google.gwt.safehtml.shared.SafeHtmlUtils; import com.google.gwt.sample.expenses.client.style.Styles; import com.google.gwt.user.client.ui.AbstractImagePrototype; /** * An enum describing the approval status. */ public enum Approval { BLANK("", "inherit", Styles.resources().blankIcon()), APPROVED("Approved", "#00aa00", Styles.resources().approvedIcon()), DENIED("Denied", "#ff0000", Styles.resources().deniedIcon()); /** * Get the {@link Approval} from the specified string. * * @param approval the approval string * @return the {@link Approval} */ public static Approval from(String approval) { if (APPROVED.is(approval)) { return APPROVED; } else if (DENIED.is(approval)) { return DENIED; } return BLANK; } private final String color; private final SafeHtml iconHtml; private final String text; private Approval(String text, String color, ImageResource res) { this.text = text; this.color = color; this.iconHtml = SafeHtmlUtils.fromTrustedString(AbstractImagePrototype.create(res).getHTML()); } public String getColor() { return color; } public SafeHtml getIconHtml() { return iconHtml; } public String getText() { return text; } public boolean is(String compare) { return text.equals(compare); } }