P15GEN2\59518
2024-05-29 d4210c7c4b04abde20037ea8aa0f54ef8a2649aa
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
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);
 
}