
org.jbundle.app.program.db.PropertiesStringField Maven / Gradle / Ivy
/**
* @(#)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