📄 mfieldvo.java
字号:
/**
* Make a standard field (Created/Updated/By)
* @param ctx context
* @param WindowNo window
* @param TabNo tab
* @param AD_Window_ID window
* @param tabReadOnly rab is r/o
* @param isCreated is Created field
* @param isTimestamp is the timestamp (not by)
* @return MFieldVO
*/
public static MFieldVO createStdField (Properties ctx, int WindowNo, int TabNo, int AD_Window_ID, boolean tabReadOnly,
boolean isCreated, boolean isTimestamp)
{
MFieldVO vo = new MFieldVO (ctx, WindowNo, TabNo, AD_Window_ID, tabReadOnly);
vo.ColumnName = isCreated ? "Created" : "Updated";
if (!isTimestamp)
vo.ColumnName += "By";
vo.displayType = isTimestamp ? DisplayType.DateTime : DisplayType.Table;
if (!isTimestamp)
vo.AD_Reference_Value_ID = 110; // AD_User Table Reference
vo.IsDisplayed = false;
vo.IsMandatory = false;
vo.IsReadOnly = false;
vo.IsUpdateable = true;
vo.initFinish();
return vo;
} // initStdField
/**************************************************************************
* Private constructor
* @param ctx context
* @param WindowNo window
* @param TabNo tab
* @param AD_Window_ID window
* @param tabReadOnly read only
*/
private MFieldVO (Properties ctx, int WindowNo, int TabNo, int AD_Window_ID, boolean tabReadOnly)
{
this.ctx = ctx;
this.WindowNo = WindowNo;
this.TabNo = TabNo;
this.AD_Window_ID = AD_Window_ID;
this.tabReadOnly = tabReadOnly;
} // MFieldVO
static final long serialVersionUID = 4385061125114436797L;
/** Context */
public Properties ctx = null;
/** Window No */
public int WindowNo;
/** Tab No */
public int TabNo;
/** AD_Winmdow_ID */
public int AD_Window_ID;
/** Is the Tab Read Only */
public boolean tabReadOnly = false;
/** Is Process Parameter */
public boolean isProcess = false;
// Database Fields
public String ColumnName = "";
public String ColumnSQL;
public String Header = "";
public int displayType = 0;
public int AD_Table_ID = 0;
public int AD_Column_ID = 0;
public int DisplayLength = 0;
public boolean IsSameLine = false;
public boolean IsDisplayed = false;
public String DisplayLogic = "";
public String DefaultValue = "";
public boolean IsMandatory = false;
public boolean IsReadOnly = false;
public boolean IsUpdateable = false;
public boolean IsAlwaysUpdateable = false;
public boolean IsHeading = false;
public boolean IsFieldOnly = false;
public boolean IsEncryptedField = false;
public boolean IsEncryptedColumn = false;
public boolean IsSelectionColumn = false;
public int SortNo = 0;
public int FieldLength = 0;
public String VFormat = "";
public String ValueMin = "";
public String ValueMax = "";
public String FieldGroup = "";
public boolean IsKey = false;
public boolean IsParent = false;
public String Callout = "";
public int AD_Process_ID = 0;
public String Description = "";
public String Help = "";
public String ReadOnlyLogic = "";
public String ObscureType = null;
// Lookup
public String ValidationCode = "";
public int AD_Reference_Value_ID = 0;
// Process Parameter
public boolean isRange = false;
public String DefaultValue2 = "";
/** Lookup Value Object */
public MLookupInfo lookupInfo = null;
/**
* Set Context including contained elements
* @param newCtx new context
*/
public void setCtx (Properties newCtx)
{
ctx = newCtx;
if (lookupInfo != null)
lookupInfo.ctx = newCtx;
} // setCtx
/**
* Validate Fields and create LookupInfo if required
*/
protected void initFinish()
{
// Not null fields
if (DisplayLogic == null)
DisplayLogic = "";
if (DefaultValue == null)
DefaultValue = "";
if (FieldGroup == null)
FieldGroup = "";
if (Description == null)
Description = "";
if (Help == null)
Help = "";
if (Callout == null)
Callout = "";
if (ReadOnlyLogic == null)
ReadOnlyLogic = "";
// Create Lookup, if not ID
if (DisplayType.isLookup(displayType))
{
try
{
lookupInfo = MLookupFactory.getLookupInfo (ctx, WindowNo, AD_Column_ID, displayType,
Env.getLanguage(ctx), ColumnName, AD_Reference_Value_ID,
IsParent, ValidationCode);
}
catch (Exception e) // Cannot create Lookup
{
CLogger.get().log(Level.SEVERE, "No LookupInfo for " + ColumnName, e);
displayType = DisplayType.ID;
}
}
} // initFinish
/**
* Clone Field
* @param ctx ctx
* @param WindowNo window no
* @param TabNo tab no
* @param AD_Window_ID window id
* @param tabReadOnly r/o
* @return Field or null
*/
protected MFieldVO clone(Properties ctx, int WindowNo, int TabNo, int AD_Window_ID, boolean tabReadOnly)
{
MFieldVO clone = new MFieldVO(ctx, WindowNo, TabNo, AD_Window_ID, tabReadOnly);
//
clone.isProcess = false;
// Database Fields
clone.ColumnName = ColumnName;
clone.ColumnSQL = ColumnSQL;
clone.Header = Header;
clone.displayType = displayType;
clone.AD_Table_ID = AD_Table_ID;
clone.AD_Column_ID = AD_Column_ID;
clone.DisplayLength = DisplayLength;
clone.IsSameLine = IsSameLine;
clone.IsDisplayed = IsDisplayed;
clone.DisplayLogic = DisplayLogic;
clone.DefaultValue = DefaultValue;
clone.IsMandatory = IsMandatory;
clone.IsReadOnly = IsReadOnly;
clone.IsUpdateable = IsUpdateable;
clone.IsAlwaysUpdateable = IsAlwaysUpdateable;
clone.IsHeading = IsHeading;
clone.IsFieldOnly = IsFieldOnly;
clone.IsEncryptedField = IsEncryptedField;
clone.IsEncryptedColumn = IsEncryptedColumn;
clone.IsSelectionColumn = IsSelectionColumn;
clone.SortNo = SortNo;
clone.FieldLength = FieldLength;
clone.VFormat = VFormat;
clone.ValueMin = ValueMin;
clone.ValueMax = ValueMax;
clone.FieldGroup = FieldGroup;
clone.IsKey = IsKey;
clone.IsParent = IsParent;
clone.Callout = Callout;
clone.AD_Process_ID = AD_Process_ID;
clone.Description = Description;
clone.Help = Help;
clone.ReadOnlyLogic = ReadOnlyLogic;
clone.ObscureType = ObscureType;
// Lookup
clone.ValidationCode = ValidationCode;
clone.AD_Reference_Value_ID = AD_Reference_Value_ID;
clone.lookupInfo = lookupInfo;
// Process Parameter
clone.isRange = isRange;
clone.DefaultValue2 = DefaultValue2;
return clone;
} // clone
/**
* String Representation
* @return info
*/
public String toString ()
{
StringBuffer sb = new StringBuffer ("MFieldVO[");
sb.append(AD_Column_ID).append("-").append(ColumnName)
.append ("]");
return sb.toString ();
} // toString
} // MFieldVO
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -