All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.viaoa.web.server.OABase Maven / Gradle / Ivy

/*  Copyright 1999 Vince Via [email protected]
    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.viaoa.web.server;

import java.util.*;
import java.io.*;
import com.viaoa.hub.*;

/** base class used by OAForm, OASession, OAApplication, for storing objects and messages.
*/
public abstract class OABase implements Serializable {
    private static final long serialVersionUID = 1L;
	
    protected HashMap hashmap = new HashMap(29, 0.75f);

    protected transient ArrayList alMessage = new ArrayList(5);
    protected transient ArrayList alError = new ArrayList(5);
    protected transient ArrayList alHidden = new ArrayList(5);
    protected transient ArrayList alPopup = new ArrayList(5);
    protected transient ArrayList alSnackbar = new ArrayList(5);
    
    protected boolean debug;
    protected boolean enabled=true;
    protected OABase parent;
    
    
    public OABase getParent() {
        return parent;
    }
    public void setParent(OABase parent) {
        this.parent = parent;
    }
    
    public boolean getCalcDebug() {
        for (OABase b = this; b != null;  b = b.getParent()) {
            if (b.getDebug()) return true;
        }
        return getDebug();
    }
    
    public void setDebug(boolean b) {
        this.debug = b;
    }
    public boolean getDebug() {
        return debug;
    }
    
    public void setEnabled(boolean b) {
        this.enabled = b;
    }
    public boolean getEnabled() {
        return enabled;
    }
    
    public void removeAll() {
        hashmap.clear();
        alError.clear();
        alMessage.clear();
        alHidden.clear();
        alPopup.clear();
        alSnackbar.clear();
    }
    
    
    /** @param name is not case sensitive    */
    public Object get(String name) {
        if (name == null) return null;
        Object obj = hashmap.get(name.toUpperCase());
        return obj;
    }

    /** @param name is not case sensitive */
    public void put(String name, Object obj) {
        if (name != null && obj != null) {
            name = name.toUpperCase();
            hashmap.put(name, obj);
        }
    }
    /** @param name is not case sensitive */
    public void remove(String name) {
        if (name != null) {
            name = name.toUpperCase();
            hashmap.remove(name);
        }
    }
    
    public int getInt(String name) {
        Object obj = get(name);
        if (!(obj instanceof Number)) return -1;
        return ((Number)obj).intValue();
    }
    
    public Hub getHub(String name) {
        Object obj = get(name);
        if (!(obj instanceof Hub)) return null;
        return (Hub) obj;
    }
    

    /** adds a message. */
    public void addMessage(String msg) {
        alMessage.add(msg);
    }
    /** gets all messages, and clears. */
    public String[] getMessages() {
        int x = alMessage.size();
        String[] s = new String[x];
        alMessage.toArray(s);
        return s;
    }
    public void clearMessages() {
        alMessage.clear();
    }
    
    public void addHiddenMessage(String msg) {
        alHidden.add(msg);
    }
    public String[] getHiddenMessages() {
        int x = alHidden.size();
        String[] s = new String[x];
        alHidden.toArray(s);
        return s;
    }
    public void clearHiddenMessages() {
        alHidden.clear();
    }

    public void addError(String msg) {
        addErrorMessage(msg);
    }
    public void addErrorMessage(String msg) {
        alError.add(msg);
    }
    public String[] getErrorMessages() {
        int x = alError.size();
        String[] s = new String[x];
        alError.toArray(s);
        return s;
    }
    public void clearErrorMessages() {
        alError.clear();
    }
    
    public void addPopupMessage(String msg) {
        alPopup.add(msg);
    }
    public String[] getPopupMessages() {
        int x = alPopup.size();
        String[] s = new String[x];
        alPopup.toArray(s);
        return s;
    }
    public void clearPopupMessages() {
        alPopup.clear();
    }

    public void addSnackbarMessage(String msg) {
        alSnackbar.add(msg);
    }
    public String[] getSnackbarMessages() {
        int x = alSnackbar.size();
        String[] s = new String[x];
        alSnackbar.toArray(s);
        return s;
    }
    public void clearSnackbarMessages() {
        alSnackbar.clear();
    }
}





© 2015 - 2025 Weber Informatics LLC | Privacy Policy