/* * Copyright 2011 JBoss 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 org.jbpm.formapi.shared.api.items; import java.util.Map; import org.jbpm.formapi.shared.api.FormItemRepresentation; import org.jbpm.formapi.shared.form.FormEncodingException; import com.gwtent.reflection.client.Reflectable; @Reflectable public class UploadWithProgressBarRepresentation extends FormItemRepresentation { private boolean autoSubmit; private boolean avoidRepeatFiles; private boolean enabled; private String cssClassName; public UploadWithProgressBarRepresentation() { super("uploadWithProgressBar"); } public boolean isAutoSubmit() { return autoSubmit; } public void setAutoSubmit(boolean autoSubmit) { this.autoSubmit = autoSubmit; } public boolean isAvoidRepeatFiles() { return avoidRepeatFiles; } public void setAvoidRepeatFiles(boolean avoidRepeatFiles) { this.avoidRepeatFiles = avoidRepeatFiles; } public boolean isEnabled() { return enabled; } public void setEnabled(boolean enabled) { this.enabled = enabled; } public String getCssClassName() { return cssClassName; } public void setCssClassName(String cssClassName) { this.cssClassName = cssClassName; } @Override public void setDataMap(Map<String, Object> data) throws FormEncodingException { super.setDataMap(data); this.autoSubmit = extractBoolean(data.get("autoSubmit")); this.avoidRepeatFiles = extractBoolean(data.get("avoidRepeatFiles")); this.enabled = extractBoolean(data.get("enabled")); this.cssClassName = (String) data.get("cssClassName"); } private boolean extractBoolean(Object aux) { if (aux == null) { return false; } if (aux instanceof String) { String saux = (String) aux; if ("".equals(saux)) { return false; } return Boolean.valueOf(saux); } if (aux instanceof Boolean) { Boolean baux = (Boolean) aux; return baux.booleanValue(); } return false; } @Override public Map<String, Object> getDataMap() { Map<String, Object> data = super.getDataMap(); data.put("autoSubmit", Boolean.valueOf(this.autoSubmit)); data.put("avoidRepeatFiles", Boolean.valueOf(this.avoidRepeatFiles)); data.put("enabled", Boolean.valueOf(this.enabled)); data.put("cssClassName", this.cssClassName); return data; } @Override public boolean equals(Object obj) { if (!super.equals(obj)) return false; if (!(obj instanceof UploadWithProgressBarRepresentation)) return false; UploadWithProgressBarRepresentation other = (UploadWithProgressBarRepresentation) obj; boolean equals = (this.autoSubmit == other.autoSubmit); if (!equals) return equals; equals = (this.avoidRepeatFiles == other.avoidRepeatFiles); if (!equals) return equals; equals = this.enabled == other.enabled; if (!equals) return equals; equals = (this.cssClassName == null && other.cssClassName == null) || (this.cssClassName != null && this.cssClassName.equals(other.cssClassName)); return equals; } @Override public int hashCode() { int result = super.hashCode(); int aux = this.autoSubmit ? 0 : 1; result = 37 * result + aux; aux = this.avoidRepeatFiles ? 0 : 1; result = 37 * result + aux; aux = this.enabled ? 0 : 1; result = 37 * result + aux; aux = this.cssClassName == null ? 0 : this.cssClassName.hashCode(); result = 37 * result + aux; return result; } }