X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.enterprise%2Fsrc%2Forg%2Fargeo%2Fosgi%2Fmetatype%2FEnumAD.java;fp=org.argeo.enterprise%2Fsrc%2Forg%2Fargeo%2Fosgi%2Fmetatype%2FEnumAD.java;h=83b61e4590e15ba8da1b98ea54d342b5ecdb1a69;hb=fd8f2c91e47d38445ba9702b40559939162f666d;hp=0000000000000000000000000000000000000000;hpb=5857e869a5760aeb6de2c32d32ed4de3e28b42b6;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.enterprise/src/org/argeo/osgi/metatype/EnumAD.java b/org.argeo.enterprise/src/org/argeo/osgi/metatype/EnumAD.java new file mode 100644 index 000000000..83b61e459 --- /dev/null +++ b/org.argeo.enterprise/src/org/argeo/osgi/metatype/EnumAD.java @@ -0,0 +1,59 @@ +package org.argeo.osgi.metatype; + +import org.osgi.service.metatype.AttributeDefinition; + +public interface EnumAD extends AttributeDefinition { + String name(); + + default Object getDefault() { + return null; + } + + @Override + default String getName() { + return name(); + } + + @Override + default String getID() { + return getClass().getName() + "." + name(); + } + + @Override + default String getDescription() { + return null; + } + + @Override + default int getCardinality() { + return 0; + } + + @Override + default int getType() { + return STRING; + } + + @Override + default String[] getOptionValues() { + return null; + } + + @Override + default String[] getOptionLabels() { + return null; + } + + @Override + default String validate(String value) { + return null; + } + + @Override + default String[] getDefaultValue() { + Object value = getDefault(); + if (value == null) + return null; + return new String[] { value.toString() }; + } +}