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

org.jbundle.app.program.db.PropertiesStringField Maven / Gradle / Ivy

There is a newer version: 1.0.11
Show newest version
/**
 * @(#)PropertiesStringField.
 * Copyright © 2013 jbundle.org. All rights reserved.
 * GPL3 Open Source Software License.
 */
package org.jbundle.app.program.db;

import java.util.*;

import org.jbundle.base.db.*;
import org.jbundle.thin.base.util.*;
import org.jbundle.thin.base.db.*;
import org.jbundle.base.db.event.*;
import org.jbundle.base.db.filter.*;
import org.jbundle.base.field.*;
import org.jbundle.base.field.convert.*;
import org.jbundle.base.field.event.*;
import org.jbundle.base.model.*;
import org.jbundle.base.util.*;
import org.jbundle.model.*;
import org.jbundle.model.db.*;
import org.jbundle.model.screen.*;

/**
 *  PropertiesStringField - .
 */
public class PropertiesStringField extends StringField
{
    protected boolean enableConversion = false;
    /**
     * Default constructor.
     */
    public PropertiesStringField()
    {
        super();
    }
    /**
     * Constructor.
     * @param record The parent record.
     * @param strName The field name.
     * @param iDataLength The maximum string length (pass -1 for default).
     * @param strDesc The string description (usually pass null, to use the resource file desc).
     * @param strDefault The default value (if object, this value is the default value, if string, the string is the default).
     */
    public PropertiesStringField(Record record, String strName, int iDataLength, String strDesc, Object strDefault)
    {
        this();
        this.init(record, strName, iDataLength, strDesc, strDefault);
    }
    /**
     * Initialize class fields.
     */
    public void init(Record record, String strName, int iDataLength, String strDesc, Object strDefault)
    {
        super.init(record, strName, iDataLength, strDesc, strDefault);
        record.addListener(new PropertiesStringFileListener(this));
    }
    /**
     * Set up the default screen control for this field.
     * @param itsLocation Location of this component on screen (ie., GridBagConstraint).
     * @param targetScreen Where to place this component (ie., Parent screen or GridBagLayout).
     * @param converter The converter to set the screenfield to.
     * @param iDisplayFieldDesc Display the label? (optional).
     * @param properties Extra properties
     * @return Return the component or ScreenField that is created for this field.
     */
    public ScreenComponent setupDefaultView(ScreenLoc itsLocation, ComponentParent targetScreen, Convert converter, int iDisplayFieldDesc, Map properties)
    {
        return super.setupDefaultView(itsLocation, targetScreen, converter, iDisplayFieldDesc, properties);
    }
    /**
     * DoGetData Method.
     */
    public Object doGetData()
    {
        String data = (String)super.doGetData();
        FileListener listener = this.getRecord().getListener(PropertiesStringFileListener.class);
        if (this.getComponent(0) == null)   // Don't convert if this is linked to a screen
            if (enableConversion)
                if (listener != null)
                    if (listener.isEnabled())
                        data = Utility.replaceResources(data, null, null, this.getRecord().getRecordOwner(), true);
        return data;
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy