package foundation.dao.bizlogic;
|
|
import foundation.data.meta.field.Field;
|
import foundation.util.Util;
|
import foundation.variant.provider.IVariantsProvider;
|
|
public abstract class ICodeProvider {
|
|
public static ICodeProviderCreator providerCreator;
|
|
public static ICodeProvider getInstance(Field field, String codeRule) {
|
if (providerCreator == null || Util.isEmpty(codeRule)) {
|
return null;
|
}
|
|
int pos = codeRule.indexOf(".");
|
|
if (pos > 0) {
|
codeRule = codeRule.substring(pos + 1, codeRule.length());
|
}
|
|
return providerCreator.createCodeProvider(field, codeRule);
|
}
|
|
public abstract String getFieldName();
|
|
public abstract String nextval(String dynamic, IVariantsProvider... providers);
|
|
}
|