@Retention(CLASS)
@Target(TYPE)
public @interface ObjectClassDefinition
This annotation can be used without defining any element values since
defaults can be generated from the annotated type. Each method of the
annotated type has an implied AttributeDefinition annotation if not
explicitly annotated.
This annotation may only be used on annotation types and interface types. Use on concrete or abstract class types is unsupported. If applied to an interface then all methods inherited from super types are included as attributes.
This annotation is not processed at runtime. It must be processed by tools and used to generate a Meta Type Resource document for the bundle.
| Modifier and Type | Optional Element | Description |
|---|---|---|
java.lang.String |
description |
The human readable description of this ObjectClassDefinition.
|
java.lang.String[] |
factoryPid |
The factory PIDs associated with this ObjectClassDefinition.
|
Icon[] |
icon |
The icon resources associated with this ObjectClassDefinition.
|
java.lang.String |
id |
The id of this ObjectClassDefinition.
|
java.lang.String |
localization |
The localization resource of this ObjectClassDefinition.
|
java.lang.String |
name |
The human readable name of this ObjectClassDefinition.
|
java.lang.String[] |
pid |
The PIDs associated with this ObjectClassDefinition.
|
java.lang.String id
If not specified, the id of this ObjectClassDefinition is the fully
qualified name of the annotated type using the dollar sign ('$'
\u0024) to separate nested class names from the name of their
enclosing class. The id is not to be confused with a PID which can be
specified by the pid() or factoryPid() element.
java.lang.String name
If not specified, the name of this ObjectClassDefinition is derived from
the id(). For example, low line ('_' \u005F) and
dollar sign ('$' \u0024) are replaced with space (' '
\u0020) and space is inserted between camel case words.
If the name begins with the percent sign ('%' \u0025), the
name can be localized.
java.lang.String description
If not specified, the description of this ObjectClassDefinition is the empty string.
If the description begins with the percent sign ('%' \u0025),
the description can be localized.
java.lang.String localization
This refers to a resource property entry in the bundle that can be
augmented with locale information. If not specified, the localization
resource for this ObjectClassDefinition is the string
"OSGI-INF/l10n/" followed by the id().
java.lang.String[] pid
For each specified PID, a Designate element with a pid attribute
is generated that references this ObjectClassDefinition.
The Designate annotation can also be used to associate a
Declarative Services component with an ObjectClassDefinition and generate
a Designate element.
Designatejava.lang.String[] factoryPid
For each specified factory PID, a Designate element with a
factoryPid attribute is generated that references this
ObjectClassDefinition.
The Designate annotation can also be used to associate a
Declarative Services component with an ObjectClassDefinition and generate
a Designate element.
Designate