4288a7632a3e0f4bf9d456a758e3bde496689d3c
[controller.git] / opendaylight / sal / yang-prototype / code-generator / yang-model-parser-impl / src / main / java / org / opendaylight / controller / yang / parser / builder / api / TypeDefinitionBuilder.java
1 /*\r
2  * Copyright (c) 2013 Cisco Systems, Inc. and others.  All rights reserved.\r
3  *\r
4  * This program and the accompanying materials are made available under the\r
5  * terms of the Eclipse Public License v1.0 which accompanies this distribution,\r
6  * and is available at http://www.eclipse.org/legal/epl-v10.html\r
7  */\r
8 package org.opendaylight.controller.yang.parser.builder.api;\r
9 \r
10 import java.util.List;\r
11 \r
12 import org.opendaylight.controller.yang.common.QName;\r
13 import org.opendaylight.controller.yang.model.api.SchemaPath;\r
14 import org.opendaylight.controller.yang.model.api.Status;\r
15 import org.opendaylight.controller.yang.model.api.TypeDefinition;\r
16 import org.opendaylight.controller.yang.model.api.type.LengthConstraint;\r
17 import org.opendaylight.controller.yang.model.api.type.PatternConstraint;\r
18 import org.opendaylight.controller.yang.model.api.type.RangeConstraint;\r
19 import org.opendaylight.controller.yang.parser.builder.impl.UnknownSchemaNodeBuilder;\r
20 \r
21 /**\r
22  * Interface for builders of 'typedef' statement.\r
23  */\r
24 public interface TypeDefinitionBuilder extends TypeAwareBuilder,\r
25         SchemaNodeBuilder {\r
26 \r
27     TypeDefinition<?> build();\r
28 \r
29     QName getQName();\r
30 \r
31     SchemaPath getPath();\r
32 \r
33     String getDescription();\r
34 \r
35     String getReference();\r
36 \r
37     Status getStatus();\r
38 \r
39     List<RangeConstraint> getRanges();\r
40 \r
41     void setRanges(List<RangeConstraint> ranges);\r
42 \r
43     List<LengthConstraint> getLengths();\r
44 \r
45     void setLengths(List<LengthConstraint> lengths);\r
46 \r
47     List<PatternConstraint> getPatterns();\r
48 \r
49     void setPatterns(List<PatternConstraint> patterns);\r
50 \r
51     Integer getFractionDigits();\r
52 \r
53     void setFractionDigits(Integer fractionDigits);\r
54 \r
55     List<UnknownSchemaNodeBuilder> getUnknownNodes();\r
56 \r
57     Object getDefaultValue();\r
58 \r
59     void setDefaultValue(Object defaultValue);\r
60 \r
61     String getUnits();\r
62 \r
63     void setUnits(String units);\r
64 \r
65 }\r