]>
git.argeo.org Git - lgpl/argeo-commons.git/blob - node/EnumOCD.java
1 package org
.argeo
.node
;
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 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() {
27 public String
getID() {
28 return enumClass
.getName();
32 public String
getDescription() {
37 public AttributeDefinition
[] getAttributeDefinitions(int filter
) {
38 EnumSet
<T
> set
= EnumSet
.allOf(enumClass
);
39 List
<AttributeDefinition
> attrs
= new ArrayList
<>();
41 attrs
.add((AttributeDefinition
) key
);
42 return attrs
.toArray(new AttributeDefinition
[attrs
.size()]);
46 public InputStream
getIcon(int size
) throws IOException
{