View Javadoc
1   package org.argeo.osgi.metatype;
2   
3   import org.argeo.naming.SpecifiedName;
4   import org.osgi.service.metatype.AttributeDefinition;
5   
6   public interface EnumAD extends SpecifiedName, AttributeDefinition {
7   	String name();
8   
9   	default Object getDefault() {
10  		return null;
11  	}
12  
13  	@Override
14  	default String getName() {
15  		return name();
16  	}
17  
18  	@Override
19  	default String getID() {
20  		return getClass().getName() + "." + name();
21  	}
22  
23  	@Override
24  	default String getDescription() {
25  		return null;
26  	}
27  
28  	@Override
29  	default int getCardinality() {
30  		return 0;
31  	}
32  
33  	@Override
34  	default int getType() {
35  		return STRING;
36  	}
37  
38  	@Override
39  	default String[] getOptionValues() {
40  		return null;
41  	}
42  
43  	@Override
44  	default String[] getOptionLabels() {
45  		return null;
46  	}
47  
48  	@Override
49  	default String validate(String value) {
50  		return null;
51  	}
52  
53  	@Override
54  	default String[] getDefaultValue() {
55  		Object value = getDefault();
56  		if (value == null)
57  			return null;
58  		return new String[] { value.toString() };
59  	}
60  }