Пустая цель используется, когда аннотация может использоваться только в других аннотациях (с непустыми наборами целей), и не может быть прикреплена к чему-либо напрямую.Примером использования этого является JAXB, где аннотация @XmlNs
имеет пустой список целей;приведенный ниже код извлечен из моего собственного кода (с некоторыми очень незначительными изменениями) и представляет собой полный файл package-info.java
для этого конкретного пакета:
@XmlSchema(namespace = Namespaces.MAIN,
xmlns = { @XmlNs(prefix = "xlink", namespaceURI = Namespaces.XLINK) },
elementFormDefault = QUALIFIED, attributeFormDefault = QUALIFIED)
package example.bindings;
import static javax.xml.bind.annotation.XmlNsForm.QUALIFIED;
import javax.xml.bind.annotation.XmlNs;
import javax.xml.bind.annotation.XmlSchema;
import example.common.Namespaces;
Аннотация @XmlNs
используется для указания JAXB, какой префиксиспользовать для пространства имен XLink, но эту информацию можно размещать только на уровне схемы (ограничение по общему XML, но не является проблемой по большей части), и поскольку таких отображений может быть много, их нельзя присоединитьнепосредственно к пакету, но вместо этого должен входить в свойство со значением массива основной @XmlSchema
аннотации.