/** * Returns a {@link BeanDefinition} built from the given {@link BeanDefinitionBuilder} enriched with source meta-data * derived from the given {@link Element}. * * @param builder {@link BeanDefinitionBuilder} used to build the {@link BeanDefinition}. * @param parserContext {@link ParserContext} used to track state during the parsing operation. * @param element DOM {@link Element} defining the meta-data that is the source of the {@link BeanDefinition}s * configuration. * @return the {@link BeanDefinition} built by the given {@link BeanDefinitionBuilder}. * @throws IllegalArgumentException if the {@link BeanDefinitionBuilder} or {@link ParserContext} are null. */ public static AbstractBeanDefinition getSourceBeanDefinition(BeanDefinitionBuilder builder, ParserContext parserContext, Element element) { Assert.notNull(parserContext, "ParserContext must not be null"); return getSourceBeanDefinition(builder, parserContext.extractSource(element)); }
builder.addPropertyValue("poolingOptions", getSourceBeanDefinition(poolingOptionsBuilder, parserContext, element)); builder.addPropertyValue("startupScripts", startupScripts); builder.addPropertyValue("shutdownScripts", shutdownScripts);
/** * Returns a {@link BeanDefinition} for a {@link KeyspaceActionSpecification} object. * * @param element Element being parsed. * @param parserContext XML parser context and state. * @return the {@link BeanDefinition} or {@literal null} if action is not given. */ private BeanDefinition newKeyspaceActionSpecificationBeanDefinition(Element element, ParserContext parserContext) { BeanDefinitionBuilder builder = BeanDefinitionBuilder .genericBeanDefinition(KeyspaceActionSpecificationFactoryBean.class); // add required replication defaults addRequiredPropertyValue(builder, "replicationStrategy", KeyspaceAttributes.DEFAULT_REPLICATION_STRATEGY.name()); addRequiredPropertyValue(builder, "replicationFactor", String.valueOf(KeyspaceAttributes.DEFAULT_REPLICATION_FACTOR)); addRequiredPropertyValue(builder, "name", element, "name"); addOptionalPropertyValue(builder, "durableWrites", element, "durable-writes", "false"); addRequiredPropertyValue(builder, "action", element, "action"); parseReplication(DomUtils.getChildElementByTagName(element, "replication"), builder); return getSourceBeanDefinition(builder, parserContext, element); }
/** * Returns a {@link BeanDefinition} for a {@link SocketOptions} object. * * @param element {@link Element} to parse. * @param parserContext XML parser context and state. * @return {@link BeanDefinition} for {@link SocketOptionsFactoryBean}. */ BeanDefinition newSocketOptionsBeanDefinition(Element element, ParserContext parserContext) { BeanDefinitionBuilder builder = BeanDefinitionBuilder.genericBeanDefinition(SocketOptionsFactoryBean.class); addOptionalPropertyValue(builder, "connectTimeoutMillis", element, "connect-timeout-millis"); addOptionalPropertyValue(builder, "keepAlive", element, "keep-alive"); addOptionalPropertyValue(builder, "readTimeoutMillis", element, "read-timeout-millis"); addOptionalPropertyValue(builder, "receiveBufferSize", element, "receive-buffer-size"); addOptionalPropertyValue(builder, "reuseAddress", element, "reuse-address"); addOptionalPropertyValue(builder, "sendBufferSize", element, "send-buffer-size"); addOptionalPropertyValue(builder, "soLinger", element, "so-linger"); addOptionalPropertyValue(builder, "tcpNoDelay", element, "tcp-no-delay"); return getSourceBeanDefinition(builder, parserContext, element); } }