import static org.opendaylight.yangtools.yang.parser.rfc7950.repo.StatementSourceReferenceHandler.extractRef;
import com.google.common.annotations.Beta;
-import com.google.common.base.MoreObjects;
import com.google.common.cache.CacheBuilder;
import com.google.common.cache.CacheLoader;
import com.google.common.cache.LoadingCache;
import java.net.URISyntaxException;
import java.util.Optional;
import javax.xml.transform.TransformerException;
+import org.opendaylight.yangtools.concepts.AbstractSimpleIdentifiable;
import org.opendaylight.yangtools.yang.common.QName;
import org.opendaylight.yangtools.yang.common.YangVersion;
import org.opendaylight.yangtools.yang.model.api.meta.ArgumentDefinition;
* @author Robert Varga
*/
@Beta
-public final class YinStatementStreamSource implements StatementStreamSource {
+public final class YinStatementStreamSource extends AbstractSimpleIdentifiable<SourceIdentifier>
+ implements StatementStreamSource {
private static final Logger LOG = LoggerFactory.getLogger(YinStatementStreamSource.class);
private static final LoadingCache<String, URI> URI_CACHE = CacheBuilder.newBuilder().weakValues().build(
new CacheLoader<String, URI>() {
return new URI(key);
}
});
- private final SourceIdentifier identifier;
private final Node root;
private YinStatementStreamSource(final SourceIdentifier identifier, final Node root) {
- this.identifier = requireNonNull(identifier);
+ super(identifier);
this.root = requireNonNull(root);
}
return new YinStatementStreamSource(source.getIdentifier(), source.getSource().getNode());
}
- @Override
- public SourceIdentifier getIdentifier() {
- return identifier;
- }
-
private static StatementDefinition getValidDefinition(final Node node, final StatementWriter writer,
final QNameToStatementDefinition stmtDef, final StatementSourceReference ref) {
final URI uri = URI_CACHE.getUnchecked(node.getNamespaceURI());
final PrefixToModule prefixes, final YangVersion yangVersion) {
walkTree(writer, stmtDef);
}
-
- @Override
- public String toString() {
- return MoreObjects.toStringHelper(this).add("identifier", getIdentifier()).toString();
- }
}