/** * Constructs an extension bound to a specific XML representation. The * concrete subclass must have an {@link ExtensionDescription.Default} * attribute defined to use this constructor. */ protected AbstractExtension() { Class<? extends AbstractExtension> extensionClass = this.getClass(); ExtensionDescription.Default defAnnot = extensionClass .getAnnotation(ExtensionDescription.Default.class); if (defAnnot != null) { this.namespace = new XmlNamespace(defAnnot.nsAlias(), defAnnot.nsUri()); this.localName = defAnnot.localName(); } else { this.namespace = null; this.localName = null; } }
/** * Constructs an extension bound to a specific XML representation. The * concrete subclass must have an {@link ExtensionDescription.Default} * attribute defined to use this constructor. */ protected AbstractExtension() { Class<? extends AbstractExtension> extensionClass = this.getClass(); ExtensionDescription.Default defAnnot = extensionClass .getAnnotation(ExtensionDescription.Default.class); if (defAnnot != null) { this.namespace = new XmlNamespace(defAnnot.nsAlias(), defAnnot.nsUri()); this.localName = defAnnot.localName(); } else { this.namespace = null; this.localName = null; } }
/** * Constructs an extension bound to a specific XML representation. The * concrete subclass must have an {@link ExtensionDescription.Default} * attribute defined to use this constructor. */ protected AbstractExtension() { Class<? extends AbstractExtension> extensionClass = this.getClass(); ExtensionDescription.Default defAnnot = extensionClass .getAnnotation(ExtensionDescription.Default.class); if (defAnnot != null) { this.namespace = new XmlNamespace(defAnnot.nsAlias(), defAnnot.nsUri()); this.localName = defAnnot.localName(); } else { this.namespace = null; this.localName = null; } }
/** * Returns the default {@link ExtensionDescription} for the specified * Extension class. * * @param extensionClass the target extension class. * @return default description for the target extension class. * * @throws IllegalArgumentException if a default description could not be * fourn for the extension class. */ public static ExtensionDescription getDefaultDescription( Class<? extends Extension> extensionClass) { Default defAnnot = extensionClass.getAnnotation(Default.class); if (defAnnot == null) { throw new IllegalArgumentException("No default description found for " + extensionClass); } return new ExtensionDescription( extensionClass, new XmlNamespace(defAnnot.nsAlias(), defAnnot.nsUri()), defAnnot.localName(), defAnnot.isRequired(), defAnnot.isRepeatable(), defAnnot.isAggregate(), defAnnot.allowsArbitraryXml(), defAnnot.allowsMixedContent()); }
/** * Returns the default {@link ExtensionDescription} for the specified * Extension class. * * @param extensionClass the target extension class. * @return default description for the target extension class. * * @throws IllegalArgumentException if a default description could not be * fourn for the extension class. */ public static ExtensionDescription getDefaultDescription( Class<? extends Extension> extensionClass) { Default defAnnot = extensionClass.getAnnotation(Default.class); if (defAnnot == null) { throw new IllegalArgumentException("No default description found for " + extensionClass); } return new ExtensionDescription( extensionClass, new XmlNamespace(defAnnot.nsAlias(), defAnnot.nsUri()), defAnnot.localName(), defAnnot.isRequired(), defAnnot.isRepeatable(), defAnnot.isAggregate(), defAnnot.allowsArbitraryXml(), defAnnot.allowsMixedContent()); }
/** * Returns the default {@link ExtensionDescription} for the specified * Extension class. * * @param extensionClass the target extension class. * @return default description for the target extension class. * * @throws IllegalArgumentException if a default description could not be * fourn for the extension class. */ public static ExtensionDescription getDefaultDescription( Class<? extends Extension> extensionClass) { Default defAnnot = extensionClass.getAnnotation(Default.class); if (defAnnot == null) { throw new IllegalArgumentException("No default description found for " + extensionClass); } return new ExtensionDescription( extensionClass, new XmlNamespace(defAnnot.nsAlias(), defAnnot.nsUri()), defAnnot.localName(), defAnnot.isRequired(), defAnnot.isRepeatable(), defAnnot.isAggregate(), defAnnot.allowsArbitraryXml(), defAnnot.allowsMixedContent()); }