]> git.argeo.org Git - lgpl/argeo-commons.git/blob - org.argeo.enterprise/src/org/argeo/osgi/metatype/EnumOCD.java
Add JGit to client.
[lgpl/argeo-commons.git] / org.argeo.enterprise / src / org / argeo / osgi / metatype / EnumOCD.java
1 package org.argeo.osgi.metatype;
2
3 import java.io.IOException;
4 import java.io.InputStream;
5 import java.util.ArrayList;
6 import java.util.EnumSet;
7 import java.util.List;
8
9 import org.osgi.service.metatype.AttributeDefinition;
10 import org.osgi.service.metatype.ObjectClassDefinition;
11
12 public class EnumOCD<T extends Enum<T>> implements ObjectClassDefinition {
13 private final Class<T> enumClass;
14 private String locale;
15
16 public EnumOCD(Class<T> clazz, String locale) {
17 this.enumClass = clazz;
18 this.locale = locale;
19 }
20
21 @Override
22 public String getName() {
23 return null;
24 }
25
26 public String getLocale() {
27 return locale;
28 }
29
30 @Override
31 public String getID() {
32 return enumClass.getName();
33 }
34
35 @Override
36 public String getDescription() {
37 return null;
38 }
39
40 @Override
41 public AttributeDefinition[] getAttributeDefinitions(int filter) {
42 EnumSet<T> set = EnumSet.allOf(enumClass);
43 List<AttributeDefinition> attrs = new ArrayList<>();
44 for (T key : set)
45 attrs.add((AttributeDefinition) key);
46 return attrs.toArray(new AttributeDefinition[attrs.size()]);
47 }
48
49 @Override
50 public InputStream getIcon(int size) throws IOException {
51 return null;
52 }
53
54 }