IDEMPIERE-4842 Easier model registration (#877)

* Preliminary support for automatic model class registration

Model classes can be tagged with a new @Model annotation that allows for
easy/fast class scanning/registration, based on the ClassIndex library.
The list of annotated model classes is generated at compile time, thus
reducing reflection reliance to a bare minimum.

NOTE: Eclipse uses its own Java compiler which is not strictly standard
compliant and requires extra configuration. In Java Compiler ->
Annotation Processing -> Factory Path you need to add ClassIndex jar
file

* Annotation based model factory

* Improve classloader determination for annotation scanning

ClassIndex default annotation scanning method determines the classloader
to be used by calling Thread.currentThread().getContextClassLoader(),
which should not be used in an OSGi environment.

* Enable ClassIndex's annotation processor under Eclipse

Make sure annotation processing is enabled at Module Properties -> Java
Compiler -> Annotation Processing

* Refactoring annotation-based model class detection

Eliminated the need of annotating M* classes, by using ClassIndex's
@IndexSubclasses annotation.

* Minor change

* Minor changes

* Creation of AbstractModelFactory

* Documentation

* Make AnnotationBasedModelFactory extend AbstractModelFactory

* IDEMPIERE-4842 Easier model registration

- add annotation processor jdt settings
- fix @Component annotation for AnnotationBasedModelFactory
- fix generated x_* class missing "org.atteo.classindex.IndexSubclasses"
import

* Expose ClassIndex lib to other bundles

* Updated model classes

Co-authored-by: hengsin <hengsin@gmail.com>
This commit is contained in:
Saulo José Gil 2021-09-18 02:35:57 -03:00 committed by GitHub
parent a1da95cfff
commit 602e450a93
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1499 changed files with 19170 additions and 13887 deletions

View File

@ -120,7 +120,7 @@ public class CalloutOrder extends CalloutEngine
if (DocSubTypeSO.equals(MOrder.DocSubTypeSO_POS)) if (DocSubTypeSO.equals(MOrder.DocSubTypeSO_POS))
mTab.setValue ("DeliveryRule", X_C_Order.DELIVERYRULE_Force); mTab.setValue ("DeliveryRule", X_C_Order.DELIVERYRULE_Force);
else if (DocSubTypeSO.equals(MOrder.DocSubTypeSO_Prepay)) else if (DocSubTypeSO.equals(MOrder.DocSubTypeSO_Prepay))
mTab.setValue ("DeliveryRule", X_C_Order.DELIVERYRULE_AfterReceipt); mTab.setValue ("DeliveryRule", X_C_Order.DELIVERYRULE_AfterPayment);
else else
mTab.setValue ("DeliveryRule", X_C_Order.DELIVERYRULE_Availability); mTab.setValue ("DeliveryRule", X_C_Order.DELIVERYRULE_Availability);
@ -396,7 +396,7 @@ public class CalloutOrder extends CalloutEngine
if (OrderType.equals(MOrder.DocSubTypeSO_Prepay)) if (OrderType.equals(MOrder.DocSubTypeSO_Prepay))
{ {
mTab.setValue("InvoiceRule", X_C_Order.INVOICERULE_Immediate); mTab.setValue("InvoiceRule", X_C_Order.INVOICERULE_Immediate);
mTab.setValue("DeliveryRule", X_C_Order.DELIVERYRULE_AfterReceipt); mTab.setValue("DeliveryRule", X_C_Order.DELIVERYRULE_AfterPayment);
} }
else if (OrderType.equals(MOrder.DocSubTypeSO_POS)) // for POS else if (OrderType.equals(MOrder.DocSubTypeSO_POS)) // for POS
mTab.setValue("PaymentRule", X_C_Order.PAYMENTRULE_Cash); mTab.setValue("PaymentRule", X_C_Order.PAYMENTRULE_Cash);

View File

@ -220,7 +220,7 @@ public class InOutGenerate extends SvrProcess
MOrder order = new MOrder (getCtx(), rs, get_TrxName()); MOrder order = new MOrder (getCtx(), rs, get_TrxName());
statusUpdate(Msg.getMsg(getCtx(), "Processing") + " " + order.getDocumentInfo()); statusUpdate(Msg.getMsg(getCtx(), "Processing") + " " + order.getDocumentInfo());
if (MOrder.DELIVERYRULE_AfterReceipt.equals(order.getDeliveryRule())) if (MOrder.DELIVERYRULE_AfterPayment.equals(order.getDeliveryRule()))
{ {
BigDecimal payment = order.getPaymentAmt(); BigDecimal payment = order.getPaymentAmt();
if (payment == null || payment.compareTo(order.getGrandTotal()) < 0) if (payment == null || payment.compareTo(order.getGrandTotal()) < 0)
@ -344,7 +344,7 @@ public class InOutGenerate extends SvrProcess
createLine (order, line, toDeliver, storages, false); createLine (order, line, toDeliver, storages, false);
} }
// Availability // Availability
else if ((MOrder.DELIVERYRULE_Availability.equals(order.getDeliveryRule()) || MOrder.DELIVERYRULE_AfterReceipt.equals(order.getDeliveryRule())) else if ((MOrder.DELIVERYRULE_Availability.equals(order.getDeliveryRule()) || MOrder.DELIVERYRULE_AfterPayment.equals(order.getDeliveryRule()))
&& (onHand.signum() > 0 && (onHand.signum() > 0
|| toDeliver.signum() < 0)) || toDeliver.signum() < 0))
{ {

View File

@ -0,0 +1,4 @@
<factorypath>
<factorypathentry kind="WKSPJAR" id="/org.adempiere.base/lib/classindex.jar" enabled="true" runInBatchMode="true"/>
<factorypathentry kind="PLUGIN" id="org.eclipse.jst.ws.annotations.core" enabled="true" runInBatchMode="false"/>
</factorypath>

View File

@ -0,0 +1,5 @@
eclipse.preferences.version=1
org.eclipse.jdt.apt.aptEnabled=true
org.eclipse.jdt.apt.genSrcDir=.apt_generated
org.eclipse.jdt.apt.genTestSrcDir=.apt_generated_tests
org.eclipse.jdt.apt.reconcileEnabled=true

View File

@ -7,7 +7,8 @@ Bundle-ClassPath: .,
lib/bsh.jar, lib/bsh.jar,
lib/commons-validator.jar, lib/commons-validator.jar,
lib/cron4j.jar, lib/cron4j.jar,
lib/avalon-framework-api.jar lib/avalon-framework-api.jar,
lib/classindex.jar
Export-Package: bsh, Export-Package: bsh,
bsh.classpath, bsh.classpath,
bsh.collection, bsh.collection,
@ -37,6 +38,7 @@ Export-Package: bsh,
org.adempiere.print.export, org.adempiere.print.export,
org.adempiere.process, org.adempiere.process,
org.adempiere.util, org.adempiere.util,
org.atteo.classindex,
org.compiere, org.compiere,
org.compiere.acct, org.compiere.acct,
org.compiere.db, org.compiere.db,
@ -126,6 +128,7 @@ Import-Package: com.google.zxing,
org.krysalis.barcode4j.impl.upcean;version="2.1.0", org.krysalis.barcode4j.impl.upcean;version="2.1.0",
org.krysalis.barcode4j.output.bitmap;version="2.1.0", org.krysalis.barcode4j.output.bitmap;version="2.1.0",
org.osgi.framework, org.osgi.framework,
org.osgi.framework.wiring;version="1.2.0",
org.osgi.service.cm;version="1.3.0", org.osgi.service.cm;version="1.3.0",
org.osgi.service.component;version="1.1.0", org.osgi.service.component;version="1.1.0",
org.osgi.service.component.annotations;version="1.3.0", org.osgi.service.component.annotations;version="1.3.0",

View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" activate="activate" immediate="true" name="org.adempiere.base.AnnotationBasedModelFactory">
<property name="service.ranking" type="Integer" value="1"/>
<service>
<provide interface="org.adempiere.base.IModelFactory"/>
</service>
<implementation class="org.adempiere.base.AnnotationBasedModelFactory"/>
</scr:component>

View File

@ -6,7 +6,8 @@ bin.includes = plugin.xml,\
lib/avalon-framework-api.jar,\ lib/avalon-framework-api.jar,\
lib/bsh.jar,\ lib/bsh.jar,\
lib/commons-validator.jar,\ lib/commons-validator.jar,\
lib/cron4j.jar lib/cron4j.jar,\
lib/classindex.jar
src.includes = schema/ src.includes = schema/
source.. = src/ source.. = src/
output.. = target/classes/ output.. = target/classes/

View File

@ -43,6 +43,11 @@
<artifactId>avalon-framework-api</artifactId> <artifactId>avalon-framework-api</artifactId>
<version>4.3.1</version> <version>4.3.1</version>
</artifactItem> </artifactItem>
<artifactItem>
<groupId>org.atteo.classindex</groupId>
<artifactId>classindex</artifactId>
<version>3.4</version>
</artifactItem>
</artifactItems> </artifactItems>
<outputDirectory>lib</outputDirectory> <outputDirectory>lib</outputDirectory>
<stripVersion>true</stripVersion> <stripVersion>true</stripVersion>

View File

@ -0,0 +1,124 @@
/******************************************************************************
* Product: Adempiere ERP & CRM Smart Business Solution *
* Copyright (C) 1999-2006 ComPiere, Inc. All Rights Reserved. *
* This program is free software; you can redistribute it and/or modify it *
* under the terms version 2 of the GNU General Public License as published *
* by the Free Software Foundation. This program is distributed in the hope *
* that it will be useful, but WITHOUT ANY WARRANTY; without even the implied *
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. *
* See the GNU General Public License for more details. *
* You should have received a copy of the GNU General Public License along *
* with this program; if not, write to the Free Software Foundation, Inc., *
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. *
* For the text or an alternative of this public license, you may reach us *
* ComPiere, Inc., 2620 Augustine Dr. #245, Santa Clara, CA 95054, USA *
* or via info@compiere.org or http://www.compiere.org/license.html *
* Contributor(s): Carlos Ruiz - globalqss *
*****************************************************************************/
package org.adempiere.base;
import java.lang.reflect.Constructor;
import java.sql.ResultSet;
import java.util.Properties;
import java.util.logging.Level;
import org.compiere.model.MTable;
import org.compiere.model.PO;
import org.compiere.util.CLogger;
import org.compiere.util.Env;
/**
* Provides basic functionality for {@link PO} resolution and instantiation.
* Based on legacy code in {@link MTable}.
* @author Jorg Janke
* @author hengsin
*/
public abstract class AbstractModelFactory implements IModelFactory {
private final static CLogger s_log = CLogger.getCLogger(AbstractModelFactory.class);
/**
* {@inheritDoc}
*/
@Override
public PO getPO(String tableName, int Record_ID, String trxName) {
Class<?> clazz = getClass(tableName);
if (clazz == null)
{
return null;
}
boolean errorLogged = false;
try
{
Constructor<?> constructor = null;
try
{
constructor = clazz.getDeclaredConstructor(new Class[]{Properties.class, int.class, String.class});
}
catch (Exception e)
{
String msg = e.getMessage();
if (msg == null)
msg = e.toString();
s_log.warning("No transaction Constructor for " + clazz + " (" + msg + ")");
}
PO po = constructor!=null ? (PO)constructor.newInstance(new Object[] {Env.getCtx(), Integer.valueOf(Record_ID), trxName}) : null;
return po;
}
catch (Exception e)
{
if (e.getCause() != null)
{
Throwable t = e.getCause();
s_log.log(Level.SEVERE, "(id) - Table=" + tableName + ",Class=" + clazz, t);
errorLogged = true;
if (t instanceof Exception)
s_log.saveError("Error", (Exception)e.getCause());
else
s_log.saveError("Error", "Table=" + tableName + ",Class=" + clazz);
}
else
{
s_log.log(Level.SEVERE, "(id) - Table=" + tableName + ",Class=" + clazz, e);
errorLogged = true;
s_log.saveError("Error", "Table=" + tableName + ",Class=" + clazz);
}
}
if (!errorLogged)
s_log.log(Level.SEVERE, "(id) - Not found - Table=" + tableName
+ ", Record_ID=" + Record_ID);
return null;
}
/**
* {@inheritDoc}
*/
@Override
public PO getPO(String tableName, ResultSet rs, String trxName) {
Class<?> clazz = getClass(tableName);
if (clazz == null)
{
return null;
}
boolean errorLogged = false;
try
{
Constructor<?> constructor = clazz.getDeclaredConstructor(new Class[]{Properties.class, ResultSet.class, String.class});
PO po = (PO)constructor.newInstance(new Object[] {Env.getCtx(), rs, trxName});
return po;
}
catch (Exception e)
{
s_log.log(Level.SEVERE, "(rs) - Table=" + tableName + ",Class=" + clazz, e);
errorLogged = true;
s_log.saveError("Error", "Table=" + tableName + ",Class=" + clazz);
}
if (!errorLogged)
s_log.log(Level.SEVERE, "(rs) - Not found - Table=" + tableName);
return null;
}
}

View File

@ -0,0 +1,81 @@
/******************************************************************************
* Product: iDempiere ERP & CRM Smart Business Solution *
* This program is free software; you can redistribute it and/or modify it *
* under the terms version 2 of the GNU General Public License as published *
* by the Free Software Foundation. This program is distributed in the hope *
* that it will be useful, but WITHOUT ANY WARRANTY; without even the implied *
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. *
* See the GNU General Public License for more details. *
* You should have received a copy of the GNU General Public License along *
* with this program; if not, write to the Free Software Foundation, Inc., *
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. *
*****************************************************************************/
package org.adempiere.base;
import org.atteo.classindex.ClassIndex;
import org.compiere.util.CCache;
import org.osgi.framework.Bundle;
import org.osgi.framework.wiring.BundleWiring;
import org.osgi.service.component.ComponentContext;
import org.osgi.service.component.annotations.Activate;
import org.osgi.service.component.annotations.Component;
/**
* Translates table names into model classes having the {@link Model} annotation. Relies on
* {@link DefaultModelFactory} for everything else.
* This factory is designed to have a service rank higher than {@link DefaultModelFactory}, as class
* discovery using SPI is preferred over reflection-based methods.
* @author Saulo Gil
*/
@Component(immediate = true, service = IModelFactory.class, property = {"service.ranking:Integer=1"})
public class AnnotationBasedModelFactory extends AbstractModelFactory implements IModelFactory
{
private Bundle usingBundle;
private CCache<String,Class<?>> classCache = new CCache<String,Class<?>>(null, "ABMF", 100, 120, false, 2000);
@Activate
void activate(ComponentContext context)
{
this.usingBundle = context.getUsingBundle();
}
@Override
public Class<?> getClass(String tableName)
{
// search first into cache
Class<?> candidate = classCache.get(tableName);
if (candidate != null)
{
// Object.class indicate no generated PO class for tableName
if (candidate.equals(Object.class))
return null;
else
return candidate;
}
// scan model annotations
BundleWiring wiring = usingBundle.adapt(BundleWiring.class);
for(Class<?> xClass : ClassIndex.getAnnotated(Model.class, wiring.getClassLoader()))
{
Model annotation = xClass.getAnnotation(Model.class);
if(annotation.table().equalsIgnoreCase(tableName))
{
candidate = xClass;
for(Class<?> mClass : ClassIndex.getSubclasses(xClass, wiring.getClassLoader())) {
if(!mClass.equals(candidate) && candidate.isAssignableFrom(mClass))
// favoring candidates higher in the class hierarchy
candidate = mClass;
}
break;
}
}
//Object.class to indicate no PO class for tableName
classCache.put(tableName, candidate == null ? Object.class : candidate);
return candidate;
}
}

View File

@ -17,9 +17,6 @@
*****************************************************************************/ *****************************************************************************/
package org.adempiere.base; package org.adempiere.base;
import java.lang.reflect.Constructor;
import java.sql.ResultSet;
import java.util.Properties;
import java.util.logging.Level; import java.util.logging.Level;
import org.compiere.model.MEntityType; import org.compiere.model.MEntityType;
@ -31,13 +28,15 @@ import org.compiere.util.Env;
import org.compiere.util.Util; import org.compiere.util.Util;
/** /**
* Default model factory implementation base on legacy code in MTable. * Default model factory implementation base on legacy code in {@link MTable}.
* @author Jorg Janke * @author Jorg Janke
* @author hengsin * @author hengsin
* @deprecated
*/ */
public class DefaultModelFactory implements IModelFactory { public class DefaultModelFactory extends AbstractModelFactory {
private CCache<String,Class<?>> s_classCache = new CCache<String,Class<?>>(null, "PO_Class", 100, 120, false, 2000);
private static CCache<String,Class<?>> s_classCache = new CCache<String,Class<?>>(null, "PO_Class", 100, 120, false, 2000);
private final static CLogger s_log = CLogger.getCLogger(DefaultModelFactory.class); private final static CLogger s_log = CLogger.getCLogger(DefaultModelFactory.class);
/** Packages for Model Classes */ /** Packages for Model Classes */
@ -245,82 +244,4 @@ public class DefaultModelFactory implements IModelFactory {
return null; return null;
} // getPOclass } // getPOclass
@Override
public PO getPO(String tableName, int Record_ID, String trxName) {
Class<?> clazz = getClass(tableName);
if (clazz == null)
{
return null;
}
boolean errorLogged = false;
try
{
Constructor<?> constructor = null;
try
{
constructor = clazz.getDeclaredConstructor(new Class[]{Properties.class, int.class, String.class});
}
catch (Exception e)
{
String msg = e.getMessage();
if (msg == null)
msg = e.toString();
s_log.warning("No transaction Constructor for " + clazz + " (" + msg + ")");
}
PO po = constructor!=null ? (PO)constructor.newInstance(new Object[] {Env.getCtx(), Integer.valueOf(Record_ID), trxName}) : null;
return po;
}
catch (Exception e)
{
if (e.getCause() != null)
{
Throwable t = e.getCause();
s_log.log(Level.SEVERE, "(id) - Table=" + tableName + ",Class=" + clazz, t);
errorLogged = true;
if (t instanceof Exception)
s_log.saveError("Error", (Exception)e.getCause());
else
s_log.saveError("Error", "Table=" + tableName + ",Class=" + clazz);
}
else
{
s_log.log(Level.SEVERE, "(id) - Table=" + tableName + ",Class=" + clazz, e);
errorLogged = true;
s_log.saveError("Error", "Table=" + tableName + ",Class=" + clazz);
}
}
if (!errorLogged)
s_log.log(Level.SEVERE, "(id) - Not found - Table=" + tableName
+ ", Record_ID=" + Record_ID);
return null;
}
@Override
public PO getPO(String tableName, ResultSet rs, String trxName) {
Class<?> clazz = getClass(tableName);
if (clazz == null)
{
return null;
}
boolean errorLogged = false;
try
{
Constructor<?> constructor = clazz.getDeclaredConstructor(new Class[]{Properties.class, ResultSet.class, String.class});
PO po = (PO)constructor.newInstance(new Object[] {Env.getCtx(), rs, trxName});
return po;
}
catch (Exception e)
{
s_log.log(Level.SEVERE, "(rs) - Table=" + tableName + ",Class=" + clazz, e);
errorLogged = true;
s_log.saveError("Error", "Table=" + tableName + ",Class=" + clazz);
}
if (!errorLogged)
s_log.log(Level.SEVERE, "(rs) - Not found - Table=" + tableName);
return null;
}
} }

View File

@ -0,0 +1,36 @@
/******************************************************************************
* Product: iDempiere ERP & CRM Smart Business Solution *
* This program is free software; you can redistribute it and/or modify it *
* under the terms version 2 of the GNU General Public License as published *
* by the Free Software Foundation. This program is distributed in the hope *
* that it will be useful, but WITHOUT ANY WARRANTY; without even the implied *
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. *
* See the GNU General Public License for more details. *
* You should have received a copy of the GNU General Public License along *
* with this program; if not, write to the Free Software Foundation, Inc., *
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. *
*****************************************************************************/
package org.adempiere.base;
import static java.lang.annotation.ElementType.TYPE;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import org.atteo.classindex.IndexAnnotated;
/**
* Automatic model class registration
* @author Saulo Gil
*/
@Target(TYPE)
@IndexAnnotated
@Retention(RetentionPolicy.RUNTIME)
public @interface Model {
/**
* Table name
* @return
*/
String table();
}

View File

@ -161,6 +161,7 @@ public class ModelClassGenerator
addImportClass(java.util.Properties.class); addImportClass(java.util.Properties.class);
addImportClass(java.sql.ResultSet.class); addImportClass(java.sql.ResultSet.class);
addImportClass("org.atteo.classindex.IndexSubclasses");
if (!packageName.equals("org.compiere.model")) if (!packageName.equals("org.compiere.model"))
addImportClass("org.compiere.model.*"); addImportClass("org.compiere.model.*");
createImports(start); createImports(start);
@ -168,6 +169,8 @@ public class ModelClassGenerator
start.append("/** Generated Model for ").append(tableName).append(NL) start.append("/** Generated Model for ").append(tableName).append(NL)
.append(" * @author iDempiere (generated) ").append(NL) .append(" * @author iDempiere (generated) ").append(NL)
.append(" * @version ").append(Adempiere.MAIN_VERSION).append(" - $Id$ */").append(NL) .append(" * @version ").append(Adempiere.MAIN_VERSION).append(" - $Id$ */").append(NL)
.append("@IndexSubclasses").append(NL)
.append("@org.adempiere.base.Model(table=\"").append(tableName).append("\")").append(NL)
.append("public class ").append(className) .append("public class ").append(className)
.append(" extends PO") .append(" extends PO")
.append(" implements I_").append(tableName) .append(" implements I_").append(tableName)

View File

@ -22,7 +22,7 @@ import org.compiere.util.KeyNamePair;
/** Generated Interface for AD_AccessLog /** Generated Interface for AD_AccessLog
* @author iDempiere (generated) * @author iDempiere (generated)
* @version Release 8.2 * @version Development 9.0
*/ */
public interface I_AD_AccessLog public interface I_AD_AccessLog
{ {

View File

@ -22,7 +22,7 @@ import org.compiere.util.KeyNamePair;
/** Generated Interface for AD_Alert /** Generated Interface for AD_Alert
* @author iDempiere (generated) * @author iDempiere (generated)
* @version Release 8.2 * @version Development 9.0
*/ */
public interface I_AD_Alert public interface I_AD_Alert
{ {

View File

@ -22,7 +22,7 @@ import org.compiere.util.KeyNamePair;
/** Generated Interface for AD_AlertProcessor /** Generated Interface for AD_AlertProcessor
* @author iDempiere (generated) * @author iDempiere (generated)
* @version Release 8.2 * @version Development 9.0
*/ */
public interface I_AD_AlertProcessor public interface I_AD_AlertProcessor
{ {

View File

@ -22,7 +22,7 @@ import org.compiere.util.KeyNamePair;
/** Generated Interface for AD_AlertProcessorLog /** Generated Interface for AD_AlertProcessorLog
* @author iDempiere (generated) * @author iDempiere (generated)
* @version Release 8.2 * @version Development 9.0
*/ */
public interface I_AD_AlertProcessorLog public interface I_AD_AlertProcessorLog
{ {

View File

@ -22,7 +22,7 @@ import org.compiere.util.KeyNamePair;
/** Generated Interface for AD_AlertRecipient /** Generated Interface for AD_AlertRecipient
* @author iDempiere (generated) * @author iDempiere (generated)
* @version Release 8.2 * @version Development 9.0
*/ */
public interface I_AD_AlertRecipient public interface I_AD_AlertRecipient
{ {

View File

@ -22,7 +22,7 @@ import org.compiere.util.KeyNamePair;
/** Generated Interface for AD_AlertRule /** Generated Interface for AD_AlertRule
* @author iDempiere (generated) * @author iDempiere (generated)
* @version Release 8.2 * @version Development 9.0
*/ */
public interface I_AD_AlertRule public interface I_AD_AlertRule
{ {

View File

@ -22,7 +22,7 @@ import org.compiere.util.KeyNamePair;
/** Generated Interface for AD_AllClients_V /** Generated Interface for AD_AllClients_V
* @author iDempiere (generated) * @author iDempiere (generated)
* @version Release 8.2 * @version Development 9.0
*/ */
public interface I_AD_AllClients_V public interface I_AD_AllClients_V
{ {

View File

@ -22,7 +22,7 @@ import org.compiere.util.KeyNamePair;
/** Generated Interface for AD_AllUsers_V /** Generated Interface for AD_AllUsers_V
* @author iDempiere (generated) * @author iDempiere (generated)
* @version Release 8.2 * @version Development 9.0
*/ */
public interface I_AD_AllUsers_V public interface I_AD_AllUsers_V
{ {

View File

@ -22,7 +22,7 @@ import org.compiere.util.KeyNamePair;
/** Generated Interface for AD_Archive /** Generated Interface for AD_Archive
* @author iDempiere (generated) * @author iDempiere (generated)
* @version Release 8.2 * @version Development 9.0
*/ */
public interface I_AD_Archive public interface I_AD_Archive
{ {

View File

@ -22,7 +22,7 @@ import org.compiere.util.KeyNamePair;
/** Generated Interface for AD_Attachment /** Generated Interface for AD_Attachment
* @author iDempiere (generated) * @author iDempiere (generated)
* @version Release 8.2 * @version Development 9.0
*/ */
public interface I_AD_Attachment public interface I_AD_Attachment
{ {

View File

@ -22,7 +22,7 @@ import org.compiere.util.KeyNamePair;
/** Generated Interface for AD_AttachmentNote /** Generated Interface for AD_AttachmentNote
* @author iDempiere (generated) * @author iDempiere (generated)
* @version Release 8.2 * @version Development 9.0
*/ */
public interface I_AD_AttachmentNote public interface I_AD_AttachmentNote
{ {

View File

@ -22,7 +22,7 @@ import org.compiere.util.KeyNamePair;
/** Generated Interface for AD_Attribute /** Generated Interface for AD_Attribute
* @author iDempiere (generated) * @author iDempiere (generated)
* @version Release 8.2 * @version Development 9.0
*/ */
public interface I_AD_Attribute public interface I_AD_Attribute
{ {

View File

@ -22,7 +22,7 @@ import org.compiere.util.KeyNamePair;
/** Generated Interface for AD_Attribute_Value /** Generated Interface for AD_Attribute_Value
* @author iDempiere (generated) * @author iDempiere (generated)
* @version Release 8.2 * @version Development 9.0
*/ */
public interface I_AD_Attribute_Value public interface I_AD_Attribute_Value
{ {

View File

@ -22,7 +22,7 @@ import org.compiere.util.KeyNamePair;
/** Generated Interface for AD_AuthorizationAccount /** Generated Interface for AD_AuthorizationAccount
* @author iDempiere (generated) * @author iDempiere (generated)
* @version Release 8.2 * @version Development 9.0
*/ */
public interface I_AD_AuthorizationAccount public interface I_AD_AuthorizationAccount
{ {

View File

@ -22,7 +22,7 @@ import org.compiere.util.KeyNamePair;
/** Generated Interface for AD_AuthorizationCredential /** Generated Interface for AD_AuthorizationCredential
* @author iDempiere (generated) * @author iDempiere (generated)
* @version Release 8.2 * @version Development 9.0
*/ */
public interface I_AD_AuthorizationCredential public interface I_AD_AuthorizationCredential
{ {

View File

@ -22,7 +22,7 @@ import org.compiere.util.KeyNamePair;
/** Generated Interface for AD_AuthorizationProvider /** Generated Interface for AD_AuthorizationProvider
* @author iDempiere (generated) * @author iDempiere (generated)
* @version Release 8.2 * @version Development 9.0
*/ */
public interface I_AD_AuthorizationProvider public interface I_AD_AuthorizationProvider
{ {

View File

@ -22,7 +22,7 @@ import org.compiere.util.KeyNamePair;
/** Generated Interface for AD_AuthorizationScopeProv /** Generated Interface for AD_AuthorizationScopeProv
* @author iDempiere (generated) * @author iDempiere (generated)
* @version Release 8.2 * @version Development 9.0
*/ */
public interface I_AD_AuthorizationScopeProv public interface I_AD_AuthorizationScopeProv
{ {

View File

@ -22,7 +22,7 @@ import org.compiere.util.KeyNamePair;
/** Generated Interface for AD_BroadcastMessage /** Generated Interface for AD_BroadcastMessage
* @author iDempiere (generated) * @author iDempiere (generated)
* @version Release 8.2 * @version Development 9.0
*/ */
public interface I_AD_BroadcastMessage public interface I_AD_BroadcastMessage
{ {

View File

@ -22,7 +22,7 @@ import org.compiere.util.KeyNamePair;
/** Generated Interface for AD_ChangeLog /** Generated Interface for AD_ChangeLog
* @author iDempiere (generated) * @author iDempiere (generated)
* @version Release 8.2 * @version Development 9.0
*/ */
public interface I_AD_ChangeLog public interface I_AD_ChangeLog
{ {

View File

@ -22,7 +22,7 @@ import org.compiere.util.KeyNamePair;
/** Generated Interface for AD_Chart /** Generated Interface for AD_Chart
* @author iDempiere (generated) * @author iDempiere (generated)
* @version Release 8.2 * @version Development 9.0
*/ */
public interface I_AD_Chart public interface I_AD_Chart
{ {

View File

@ -22,7 +22,7 @@ import org.compiere.util.KeyNamePair;
/** Generated Interface for AD_ChartDatasource /** Generated Interface for AD_ChartDatasource
* @author iDempiere (generated) * @author iDempiere (generated)
* @version Release 8.2 * @version Development 9.0
*/ */
public interface I_AD_ChartDatasource public interface I_AD_ChartDatasource
{ {

View File

@ -22,7 +22,7 @@ import org.compiere.util.KeyNamePair;
/** Generated Interface for AD_Client /** Generated Interface for AD_Client
* @author iDempiere (generated) * @author iDempiere (generated)
* @version Release 8.2 * @version Development 9.0
*/ */
public interface I_AD_Client public interface I_AD_Client
{ {

View File

@ -22,7 +22,7 @@ import org.compiere.util.KeyNamePair;
/** Generated Interface for AD_ClientInfo /** Generated Interface for AD_ClientInfo
* @author iDempiere (generated) * @author iDempiere (generated)
* @version Release 8.2 * @version Development 9.0
*/ */
public interface I_AD_ClientInfo public interface I_AD_ClientInfo
{ {

View File

@ -22,7 +22,7 @@ import org.compiere.util.KeyNamePair;
/** Generated Interface for AD_ClientShare /** Generated Interface for AD_ClientShare
* @author iDempiere (generated) * @author iDempiere (generated)
* @version Release 8.2 * @version Development 9.0
*/ */
public interface I_AD_ClientShare public interface I_AD_ClientShare
{ {

View File

@ -22,7 +22,7 @@ import org.compiere.util.KeyNamePair;
/** Generated Interface for AD_Color /** Generated Interface for AD_Color
* @author iDempiere (generated) * @author iDempiere (generated)
* @version Release 8.2 * @version Development 9.0
*/ */
public interface I_AD_Color public interface I_AD_Color
{ {

View File

@ -22,7 +22,7 @@ import org.compiere.util.KeyNamePair;
/** Generated Interface for AD_Column /** Generated Interface for AD_Column
* @author iDempiere (generated) * @author iDempiere (generated)
* @version Release 8.2 * @version Development 9.0
*/ */
public interface I_AD_Column public interface I_AD_Column
{ {

View File

@ -22,7 +22,7 @@ import org.compiere.util.KeyNamePair;
/** Generated Interface for AD_Column_Access /** Generated Interface for AD_Column_Access
* @author iDempiere (generated) * @author iDempiere (generated)
* @version Release 8.2 * @version Development 9.0
*/ */
public interface I_AD_Column_Access public interface I_AD_Column_Access
{ {

View File

@ -22,7 +22,7 @@ import org.compiere.util.KeyNamePair;
/** Generated Interface for AD_CtxHelp /** Generated Interface for AD_CtxHelp
* @author iDempiere (generated) * @author iDempiere (generated)
* @version Release 8.2 * @version Development 9.0
*/ */
public interface I_AD_CtxHelp public interface I_AD_CtxHelp
{ {

View File

@ -22,7 +22,7 @@ import org.compiere.util.KeyNamePair;
/** Generated Interface for AD_CtxHelpMsg /** Generated Interface for AD_CtxHelpMsg
* @author iDempiere (generated) * @author iDempiere (generated)
* @version Release 8.2 * @version Development 9.0
*/ */
public interface I_AD_CtxHelpMsg public interface I_AD_CtxHelpMsg
{ {

View File

@ -22,7 +22,7 @@ import org.compiere.util.KeyNamePair;
/** Generated Interface for AD_CtxHelpSuggestion /** Generated Interface for AD_CtxHelpSuggestion
* @author iDempiere (generated) * @author iDempiere (generated)
* @version Release 8.2 * @version Development 9.0
*/ */
public interface I_AD_CtxHelpSuggestion public interface I_AD_CtxHelpSuggestion
{ {

View File

@ -22,7 +22,7 @@ import org.compiere.util.KeyNamePair;
/** Generated Interface for AD_Desktop /** Generated Interface for AD_Desktop
* @author iDempiere (generated) * @author iDempiere (generated)
* @version Release 8.2 * @version Development 9.0
*/ */
public interface I_AD_Desktop public interface I_AD_Desktop
{ {

View File

@ -22,7 +22,7 @@ import org.compiere.util.KeyNamePair;
/** Generated Interface for AD_DesktopWorkbench /** Generated Interface for AD_DesktopWorkbench
* @author iDempiere (generated) * @author iDempiere (generated)
* @version Release 8.2 * @version Development 9.0
*/ */
public interface I_AD_DesktopWorkbench public interface I_AD_DesktopWorkbench
{ {

View File

@ -22,7 +22,7 @@ import org.compiere.util.KeyNamePair;
/** Generated Interface for AD_Document_Action_Access /** Generated Interface for AD_Document_Action_Access
* @author iDempiere (generated) * @author iDempiere (generated)
* @version Release 8.2 * @version Development 9.0
*/ */
public interface I_AD_Document_Action_Access public interface I_AD_Document_Action_Access
{ {

View File

@ -22,7 +22,7 @@ import org.compiere.util.KeyNamePair;
/** Generated Interface for AD_Element /** Generated Interface for AD_Element
* @author iDempiere (generated) * @author iDempiere (generated)
* @version Release 8.2 * @version Development 9.0
*/ */
public interface I_AD_Element public interface I_AD_Element
{ {

View File

@ -22,7 +22,7 @@ import org.compiere.util.KeyNamePair;
/** Generated Interface for AD_EntityType /** Generated Interface for AD_EntityType
* @author iDempiere (generated) * @author iDempiere (generated)
* @version Release 8.2 * @version Development 9.0
*/ */
public interface I_AD_EntityType public interface I_AD_EntityType
{ {

View File

@ -22,7 +22,7 @@ import org.compiere.util.KeyNamePair;
/** Generated Interface for AD_Error /** Generated Interface for AD_Error
* @author iDempiere (generated) * @author iDempiere (generated)
* @version Release 8.2 * @version Development 9.0
*/ */
public interface I_AD_Error public interface I_AD_Error
{ {

View File

@ -22,7 +22,7 @@ import org.compiere.util.KeyNamePair;
/** Generated Interface for AD_Field /** Generated Interface for AD_Field
* @author iDempiere (generated) * @author iDempiere (generated)
* @version Release 8.2 * @version Development 9.0
*/ */
public interface I_AD_Field public interface I_AD_Field
{ {
@ -79,6 +79,19 @@ public interface I_AD_Field
public org.compiere.model.I_AD_FieldGroup getAD_FieldGroup() throws RuntimeException; public org.compiere.model.I_AD_FieldGroup getAD_FieldGroup() throws RuntimeException;
/** Column name AD_Field_ID */
public static final String COLUMNNAME_AD_Field_ID = "AD_Field_ID";
/** Set Field.
* Field on a database table
*/
public void setAD_Field_ID (int AD_Field_ID);
/** Get Field.
* Field on a database table
*/
public int getAD_Field_ID();
/** Column name AD_FieldStyle_ID */ /** Column name AD_FieldStyle_ID */
public static final String COLUMNNAME_AD_FieldStyle_ID = "AD_FieldStyle_ID"; public static final String COLUMNNAME_AD_FieldStyle_ID = "AD_FieldStyle_ID";
@ -94,19 +107,6 @@ public interface I_AD_Field
public org.compiere.model.I_AD_Style getAD_FieldStyle() throws RuntimeException; public org.compiere.model.I_AD_Style getAD_FieldStyle() throws RuntimeException;
/** Column name AD_Field_ID */
public static final String COLUMNNAME_AD_Field_ID = "AD_Field_ID";
/** Set Field.
* Field on a database table
*/
public void setAD_Field_ID (int AD_Field_ID);
/** Get Field.
* Field on a database table
*/
public int getAD_Field_ID();
/** Column name AD_Field_UU */ /** Column name AD_Field_UU */
public static final String COLUMNNAME_AD_Field_UU = "AD_Field_UU"; public static final String COLUMNNAME_AD_Field_UU = "AD_Field_UU";
@ -219,19 +219,6 @@ public interface I_AD_Field
public org.compiere.model.I_AD_Val_Rule getAD_Val_Rule_Lookup() throws RuntimeException; public org.compiere.model.I_AD_Val_Rule getAD_Val_Rule_Lookup() throws RuntimeException;
/** Column name ColumnSQL */
public static final String COLUMNNAME_ColumnSQL = "ColumnSQL";
/** Set Column SQL.
* Virtual Column (r/o)
*/
public void setColumnSQL (String ColumnSQL);
/** Get Column SQL.
* Virtual Column (r/o)
*/
public String getColumnSQL();
/** Column name ColumnSpan */ /** Column name ColumnSpan */
public static final String COLUMNNAME_ColumnSpan = "ColumnSpan"; public static final String COLUMNNAME_ColumnSpan = "ColumnSpan";
@ -245,6 +232,19 @@ public interface I_AD_Field
*/ */
public int getColumnSpan(); public int getColumnSpan();
/** Column name ColumnSQL */
public static final String COLUMNNAME_ColumnSQL = "ColumnSQL";
/** Set Column SQL.
* Virtual Column (r/o)
*/
public void setColumnSQL (String ColumnSQL);
/** Get Column SQL.
* Virtual Column (r/o)
*/
public String getColumnSQL();
/** Column name Created */ /** Column name Created */
public static final String COLUMNNAME_Created = "Created"; public static final String COLUMNNAME_Created = "Created";

View File

@ -22,7 +22,7 @@ import org.compiere.util.KeyNamePair;
/** Generated Interface for AD_FieldGroup /** Generated Interface for AD_FieldGroup
* @author iDempiere (generated) * @author iDempiere (generated)
* @version Release 8.2 * @version Development 9.0
*/ */
public interface I_AD_FieldGroup public interface I_AD_FieldGroup
{ {

View File

@ -22,7 +22,7 @@ import org.compiere.util.KeyNamePair;
/** Generated Interface for AD_FieldSuggestion /** Generated Interface for AD_FieldSuggestion
* @author iDempiere (generated) * @author iDempiere (generated)
* @version Release 8.2 * @version Development 9.0
*/ */
public interface I_AD_FieldSuggestion public interface I_AD_FieldSuggestion
{ {

View File

@ -22,7 +22,7 @@ import org.compiere.util.KeyNamePair;
/** Generated Interface for AD_Find /** Generated Interface for AD_Find
* @author iDempiere (generated) * @author iDempiere (generated)
* @version Release 8.2 * @version Development 9.0
*/ */
public interface I_AD_Find public interface I_AD_Find
{ {

View File

@ -22,7 +22,7 @@ import org.compiere.util.KeyNamePair;
/** Generated Interface for AD_Form /** Generated Interface for AD_Form
* @author iDempiere (generated) * @author iDempiere (generated)
* @version Release 8.2 * @version Development 9.0
*/ */
public interface I_AD_Form public interface I_AD_Form
{ {

View File

@ -22,7 +22,7 @@ import org.compiere.util.KeyNamePair;
/** Generated Interface for AD_Form_Access /** Generated Interface for AD_Form_Access
* @author iDempiere (generated) * @author iDempiere (generated)
* @version Release 8.2 * @version Development 9.0
*/ */
public interface I_AD_Form_Access public interface I_AD_Form_Access
{ {

View File

@ -22,7 +22,7 @@ import org.compiere.util.KeyNamePair;
/** Generated Interface for AD_HouseKeeping /** Generated Interface for AD_HouseKeeping
* @author iDempiere (generated) * @author iDempiere (generated)
* @version Release 8.2 * @version Development 9.0
*/ */
public interface I_AD_HouseKeeping public interface I_AD_HouseKeeping
{ {

View File

@ -22,7 +22,7 @@ import org.compiere.util.KeyNamePair;
/** Generated Interface for AD_Image /** Generated Interface for AD_Image
* @author iDempiere (generated) * @author iDempiere (generated)
* @version Release 8.2 * @version Development 9.0
*/ */
public interface I_AD_Image public interface I_AD_Image
{ {

View File

@ -22,7 +22,7 @@ import org.compiere.util.KeyNamePair;
/** Generated Interface for AD_ImpFormat /** Generated Interface for AD_ImpFormat
* @author iDempiere (generated) * @author iDempiere (generated)
* @version Release 8.2 * @version Development 9.0
*/ */
public interface I_AD_ImpFormat public interface I_AD_ImpFormat
{ {

View File

@ -22,7 +22,7 @@ import org.compiere.util.KeyNamePair;
/** Generated Interface for AD_ImpFormat_Row /** Generated Interface for AD_ImpFormat_Row
* @author iDempiere (generated) * @author iDempiere (generated)
* @version Release 8.2 * @version Development 9.0
*/ */
public interface I_AD_ImpFormat_Row public interface I_AD_ImpFormat_Row
{ {

View File

@ -22,7 +22,7 @@ import org.compiere.util.KeyNamePair;
/** Generated Interface for AD_ImportTemplate /** Generated Interface for AD_ImportTemplate
* @author iDempiere (generated) * @author iDempiere (generated)
* @version Release 8.2 * @version Development 9.0
*/ */
public interface I_AD_ImportTemplate public interface I_AD_ImportTemplate
{ {

View File

@ -22,7 +22,7 @@ import org.compiere.util.KeyNamePair;
/** Generated Interface for AD_ImportTemplateAccess /** Generated Interface for AD_ImportTemplateAccess
* @author iDempiere (generated) * @author iDempiere (generated)
* @version Release 8.2 * @version Development 9.0
*/ */
public interface I_AD_ImportTemplateAccess public interface I_AD_ImportTemplateAccess
{ {

View File

@ -22,7 +22,7 @@ import org.compiere.util.KeyNamePair;
/** Generated Interface for AD_IndexColumn /** Generated Interface for AD_IndexColumn
* @author iDempiere (generated) * @author iDempiere (generated)
* @version Release 8.2 * @version Development 9.0
*/ */
public interface I_AD_IndexColumn public interface I_AD_IndexColumn
{ {

View File

@ -22,7 +22,7 @@ import org.compiere.util.KeyNamePair;
/** Generated Interface for AD_InfoColumn /** Generated Interface for AD_InfoColumn
* @author iDempiere (generated) * @author iDempiere (generated)
* @version Release 8.2 * @version Development 9.0
*/ */
public interface I_AD_InfoColumn public interface I_AD_InfoColumn
{ {

View File

@ -22,7 +22,7 @@ import org.compiere.util.KeyNamePair;
/** Generated Interface for AD_InfoProcess /** Generated Interface for AD_InfoProcess
* @author iDempiere (generated) * @author iDempiere (generated)
* @version Release 8.2 * @version Development 9.0
*/ */
public interface I_AD_InfoProcess public interface I_AD_InfoProcess
{ {

View File

@ -22,7 +22,7 @@ import org.compiere.util.KeyNamePair;
/** Generated Interface for AD_InfoRelated /** Generated Interface for AD_InfoRelated
* @author iDempiere (generated) * @author iDempiere (generated)
* @version Release 8.2 * @version Development 9.0
*/ */
public interface I_AD_InfoRelated public interface I_AD_InfoRelated
{ {

View File

@ -22,7 +22,7 @@ import org.compiere.util.KeyNamePair;
/** Generated Interface for AD_InfoWindow /** Generated Interface for AD_InfoWindow
* @author iDempiere (generated) * @author iDempiere (generated)
* @version Release 8.2 * @version Development 9.0
*/ */
public interface I_AD_InfoWindow public interface I_AD_InfoWindow
{ {

View File

@ -22,7 +22,7 @@ import org.compiere.util.KeyNamePair;
/** Generated Interface for AD_InfoWindow_Access /** Generated Interface for AD_InfoWindow_Access
* @author iDempiere (generated) * @author iDempiere (generated)
* @version Release 8.2 * @version Development 9.0
*/ */
public interface I_AD_InfoWindow_Access public interface I_AD_InfoWindow_Access
{ {

View File

@ -22,7 +22,7 @@ import org.compiere.util.KeyNamePair;
/** Generated Interface for AD_Issue /** Generated Interface for AD_Issue
* @author iDempiere (generated) * @author iDempiere (generated)
* @version Release 8.2 * @version Development 9.0
*/ */
public interface I_AD_Issue public interface I_AD_Issue
{ {

View File

@ -22,7 +22,7 @@ import org.compiere.util.KeyNamePair;
/** Generated Interface for AD_LabelPrinter /** Generated Interface for AD_LabelPrinter
* @author iDempiere (generated) * @author iDempiere (generated)
* @version Release 8.2 * @version Development 9.0
*/ */
public interface I_AD_LabelPrinter public interface I_AD_LabelPrinter
{ {

View File

@ -22,7 +22,7 @@ import org.compiere.util.KeyNamePair;
/** Generated Interface for AD_LabelPrinterFunction /** Generated Interface for AD_LabelPrinterFunction
* @author iDempiere (generated) * @author iDempiere (generated)
* @version Release 8.2 * @version Development 9.0
*/ */
public interface I_AD_LabelPrinterFunction public interface I_AD_LabelPrinterFunction
{ {

View File

@ -22,7 +22,7 @@ import org.compiere.util.KeyNamePair;
/** Generated Interface for AD_Language /** Generated Interface for AD_Language
* @author iDempiere (generated) * @author iDempiere (generated)
* @version Release 8.2 * @version Development 9.0
*/ */
public interface I_AD_Language public interface I_AD_Language
{ {

View File

@ -22,7 +22,7 @@ import org.compiere.util.KeyNamePair;
/** Generated Interface for AD_LdapAccess /** Generated Interface for AD_LdapAccess
* @author iDempiere (generated) * @author iDempiere (generated)
* @version Release 8.2 * @version Development 9.0
*/ */
public interface I_AD_LdapAccess public interface I_AD_LdapAccess
{ {

View File

@ -22,7 +22,7 @@ import org.compiere.util.KeyNamePair;
/** Generated Interface for AD_LdapProcessor /** Generated Interface for AD_LdapProcessor
* @author iDempiere (generated) * @author iDempiere (generated)
* @version Release 8.2 * @version Development 9.0
*/ */
public interface I_AD_LdapProcessor public interface I_AD_LdapProcessor
{ {

View File

@ -22,7 +22,7 @@ import org.compiere.util.KeyNamePair;
/** Generated Interface for AD_LdapProcessorLog /** Generated Interface for AD_LdapProcessorLog
* @author iDempiere (generated) * @author iDempiere (generated)
* @version Release 8.2 * @version Development 9.0
*/ */
public interface I_AD_LdapProcessorLog public interface I_AD_LdapProcessorLog
{ {

View File

@ -22,7 +22,7 @@ import org.compiere.util.KeyNamePair;
/** Generated Interface for AD_Menu /** Generated Interface for AD_Menu
* @author iDempiere (generated) * @author iDempiere (generated)
* @version Release 8.2 * @version Development 9.0
*/ */
public interface I_AD_Menu public interface I_AD_Menu
{ {

View File

@ -22,7 +22,7 @@ import org.compiere.util.KeyNamePair;
/** Generated Interface for AD_Message /** Generated Interface for AD_Message
* @author iDempiere (generated) * @author iDempiere (generated)
* @version Release 8.2 * @version Development 9.0
*/ */
public interface I_AD_Message public interface I_AD_Message
{ {

View File

@ -22,7 +22,7 @@ import org.compiere.util.KeyNamePair;
/** Generated Interface for AD_MigrationScript /** Generated Interface for AD_MigrationScript
* @author iDempiere (generated) * @author iDempiere (generated)
* @version Release 8.2 * @version Development 9.0
*/ */
public interface I_AD_MigrationScript public interface I_AD_MigrationScript
{ {

View File

@ -22,7 +22,7 @@ import org.compiere.util.KeyNamePair;
/** Generated Interface for AD_ModelValidator /** Generated Interface for AD_ModelValidator
* @author iDempiere (generated) * @author iDempiere (generated)
* @version Release 8.2 * @version Development 9.0
*/ */
public interface I_AD_ModelValidator public interface I_AD_ModelValidator
{ {

View File

@ -22,7 +22,7 @@ import org.compiere.util.KeyNamePair;
/** Generated Interface for AD_Modification /** Generated Interface for AD_Modification
* @author iDempiere (generated) * @author iDempiere (generated)
* @version Release 8.2 * @version Development 9.0
*/ */
public interface I_AD_Modification public interface I_AD_Modification
{ {

View File

@ -22,7 +22,7 @@ import org.compiere.util.KeyNamePair;
/** Generated Interface for AD_Note /** Generated Interface for AD_Note
* @author iDempiere (generated) * @author iDempiere (generated)
* @version Release 8.2 * @version Development 9.0
*/ */
public interface I_AD_Note public interface I_AD_Note
{ {

View File

@ -22,7 +22,7 @@ import org.compiere.util.KeyNamePair;
/** Generated Interface for AD_Org /** Generated Interface for AD_Org
* @author iDempiere (generated) * @author iDempiere (generated)
* @version Release 8.2 * @version Development 9.0
*/ */
public interface I_AD_Org public interface I_AD_Org
{ {

View File

@ -22,7 +22,7 @@ import org.compiere.util.KeyNamePair;
/** Generated Interface for AD_OrgInfo /** Generated Interface for AD_OrgInfo
* @author iDempiere (generated) * @author iDempiere (generated)
* @version Release 8.2 * @version Development 9.0
*/ */
public interface I_AD_OrgInfo public interface I_AD_OrgInfo
{ {

View File

@ -22,7 +22,7 @@ import org.compiere.util.KeyNamePair;
/** Generated Interface for AD_OrgType /** Generated Interface for AD_OrgType
* @author iDempiere (generated) * @author iDempiere (generated)
* @version Release 8.2 * @version Development 9.0
*/ */
public interface I_AD_OrgType public interface I_AD_OrgType
{ {

View File

@ -22,7 +22,7 @@ import org.compiere.util.KeyNamePair;
/** Generated Interface for AD_PInstance /** Generated Interface for AD_PInstance
* @author iDempiere (generated) * @author iDempiere (generated)
* @version Release 8.2 * @version Development 9.0
*/ */
public interface I_AD_PInstance public interface I_AD_PInstance
{ {

View File

@ -22,7 +22,7 @@ import org.compiere.util.KeyNamePair;
/** Generated Interface for AD_PInstance_Log /** Generated Interface for AD_PInstance_Log
* @author iDempiere (generated) * @author iDempiere (generated)
* @version Release 8.2 * @version Development 9.0
*/ */
public interface I_AD_PInstance_Log public interface I_AD_PInstance_Log
{ {

View File

@ -22,7 +22,7 @@ import org.compiere.util.KeyNamePair;
/** Generated Interface for AD_Package_Exp /** Generated Interface for AD_Package_Exp
* @author iDempiere (generated) * @author iDempiere (generated)
* @version Release 8.2 * @version Development 9.0
*/ */
public interface I_AD_Package_Exp public interface I_AD_Package_Exp
{ {

View File

@ -22,7 +22,7 @@ import org.compiere.util.KeyNamePair;
/** Generated Interface for AD_Package_Exp_Detail /** Generated Interface for AD_Package_Exp_Detail
* @author iDempiere (generated) * @author iDempiere (generated)
* @version Release 8.2 * @version Development 9.0
*/ */
public interface I_AD_Package_Exp_Detail public interface I_AD_Package_Exp_Detail
{ {

View File

@ -22,7 +22,7 @@ import org.compiere.util.KeyNamePair;
/** Generated Interface for AD_Package_Imp /** Generated Interface for AD_Package_Imp
* @author iDempiere (generated) * @author iDempiere (generated)
* @version Release 8.2 * @version Development 9.0
*/ */
public interface I_AD_Package_Imp public interface I_AD_Package_Imp
{ {

View File

@ -22,7 +22,7 @@ import org.compiere.util.KeyNamePair;
/** Generated Interface for AD_Package_Imp_Backup /** Generated Interface for AD_Package_Imp_Backup
* @author iDempiere (generated) * @author iDempiere (generated)
* @version Release 8.2 * @version Development 9.0
*/ */
public interface I_AD_Package_Imp_Backup public interface I_AD_Package_Imp_Backup
{ {

View File

@ -22,7 +22,7 @@ import org.compiere.util.KeyNamePair;
/** Generated Interface for AD_Package_Imp_Detail /** Generated Interface for AD_Package_Imp_Detail
* @author iDempiere (generated) * @author iDempiere (generated)
* @version Release 8.2 * @version Development 9.0
*/ */
public interface I_AD_Package_Imp_Detail public interface I_AD_Package_Imp_Detail
{ {

View File

@ -22,7 +22,7 @@ import org.compiere.util.KeyNamePair;
/** Generated Interface for AD_Package_Imp_Inst /** Generated Interface for AD_Package_Imp_Inst
* @author iDempiere (generated) * @author iDempiere (generated)
* @version Release 8.2 * @version Development 9.0
*/ */
public interface I_AD_Package_Imp_Inst public interface I_AD_Package_Imp_Inst
{ {

View File

@ -22,7 +22,7 @@ import org.compiere.util.KeyNamePair;
/** Generated Interface for AD_Package_Imp_Proc /** Generated Interface for AD_Package_Imp_Proc
* @author iDempiere (generated) * @author iDempiere (generated)
* @version Release 8.2 * @version Development 9.0
*/ */
public interface I_AD_Package_Imp_Proc public interface I_AD_Package_Imp_Proc
{ {

View File

@ -22,7 +22,7 @@ import org.compiere.util.KeyNamePair;
/** Generated Interface for AD_Package_UUID_Map /** Generated Interface for AD_Package_UUID_Map
* @author iDempiere (generated) * @author iDempiere (generated)
* @version Release 8.2 * @version Development 9.0
*/ */
public interface I_AD_Package_UUID_Map public interface I_AD_Package_UUID_Map
{ {

View File

@ -22,7 +22,7 @@ import org.compiere.util.KeyNamePair;
/** Generated Interface for AD_PasswordRule /** Generated Interface for AD_PasswordRule
* @author iDempiere (generated) * @author iDempiere (generated)
* @version Release 8.2 * @version Development 9.0
*/ */
public interface I_AD_PasswordRule public interface I_AD_PasswordRule
{ {

View File

@ -22,7 +22,7 @@ import org.compiere.util.KeyNamePair;
/** Generated Interface for AD_Password_History /** Generated Interface for AD_Password_History
* @author iDempiere (generated) * @author iDempiere (generated)
* @version Release 8.2 * @version Development 9.0
*/ */
public interface I_AD_Password_History public interface I_AD_Password_History
{ {

View File

@ -22,7 +22,7 @@ import org.compiere.util.KeyNamePair;
/** Generated Interface for AD_PostIt /** Generated Interface for AD_PostIt
* @author iDempiere (generated) * @author iDempiere (generated)
* @version Release 8.2 * @version Development 9.0
*/ */
public interface I_AD_PostIt public interface I_AD_PostIt
{ {

View File

@ -22,7 +22,7 @@ import org.compiere.util.KeyNamePair;
/** Generated Interface for AD_Preference /** Generated Interface for AD_Preference
* @author iDempiere (generated) * @author iDempiere (generated)
* @version Release 8.2 * @version Development 9.0
*/ */
public interface I_AD_Preference public interface I_AD_Preference
{ {

View File

@ -22,7 +22,7 @@ import org.compiere.util.KeyNamePair;
/** Generated Interface for AD_PrintColor /** Generated Interface for AD_PrintColor
* @author iDempiere (generated) * @author iDempiere (generated)
* @version Release 8.2 * @version Development 9.0
*/ */
public interface I_AD_PrintColor public interface I_AD_PrintColor
{ {

View File

@ -22,7 +22,7 @@ import org.compiere.util.KeyNamePair;
/** Generated Interface for AD_PrintFont /** Generated Interface for AD_PrintFont
* @author iDempiere (generated) * @author iDempiere (generated)
* @version Release 8.2 * @version Development 9.0
*/ */
public interface I_AD_PrintFont public interface I_AD_PrintFont
{ {

View File

@ -22,7 +22,7 @@ import org.compiere.util.KeyNamePair;
/** Generated Interface for AD_PrintForm /** Generated Interface for AD_PrintForm
* @author iDempiere (generated) * @author iDempiere (generated)
* @version Release 8.2 * @version Development 9.0
*/ */
public interface I_AD_PrintForm public interface I_AD_PrintForm
{ {

Some files were not shown because too many files have changed in this diff Show More