📄 poinfo.java
字号:
&& m_columns[index].ColumnSQL.length() > 0;
} // isVirtualColumn
/**
* Get Column Label
* @param index index
* @return column label
*/
public String getColumnLabel (int index)
{
if (index < 0 || index >= m_columns.length)
return null;
return m_columns[index].ColumnLabel;
} // getColumnLabel
/**
* Get Column Description
* @param index index
* @returncolumn description
*/
public String getColumnDescription (int index)
{
if (index < 0 || index >= m_columns.length)
return null;
return m_columns[index].ColumnDescription;
} // getColumnDescription
/**
* Get Column Class
* @param index index
* @return Class
*/
public Class getColumnClass (int index)
{
if (index < 0 || index >= m_columns.length)
return null;
return m_columns[index].ColumnClass;
} // getColumnClass
/**
* Get Column Display Type
* @param index index
* @return DisplayType
*/
public int getColumnDisplayType (int index)
{
if (index < 0 || index >= m_columns.length)
return DisplayType.String;
return m_columns[index].DisplayType;
} // getColumnDisplayType
/**
* Get Column Default Logic
* @param index index
* @return Default Logic
*/
public String getDefaultLogic (int index)
{
if (index < 0 || index >= m_columns.length)
return null;
return m_columns[index].DefaultLogic;
} // getDefaultLogic
/**
* Is Column Mandatory
* @param index index
* @return true if column mandatory
*/
public boolean isColumnMandatory (int index)
{
if (index < 0 || index >= m_columns.length)
return false;
return m_columns[index].IsMandatory;
} // isMandatory
/**
* Is Column Updateable
* @param index index
* @return true if column updateable
*/
public boolean isColumnUpdateable (int index)
{
if (index < 0 || index >= m_columns.length)
return false;
return m_columns[index].IsUpdateable;
} // isUpdateable
/**
* Set Column Updateable
* @param index index
* @param updateable column updateable
*/
public void setColumnUpdateable (int index, boolean updateable)
{
if (index < 0 || index >= m_columns.length)
return;
m_columns[index].IsUpdateable = updateable;
} // setColumnUpdateable
/**
* Set all columns updateable
* @param updateable updateable
*/
public void setUpdateable (boolean updateable)
{
for (int i = 0; i < m_columns.length; i++)
m_columns[i].IsUpdateable = updateable;
} // setUpdateable
/**
* Is Lookup Column
* @param index index
* @return true if it is a lookup column
*/
public boolean isColumnLookup (int index)
{
if (index < 0 || index >= m_columns.length)
return false;
return DisplayType.isLookup(m_columns[index].DisplayType);
} // isColumnLookup
/**
* Get Lookup
* @param index index
* @return Lookup
*/
public Lookup getColumnLookup (int index)
{
if (!isColumnLookup(index))
return null;
//
int WindowNo = 0;
// List, Table, TableDir
Lookup lookup = null;
try
{
lookup = MLookupFactory.get (m_ctx, WindowNo,
m_columns[index].AD_Column_ID, m_columns[index].DisplayType,
Env.getLanguage(m_ctx), m_columns[index].ColumnName,
m_columns[index].AD_Reference_Value_ID,
m_columns[index].IsParent, m_columns[index].ValidationCode);
}
catch (Exception e)
{
lookup = null; // cannot create Lookup
}
return lookup;
/** @todo other lookup types */
} // getColumnLookup
/**
* Is Column Key
* @param index index
* @return true if column is the key
*/
public boolean isKey (int index)
{
if (index < 0 || index >= m_columns.length)
return false;
return m_columns[index].IsKey;
} // isKey
/**
* Is Column Parent
* @param index index
* @return true if column is a Parent
*/
public boolean isColumnParent (int index)
{
if (index < 0 || index >= m_columns.length)
return false;
return m_columns[index].IsParent;
} // isColumnParent
/**
* Is Column Translated
* @param index index
* @return true if column is translated
*/
public boolean isColumnTranslated (int index)
{
if (index < 0 || index >= m_columns.length)
return false;
return m_columns[index].IsTranslated;
} // isColumnTranslated
/**
* Is Table Translated
* @return true if table is translated
*/
public boolean isTranslated ()
{
for (int i = 0; i < m_columns.length; i++)
{
if (m_columns[i].IsTranslated)
return true;
}
return false;
} // isTranslated
/**
* Is Column (data) Encrypted
* @param index index
* @return true if column is encrypted
*/
public boolean isEncrypted (int index)
{
if (index < 0 || index >= m_columns.length)
return false;
return m_columns[index].IsEncrypted;
} // isEncrypted
/**
* Get Column FieldLength
* @param index index
* @return field length
*/
public int getFieldLength (int index)
{
if (index < 0 || index >= m_columns.length)
return 0;
return m_columns[index].FieldLength;
} // getFieldLength
/**
* Validate Content
* @param index index
* @param value new Value
* @return null if all valid otherwise error message
*/
public String validate (int index, Object value)
{
if (index < 0 || index >= m_columns.length)
return "RangeError";
// Mandatory (i.e. not null
if (m_columns[index].IsMandatory && value == null)
{
return "IsMandatory";
}
if (value == null)
return null;
// Length ignored
//
if (m_columns[index].ValueMin != null)
{
BigDecimal value_BD = null;
try
{
if (m_columns[index].ValueMin_BD != null)
value_BD = new BigDecimal(value.toString());
}
catch (Exception ex){}
// Both are Numeric
if (m_columns[index].ValueMin_BD != null && value_BD != null)
{ // error: 1 - 0 => 1 - OK: 1 - 1 => 0 & 1 - 10 => -1
int comp = m_columns[index].ValueMin_BD.compareTo(value_BD);
if (comp > 0)
{
return "MinValue=" + m_columns[index].ValueMin_BD + "(" + m_columns[index].ValueMin + ")"
+ " - compared with Numeric Value=" + value_BD + "(" + value + ")"
+ " - results in " + comp;
}
}
else // String
{
int comp = m_columns[index].ValueMin.compareTo(value.toString());
if (comp > 0)
{
return "MinValue=" + m_columns[index].ValueMin
+ " - compared with String Value=" + value
+ " - results in " + comp;
}
}
}
if (m_columns[index].ValueMax != null)
{
BigDecimal value_BD = null;
try
{
if (m_columns[index].ValueMax_BD != null)
value_BD = new BigDecimal(value.toString());
}
catch (Exception ex){}
// Both are Numeric
if (m_columns[index].ValueMax_BD != null && value_BD != null)
{ // error 12 - 20 => -1 - OK: 12 - 12 => 0 & 12 - 10 => 1
int comp = m_columns[index].ValueMax_BD.compareTo(value_BD);
if (comp < 0)
{
return "MaxValue=" + m_columns[index].ValueMax_BD + "(" + m_columns[index].ValueMax + ")"
+ " - compared with Numeric Value=" + value_BD + "(" + value + ")"
+ " - results in " + comp;
}
}
else // String
{
int comp = m_columns[index].ValueMax.compareTo(value.toString());
if (comp < 0)
{
return "MaxValue=" + m_columns[index].ValueMax
+ " - compared with String Value=" + value
+ " - results in " + comp;
}
}
}
return null;
} // validate
} // POInfo
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -