⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mfield.java

📁 大家共享愉快, 共享愉快, 共享愉快, 共享愉快,共享愉快
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
	public int getWindowNo()
	{
		return m_vo.WindowNo;
	}
	public int getAD_Column_ID()
	{
		return m_vo.AD_Column_ID;
	}
	public int getDisplayLength()
	{
		return m_vo.DisplayLength;
	}
	public boolean isSameLine()
	{
		return m_vo.IsSameLine;
	}
	public boolean isDisplayed()
	{
		return m_vo.IsDisplayed;
	}
	public String getDisplayLogic()
	{
		return m_vo.DisplayLogic;
	}
	public String getDefaultValue()
	{
		return m_vo.DefaultValue;
	}
	public boolean isReadOnly()
	{
		if (isVirtualColumn())
			return true;
		return m_vo.IsReadOnly;
	}
	public boolean isCreateMnemonic()
	{
		if (isReadOnly() 
			|| m_vo.ColumnName.equals("AD_Client_ID")
			|| m_vo.ColumnName.equals("AD_Org_ID")
			|| m_vo.ColumnName.equals("DocumentNo"))
			return false;
		return true;
	}
	public boolean isUpdateable()
	{
		if (isVirtualColumn())
			return false;
		return m_vo.IsUpdateable;
	}
	public boolean isAlwaysUpdateable()
	{
		if (isVirtualColumn())
			return false;
		return m_vo.IsAlwaysUpdateable;
	}
	public boolean isHeading()
	{
		return m_vo.IsHeading;
	}
	public boolean isFieldOnly()
	{
		return m_vo.IsFieldOnly;
	}
	public boolean isEncryptedField()
	{
		return m_vo.IsEncryptedField;
	}
	public boolean isEncryptedColumn()
	{
		return m_vo.IsEncryptedColumn;
	}
	public boolean isSelectionColumn()
	{
		return m_vo.IsSelectionColumn;
	}
	public String getObscureType()
	{
		return m_vo.ObscureType;
	}
	public int getSortNo()
	{
		return m_vo.SortNo;
	}
	public int getFieldLength()
	{
		return m_vo.FieldLength;
	}
	public String getVFormat()
	{
		return m_vo.VFormat;
	}
	public String getValueMin()
	{
		return m_vo.ValueMin;
	}
	public String getValueMax()
	{
		return m_vo.ValueMax;
	}
	public String getFieldGroup()
	{
		return m_vo.FieldGroup;
	}
	public boolean isKey()
	{
		return m_vo.IsKey;
	}
	public boolean isParentColumn()
	{
			return m_vo.IsParent;
	}
	public boolean isParentValue()
	{
		if (m_parentChecked)
			return m_vo.IsParent;
		if (!DisplayType.isID(m_vo.displayType) || m_vo.TabNo == 0)
			m_vo.IsParent = false;
		else 
		{
			String LinkColumnName = Env.getContext(m_vo.ctx, m_vo.WindowNo, m_vo.TabNo, "LinkColumnName");
			if (LinkColumnName.length() == 0)
				;
			else 
				m_vo.IsParent = m_vo.ColumnName.equals(LinkColumnName);
			if (m_vo.IsParent)
				log.config(m_vo.IsParent
					+ " - Link(" + LinkColumnName + ", W=" + m_vo.WindowNo + ",T=" + m_vo.TabNo
					+ ") = " + m_vo.ColumnName);
		}
		m_parentChecked = true;
		return m_vo.IsParent;
	}
	public String getCallout()
	{
		return m_vo.Callout;
	}
	public int getAD_Process_ID()
	{
		return m_vo.AD_Process_ID;
	}
	public String getDescription()
	{
		return m_vo.Description;
	}
	public String getHelp()
	{
		return m_vo.Help;
	}
	public MFieldVO getVO()
	{
		return m_vo;
	}

	/**
	 *  Is this a long (string/text) field (over 60/2=30 characters)
	 *  @return true if long field
	 */
	public boolean isLongField()
	{
	//	if (m_vo.displayType == DisplayType.String 
	//		|| m_vo.displayType == DisplayType.Text 
	//		|| m_vo.displayType == DisplayType.Memo
	//		|| m_vo.displayType == DisplayType.TextLong
	//		|| m_vo.displayType == DisplayType.Image)
		return (m_vo.DisplayLength >= MAXDISPLAY_LENGTH/2);
	//	return false;
	}   //  isLongField

	/**
	 *  Set Value to null.
	 *  <p>
	 *  Do not update context - called from MTab.setCurrentRow
	 *  Send Bean PropertyChange if there is a change
	 */
	public void setValue ()
	{
	//	log.fine( "MField.setValue - " + ColumnName + "=" + newValue);
		if (m_valueNoFire)      //  set the old value
			m_oldValue = m_value;
		m_value = null;
		m_inserting = false;
		m_error = false;        //  reset error

		//  Does not fire, if same value
		m_propertyChangeListeners.firePropertyChange(PROPERTY, m_oldValue, m_value);
	//	m_propertyChangeListeners.firePropertyChange(PROPERTY, s_oldValue, null);
	}   //  setValue


	/**
	 *  Set Value.
	 *  <p>
	 *  Update context, if not text or RowID;
	 *  Send Bean PropertyChange if there is a change
	 *  @param newValue new value
	 *  @param inserting true if inserting
	 */
	public void setValue (Object newValue, boolean inserting)
	{
	//	log.fine( "MField.setValue - " + ColumnName + "=" + newValue);
		if (m_valueNoFire)      //  set the old value
			m_oldValue = m_value;
		m_value = newValue;
		m_inserting = inserting;
		m_error = false;        //  reset error

		//	Set Context
		if (m_vo.displayType == DisplayType.Text 
			|| m_vo.displayType == DisplayType.Memo
			|| m_vo.displayType == DisplayType.TextLong
			|| m_vo.displayType == DisplayType.Binary
			|| m_vo.displayType == DisplayType.RowID)
			;	//	ignore
		else if (newValue instanceof Boolean)
			Env.setContext(m_vo.ctx, m_vo.WindowNo, m_vo.ColumnName, 
				((Boolean)newValue).booleanValue());
		else if (newValue instanceof Timestamp)
			Env.setContext(m_vo.ctx, m_vo.WindowNo, m_vo.ColumnName, (Timestamp)m_value);
		else
			Env.setContext(m_vo.ctx, m_vo.WindowNo, m_vo.ColumnName, 
				m_value==null ? null : m_value.toString());
		
		//  Does not fire, if same value
		Object oldValue = m_oldValue;
		if (inserting)
			oldValue = INSERTING;
		m_propertyChangeListeners.firePropertyChange(PROPERTY, oldValue, m_value);
	}   //  setValue

	/**
	 *  Get Value
	 *  @return current value
	 */
	public Object getValue()
	{
		return m_value;
	}   //  getValue

	/**
	 *  Set old/previous Value.
	 *  (i.e. don't fire Property change)
	 *  Used by VColor.setField
	 *  @param value if false property change will always be fires
	 */
	public void setValueNoFire (boolean value)
	{
		m_valueNoFire = value;
	}   //  setOldValue

	/**
	 *  Get old/previous Value.
	 * 	Called from MTab.processCallout
	 *  @return old value
	 */
	public Object getOldValue()
	{
		return m_oldValue;
	}   //  getOldValue

	/**
	 *  Set Error Value (the value, which cuased some Error)
	 *  @param errorValue error message
	 */
	public void setErrorValue (String errorValue)
	{
		m_errorValue = errorValue;
		m_errorValueFlag = true;
	}   //  setErrorValue

	/**
	 *  Get Error Value (the value, which cuased some Error) <b>AND</b> reset it to null
	 *  @return error value
	 */
	public String getErrorValue ()
	{
		String s = m_errorValue;
		m_errorValue = null;
		m_errorValueFlag = false;
		return s;
	}   //  getErrorValue

	/**
	 *  Return true, if value has Error (for HTML interface) <b>AND</b> reset it to false
	 *  @return has error
	 */
	public boolean isErrorValue()
	{
		boolean b = m_errorValueFlag;
		m_errorValueFlag = false;
		return b;
	}   //  isErrorValue

	/**
	 *  Overwrite default DisplayLength
	 *  @param length new length
	 */
	public void setDisplayLength (int length)
	{
		m_vo.DisplayLength = length;
	}   //  setDisplayLength

	/**
	 *  Overwrite Displayed
	 *  @param displayed trie if displayed
	 */
	public void setDisplayed (boolean displayed)
	{
		m_vo.IsDisplayed = displayed;
	}   //  setDisplayed

	/**
	 *  String representation
	 *  @return string representation
	 */
	public String toString()
	{
		StringBuffer sb = new StringBuffer("MField[");
		sb.append(m_vo.ColumnName).append("=").append(m_value).append("]");
		return sb.toString();
	}   //  toString

	/**
	 *  Extended String representation
	 *  @return string representation
	 */
	public String toStringX()
	{
		StringBuffer sb = new StringBuffer("MField[");
		sb.append(m_vo.ColumnName).append("=").append(m_value)
			.append(",DisplayType=").append(getDisplayType())
			.append("]");
		return sb.toString();
	}   //  toStringX


	/*************************************************************************

	/**
	 *  Remove Property Change Listener
	 *  @param l listener
	 */
	public synchronized void removePropertyChangeListener(PropertyChangeListener l)
	{
		m_propertyChangeListeners.removePropertyChangeListener(l);
	}

	/**
	 *  Add Property Change Listener
	 *  @param l listener
	 */
	public synchronized void addPropertyChangeListener(PropertyChangeListener l)
	{
		m_propertyChangeListeners.addPropertyChangeListener(l);
	}
	
	
	/**************************************************************************
	 * 	Create Fields
	 * 	@param AD_Tab_ID tab
	 * 	@return array of fields
	 */
	public static MField[] createFields (Properties ctx, int WindowNo, int TabNo,
		 int AD_Tab_ID)
	{
		ArrayList<MFieldVO> listVO = new ArrayList<MFieldVO>();
		int AD_Window_ID = 0;
		boolean readOnly = false;
		
		String sql = MFieldVO.getSQL(ctx);
		PreparedStatement pstmt = null;
		try
		{
			pstmt = DB.prepareStatement(sql, null);
			pstmt.setInt(1, AD_Tab_ID);
			ResultSet rs = pstmt.executeQuery();
			while (rs.next())
			{
				MFieldVO vo = MFieldVO.create(ctx, WindowNo, TabNo, AD_Window_ID, readOnly, rs);
				listVO.add(vo);
			}
			rs.close();
			pstmt.close();
			pstmt = null;
		}
		catch (Exception e)
		{
			log.log(Level.SEVERE, sql, e);
		}
		try
		{
			if (pstmt != null)
				pstmt.close();
			pstmt = null;
		}
		catch (Exception e)
		{
			pstmt = null;
		}
		
		//
		MField[] retValue = new MField[listVO.size()];
		for (int i = 0; i < listVO.size(); i++)
			retValue[i] = new MField ((MFieldVO)listVO.get(i));
		return retValue;
	}	//	createFields
		
				
}   //  MField

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -