2 * Copyright (c) 2013 Cisco Systems, Inc. and others. All rights reserved.
4 * This program and the accompanying materials are made available under the
5 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6 * and is available at http://www.eclipse.org/legal/epl-v10.html
8 package org.opendaylight.controller.yang.parser.builder.api;
10 import org.opendaylight.controller.yang.parser.builder.impl.UnknownSchemaNodeBuilder;
13 * Parent interface for all builder interfaces.
15 public interface Builder {
18 * Get current line in yang file.
20 * @return current line in yang file
25 * Get parent node of this node.
27 * @return parent node builder or null if this is top level node
32 * Set parent of this node.
37 void setParent(Builder parent);
40 * Build YANG data model node.
42 * This method should create an instance of YANG data model node. After
43 * creating an instance, this instance should be returned for each call
44 * without repeating build process.
46 * @return YANG data model node
50 void addUnknownSchemaNode(UnknownSchemaNodeBuilder unknownNode);