📄 xlookup.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 Business Solution
* The Initial Developer of the Original Code is Jorg Janke and ComPiere, Inc.
* Portions created by Jorg Janke are Copyright (C) 1999-2001 Jorg Janke, parts
* created by ComPiere are Copyright (C) ComPiere, Inc.; All Rights Reserved.
* Contributor(s): ______________________________________.
*****************************************************************************/
package org.compiere.grid;
import java.util.*;
import org.compiere.model.*;
import org.compiere.util.*;
/**
* Manual Lookup (Model)- loaded by the put method
*
* @author Jorg Janke
* @version $Id: XLookup.java,v 1.4 2003/02/23 19:42:47 jjanke Exp $
*/
public class XLookup extends Lookup
{
/**
* Manual Lookup
* @param keyColumn key Column
*/
public XLookup(String keyColumn)
{
super();
m_keyColumn = keyColumn;
} // XLookup
/** Key Column - as identifier */
private String m_keyColumn;
/**
* Get Display String of key value
* @param key key
* @return display
*/
public String getDisplay (Object key)
{
// linear seatch in m_data
for (int i = 0; i < p_data.size(); i++)
{
Object oo = p_data.get(i);
if (oo != null && oo instanceof NamePair)
{
NamePair pp = (NamePair)oo;
if (pp.getID().equals(key))
return pp.getName();
}
}
return "<" + key + ">";
} // getDisplay
/**
* The Lookup contains the key
* @param key key
* @return true if contains key
*/
public boolean containsKey (Object key)
{
// linear seatch in p_data
for (int i = 0; i < p_data.size(); i++)
{
Object oo = p_data.get(i);
if (oo != null && oo instanceof NamePair)
{
NamePair pp = (NamePair)oo;
if (pp.getID().equals(key))
return true;
}
}
return false;
} // containsKey
/**
* Get Object of Key Value
* @param key key
* @return Object or null
*/
public NamePair get (Object key)
{
// linear seatch in m_data
for (int i = 0; i < p_data.size(); i++)
{
Object oo = p_data.get(i);
if (oo != null && oo instanceof NamePair)
{
NamePair pp = (NamePair)oo;
if (pp.getID().equals(key))
return pp;
}
}
return null;
} // get
/**
* Return data as sorted Array
* @param mandatory mandatory
* @param onlyValidated only validated
* @param onlyActive only active
* @return lsit of data
*/
public ArrayList getData (boolean mandatory, boolean onlyValidated, boolean onlyActive)
{
ArrayList list = new ArrayList (p_data);
// Sort Data
if (m_keyColumn.endsWith("_ID"))
{
KeyNamePair p = new KeyNamePair (-1, "");
if (!mandatory)
list.add (p);
Collections.sort (list, p);
}
else
{
ValueNamePair p = new ValueNamePair (null, "");
if (!mandatory)
list.add (p);
Collections.sort (list, p);
}
return list;
} // getArray
/**
* Refresh Values (nop)
* @return number of cache
*/
public int refresh()
{
return p_data.size();
} // refresh
/**
* Get underlying fully qualified Table.Column Name
* @return column name
*/
public String getColumnName()
{
return m_keyColumn;
} // getColumnName
} // XLookup
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -