/* * Copyright (c) 2015 Cisco Systems, Inc. and others. All rights reserved. * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ package org.opendaylight.yangtools.yang.parser.spi.source; import org.opendaylight.yangtools.yang.model.api.meta.StatementSource; /** * * Reference of statement source * * Statement source reference serves to provide information, why * statement was defined and introduced in model. * * Reasons for introduction of statement could be various, but * most obvious one is explicit declaration in model source text * such as {@link DeclarationInTextSource}. * */ public interface StatementSourceReference { /** * * Returns source type * * @return {@link StatementSource#DECLARATION} if statement was explicitly * declared in YANG model source, {@link StatementSource#CONTEXT} if statement * was inferred. */ StatementSource getStatementSource(); /** * Returns human readable representation of statement source. * * Implementations of this interface should override {@link #toString()}, * since it may be used in error reporting to provide context * information for model designer to debug errors in its mode. * * @return human readable representation of statement source. */ @Override String toString(); }