import org.opendaylight.controller.yang.model.api.Status;
import org.opendaylight.controller.yang.model.api.TypeDefinition;
import org.opendaylight.controller.yang.model.api.UnknownSchemaNode;
+import org.opendaylight.controller.yang.model.api.type.LengthConstraint;
+import org.opendaylight.controller.yang.model.api.type.PatternConstraint;
+import org.opendaylight.controller.yang.model.api.type.RangeConstraint;
public class ExtendedType implements TypeDefinition {
private final String reference;
private final List<UnknownSchemaNode> unknownSchemaNodes;
+ private List<RangeConstraint> ranges = Collections.emptyList();
+ private List<LengthConstraint> lengths = Collections.emptyList();
+ private List<PatternConstraint> patterns = Collections.emptyList();
+ private Integer fractionDigits = null;
+
+
private Status status;
private String units;
private Object defaultValue;
private String units = "";
private Object defaultValue = null;
+ private List<RangeConstraint> ranges = Collections.emptyList();
+ private List<LengthConstraint> lengths = Collections.emptyList();
+ private List<PatternConstraint> patterns = Collections.emptyList();
+ private Integer fractionDigits = null;
+
public Builder(final QName typeName, TypeDefinition<?> baseType,
final String description, final String reference) {
this.typeName = typeName;
return this;
}
+ public Builder ranges(final List<RangeConstraint> ranges) {
+ if(ranges != null) {
+ this.ranges = ranges;
+ }
+ return this;
+ }
+
+ public Builder lengths(final List<LengthConstraint> lengths) {
+ if(lengths != null) {
+ this.lengths = lengths;
+ }
+ return this;
+ }
+
+ public Builder patterns(final List<PatternConstraint> patterns) {
+ if(patterns != null) {
+ this.patterns = patterns;
+ }
+ return this;
+ }
+
+ public Builder fractionDigits(final Integer fractionDigits) {
+ this.fractionDigits = fractionDigits;
+ return this;
+ }
+
public ExtendedType build() {
return new ExtendedType(this);
}
this.status = builder.status;
this.units = builder.units;
this.defaultValue = builder.defaultValue;
+
+ this.ranges = builder.ranges;
+ this.lengths = builder.lengths;
+ this.patterns = builder.patterns;
+ this.fractionDigits = builder.fractionDigits;
}
@Override
builder2.append("]");
return builder2.toString();
}
+
+ public List<RangeConstraint> getRanges() {
+ return ranges;
+ }
+
+ public List<LengthConstraint> getLengths() {
+ return lengths;
+ }
+
+ public List<PatternConstraint> getPatterns() {
+ return patterns;
+ }
+
+ public Integer getFractionDigits() {
+ return fractionDigits;
+ }
}
/**\r
* The <code>default</code> implementation of Instance Leafref Type Definition\r
* interface.\r
- * \r
+ *\r
* @see LeafrefTypeDefinition\r
*/\r
public class Leafref implements LeafrefTypeDefinition {\r
private final String units = "";\r
private final LeafrefTypeDefinition baseType;\r
\r
- private Leafref(final RevisionAwareXPath xpath) {\r
+ public Leafref(final RevisionAwareXPath xpath) {\r
this.xpath = xpath;\r
this.path = BaseTypes.schemaPath(name);\r
this.baseType = this;\r
}\r
- \r
+\r
public Leafref(final List<String> actualPath, final URI namespace,\r
final Date revision, final RevisionAwareXPath xpath) {\r
super();\r
this.xpath = xpath;\r
baseType = new Leafref(xpath);\r
}\r
- \r
+\r
public Leafref(final List<String> actualPath, final URI namespace,\r
final Date revision, final LeafrefTypeDefinition baseType,\r
final RevisionAwareXPath xpath) {\r
\r
/*\r
* (non-Javadoc)\r
- * \r
+ *\r
* @see\r
* org.opendaylight.controller.yang.model.api.TypeDefinition#getBaseType()\r
*/\r
\r
/*\r
* (non-Javadoc)\r
- * \r
+ *\r
* @see org.opendaylight.controller.yang.model.api.TypeDefinition#getUnits()\r
*/\r
@Override\r
\r
/*\r
* (non-Javadoc)\r
- * \r
+ *\r
* @see\r
* org.opendaylight.controller.yang.model.api.TypeDefinition#getDefaultValue\r
* ()\r
\r
/*\r
* (non-Javadoc)\r
- * \r
+ *\r
* @see org.opendaylight.controller.yang.model.api.SchemaNode#getQName()\r
*/\r
@Override\r
\r
/*\r
* (non-Javadoc)\r
- * \r
+ *\r
* @see org.opendaylight.controller.yang.model.api.SchemaNode#getPath()\r
*/\r
@Override\r
\r
/*\r
* (non-Javadoc)\r
- * \r
+ *\r
* @see\r
* org.opendaylight.controller.yang.model.api.SchemaNode#getDescription()\r
*/\r
\r
/*\r
* (non-Javadoc)\r
- * \r
+ *\r
* @see org.opendaylight.controller.yang.model.api.SchemaNode#getReference()\r
*/\r
@Override\r
\r
/*\r
* (non-Javadoc)\r
- * \r
+ *\r
* @see org.opendaylight.controller.yang.model.api.SchemaNode#getStatus()\r
*/\r
@Override\r
\r
/*\r
* (non-Javadoc)\r
- * \r
+ *\r
* @see\r
* org.opendaylight.controller.yang.model.api.SchemaNode#getExtensionSchemaNodes\r
* ()\r
\r
/*\r
* (non-Javadoc)\r
- * \r
+ *\r
* @see\r
* org.opendaylight.controller.yang.model.api.type.LeafrefTypeDefinition\r
* #getPathStatement()\r