/*
* Copyright (c) MuleSoft, Inc. All rights reserved. http://www.mulesoft.com
* The software in this package is published under the terms of the CPAL v1.0
* license, a copy of which has been included with this distribution in the
* LICENSE.txt file.
*/
package org.mule.runtime.config.spring.parsers.delegate;
import org.mule.runtime.config.spring.parsers.generic.NamedDefinitionParser;
import org.mule.runtime.config.spring.parsers.generic.OrphanDefinitionParser;
/**
* This encapsulates two definition parsers - orphan and named - and returns the named definition parser if the "inherit"
* attribute is set. This allows a named orphan to be defined (inherit="false") and then extended (inherit="true"). The two
* sub-parsers must be consistent, as described in
* {@link org.mule.runtime.config.spring.parsers.delegate.AbstractParallelDelegatingDefinitionParser}
*/
public class InheritDefinitionParser extends BooleanAttributeSelectionDefinitionParser {
public static final String INHERIT = "inherit";
public InheritDefinitionParser(OrphanDefinitionParser orphan, NamedDefinitionParser named) {
this(false, orphan, named);
}
public InheritDefinitionParser(boolean deflt, OrphanDefinitionParser orphan, NamedDefinitionParser named) {
super(INHERIT, deflt, named, orphan);
}
}