@ManagedObject(type= RedirectingVirtualHostNodeImpl.VIRTUAL_HOST_NODE_TYPE, category=false, validChildTypes = "org.apache.qpid.server.virtualhostnode.RedirectingVirtualHostNodeImpl#getSupportedChildTypes()") public interface RedirectingVirtualHostNode<X extends RedirectingVirtualHostNode<X>> extends VirtualHostNode<X> { public static final String REDIRECTS = "redirects"; @ManagedAttribute( defaultValue = "{}", description = "Port to hostname mapping. Connections made to this virtual" + " host node on a mapped port will be automatically" + " redirected to the given hostname.") Map<Port<?>, String> getRedirects(); }
if (annotation.category()) if (!"".equals(annotation.type())) String annotationType = annotation.type(); if (ModelRoot.class.isAssignableFrom(categoryClass) || factoryExists(categoryClass, annotationType)) String validChildren = annotation.validChildTypes(); if (!"".equals(validChildren))
protected static Collection<String> getSupportedVirtualHostTypes(boolean includeProvided) { final Iterable<ConfiguredObjectRegistration> registrations = (new QpidServiceLoader()).instancesOf(ConfiguredObjectRegistration.class); Set<String> supportedTypes = new HashSet<>(); for(ConfiguredObjectRegistration registration : registrations) { for(Class<? extends ConfiguredObject> typeClass : registration.getConfiguredObjectClasses()) { if(VirtualHost.class.isAssignableFrom(typeClass)) { ManagedObject annotation = typeClass.getAnnotation(ManagedObject.class); if (annotation.creatable() && annotation.defaultType().equals("") && !NonStandardVirtualHost.class.isAssignableFrom(typeClass)) { supportedTypes.add(ConfiguredObjectTypeRegistry.getType(typeClass)); } } } } if(includeProvided) { supportedTypes.add(ProvidedStoreVirtualHostImpl.VIRTUAL_HOST_TYPE); } return Collections.unmodifiableCollection(supportedTypes); }
private static Class<? extends ConfiguredObject> calculateCategory(final Class<?> clazz) { ManagedObject annotation = clazz.getAnnotation(ManagedObject.class); if (annotation != null && annotation.category()) { return (Class<? extends ConfiguredObject>) clazz; } for (Class<?> iface : clazz.getInterfaces()) { Class<? extends ConfiguredObject> cat = getCategory(iface); if (cat != null) { return cat; } } if (clazz.getSuperclass() != null) { return getCategory(clazz.getSuperclass()); } return null; }
@ManagedObject( category = false, type = "External" ) public interface ExternalAuthenticationManager<T extends ExternalAuthenticationManager<T>> extends AuthenticationProvider<T> { String PROVIDER_TYPE = "External"; String ATTRIBUTE_USE_FULL_DN = "useFullDN"; @ManagedAttribute( description = "Use the full DN as the Username") boolean getUseFullDN(); }
public Class<? extends ConfiguredObject> getTypeClass(final Class<? extends ConfiguredObject> clazz) { String typeName = getType(clazz); Class<? extends ConfiguredObject> typeClass = null; if (typeName != null) { Class<? extends ConfiguredObject> category = getCategory(clazz); Set<Class<? extends ConfiguredObject>> types = _knownTypes.get(category); if (types != null) { for (Class<? extends ConfiguredObject> type : types) { ManagedObject annotation = type.getAnnotation(ManagedObject.class); if (typeName.equals(annotation.type())) { typeClass = type; break; } } } if (typeClass == null) { if (typeName.equals(category.getSimpleName())) { typeClass = category; } } } return typeClass; }
@ManagedObject public interface GroupProvider<X extends GroupProvider<X>> extends ConfiguredObject<X> { Set<Principal> getGroupPrincipalsForUser(Principal userPrincipal); }
@ManagedObject( category = false, type = ExchangeDefaults.DIRECT_EXCHANGE_CLASS, amqpName = "org.apache.qpid.DirectExchange" ) public interface DirectExchange<X extends DirectExchange<X>> extends Exchange<X> { }
@ManagedObject( category = false, type = DefaultVirtualHostAlias.TYPE_NAME) public interface DefaultVirtualHostAlias<X extends VirtualHostAlias<X>> extends VirtualHostAlias<X> { String TYPE_NAME = "defaultAlias"; @Override @ManagedAttribute( defaultValue = "500" ) int getPriority(); }
@ManagedObject( category = false, type=AclFileAccessControlProvider.ACL_FILE_PROVIDER_TYPE ) public interface AclFileAccessControlProvider<X extends AclFileAccessControlProvider<X>> extends AccessControlProvider<X> { String ACL_FILE_PROVIDER_TYPE = "AclFile"; String PATH = "path"; @ManagedAttribute( mandatory = true, description = "File location", oversize = true, oversizedAltText = OVER_SIZED_ATTRIBUTE_ALTERNATIVE_TEXT) String getPath(); @ManagedOperation( description = "Causes the ACL rules to be reloaded. Changes are applied immediately.", changesConfiguredObjectState = true) void reload(); }
@org.apache.qpid.server.model.ManagedObject( category = false , type = JMXManagementPlugin.PLUGIN_TYPE ) public interface JMXManagementPlugin<X extends JMXManagementPlugin<X>> extends Plugin<X> { String PLUGIN_TYPE = "MANAGEMENT-JMX"; // attributes String USE_PLATFORM_MBEAN_SERVER = "usePlatformMBeanServer"; String DEFAULT_USE_PLATFORM_MBEAN_SERVER = "true"; @ManagedAttribute( defaultValue = DEFAULT_USE_PLATFORM_MBEAN_SERVER ) boolean getUsePlatformMBeanServer(); }
@ManagedObject( category = false, type = ExchangeDefaults.HEADERS_EXCHANGE_CLASS, amqpName = "org.apache.qpid.HeadersExchange" ) public interface HeadersExchange<X extends Exchange<X>> extends Exchange<X> { }
@ManagedObject(category=true, managesChildren=false, creatable=false) public interface RemoteReplicationNode<X extends RemoteReplicationNode<X>> extends ConfiguredObject<X> { }
@ManagedObject( amqpName = "org.apache.qpid.VirtualHostLogInclusionRule") public interface VirtualHostLogInclusionRule<X extends VirtualHostLogInclusionRule<X>> extends ConfiguredObject<X>, LogInclusionRule { }
@ManagedObject public interface Plugin<X extends Plugin<X>> extends ConfiguredObject<X> { }
@ManagedObject public interface BrokerLogInclusionRule<X extends BrokerLogInclusionRule<X>> extends ConfiguredObject<X>, LogInclusionRule { }
@ManagedObject( category = false, type = "NonJavaTrustStore" ) public interface NonJavaTrustStore<X extends NonJavaTrustStore<X>> extends TrustStore<X> { String CERTIFICATES_URL = "certificatesUrl"; @Override @ManagedAttribute(defaultValue = "${this:certificateDetails}") String getDescription(); @ManagedAttribute( mandatory = true, oversize = true, oversizedAltText = OVER_SIZED_ATTRIBUTE_ALTERNATIVE_TEXT ) String getCertificatesUrl(); }
@ManagedObject( category = false, type = VirtualHostNameAlias.TYPE_NAME) public interface VirtualHostNameAlias<X extends VirtualHostNameAlias<X>> extends VirtualHostAlias<X> { String TYPE_NAME = "nameAlias"; }