]>
git.argeo.org Git - lgpl/argeo-commons.git/blob - org.argeo.enterprise/src/org/argeo/osgi/metatype/EnumOCD.java
1 package org
.argeo
.osgi
.metatype
;
3 import java
.io
.IOException
;
4 import java
.io
.InputStream
;
5 import java
.util
.ArrayList
;
6 import java
.util
.EnumSet
;
9 import org
.osgi
.service
.metatype
.AttributeDefinition
;
10 import org
.osgi
.service
.metatype
.ObjectClassDefinition
;
12 public class EnumOCD
<T
extends Enum
<T
>> implements ObjectClassDefinition
{
13 private final Class
<T
> enumClass
;
14 private String locale
;
16 public EnumOCD(Class
<T
> clazz
, String locale
) {
17 this.enumClass
= clazz
;
22 public String
getName() {
26 public String
getLocale() {
31 public String
getID() {
32 return enumClass
.getName();
36 public String
getDescription() {
41 public AttributeDefinition
[] getAttributeDefinitions(int filter
) {
42 EnumSet
<T
> set
= EnumSet
.allOf(enumClass
);
43 List
<AttributeDefinition
> attrs
= new ArrayList
<>();
45 attrs
.add((AttributeDefinition
) key
);
46 return attrs
.toArray(new AttributeDefinition
[attrs
.size()]);
50 public InputStream
getIcon(int size
) throws IOException
{