📄 myvalidator.java
字号:
/******************************************************************************
* The contents of this file are subject to the Compiere License Version 1.1
* ("License"); You may not use this file except in compliance with the License
* You may obtain a copy of the License at http://www.compiere.org/license.html
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for
* the specific language governing rights and limitations under the License.
* The Original Code is Compiere ERP & CRM Smart Business Solution. The Initial
* Developer of the Original Code is Jorg Janke. Portions created by Jorg Janke
* are Copyright (C) 1999-2005 Jorg Janke.
* All parts are Copyright (C) 1999-2005 ComPiere, Inc. All Rights Reserved.
* Contributor(s): ______________________________________.
*****************************************************************************/
package compiere.model;
import org.compiere.model.*;
import org.compiere.util.*;
/**
* Validator Example Implementation
*
* @author Jorg Janke
* @version $Id: MyValidator.java,v 1.4 2005/05/21 19:01:23 jjanke Exp $
*/
public class MyValidator implements ModelValidator
{
/**
* Constructor.
* The class is instanciated when logging in and client is selected/known
*/
public MyValidator ()
{
super ();
} // MyValidator
/** Logger */
private static CLogger log = CLogger.getCLogger(MyValidator.class);
/** Client */
private int m_AD_Client_ID = -1;
/**
* Initialize Validation
* @param engine validation engine
* @param client client
*/
public void initialize (ModelValidationEngine engine, MClient client)
{
log.info(client.toString());
m_AD_Client_ID = client.getAD_Client_ID();
// We want to be informed when C_Order is created/changed
engine.addModelChange("C_Order", this);
// We want to validate Order before preparing
engine.addDocValidate("C_Order", this);
} // initialize
/**
* Model Change of a monitored Table.
* Called after PO.beforeSave/PO.beforeDelete
* when you called addModelChange for the table
* @param po persistent object
* @param type TYPE_
* @return error message or null
* @exception Exception if the recipient wishes the change to be not accept.
*/
public String modelChange (PO po, int type) throws Exception
{
if (po.get_TableName().equals("C_Order") && type == TYPE_CHANGE)
{
MOrder order = (MOrder)po;
log.info(po.toString());
}
return null;
} // modelChange
/**
* Validate Document.
* Called as first step of DocAction.prepareIt
* when you called addDocValidate for the table.
* Note that totals, etc. may not be correct.
* @param po persistent object
* @param timing see TIMING_ constants
* @return error message or null
*/
public String docValidate (PO po, int timing)
{
// Ignore all after Complete events
if (timing == TIMING_AFTER_COMPLETE)
return null;
//
if (po.get_TableName().equals("C_Order"))
{
MOrder order = (MOrder)po;
log.info(po.toString());
}
return null;
} // docValidate
/**
* User Login.
* Called when preferences are set
* @param AD_Org_ID org
* @param AD_Role_ID role
* @param AD_User_ID user
* @return error message or null
*/
public String login (int AD_Org_ID, int AD_Role_ID, int AD_User_ID)
{
log.info("AD_User_ID=" + AD_User_ID);
return null;
} // login
/**
* Get Client to be monitored
* @return AD_Client_ID client
*/
public int getAD_Client_ID()
{
return m_AD_Client_ID;
} // getAD_Client_ID
} // MyValidator
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -