*/
package org.opendaylight.yangtools.yang.model.util.type;
-import com.google.common.base.MoreObjects;
-import com.google.common.base.MoreObjects.ToStringHelper;
-import com.google.common.base.Preconditions;
import com.google.common.collect.ImmutableList;
import java.util.List;
-import org.opendaylight.yangtools.concepts.Immutable;
+import java.util.Optional;
+import javax.annotation.Nonnull;
import org.opendaylight.yangtools.yang.common.QName;
import org.opendaylight.yangtools.yang.model.api.SchemaPath;
import org.opendaylight.yangtools.yang.model.api.Status;
import org.opendaylight.yangtools.yang.model.api.TypeDefinition;
import org.opendaylight.yangtools.yang.model.api.UnknownSchemaNode;
-abstract class AbstractBaseType<T extends TypeDefinition<T>> implements Immutable, TypeDefinition<T> {
- private final List<UnknownSchemaNode> unknownSchemaNodes;
- private final SchemaPath path;
-
+abstract class AbstractBaseType<T extends TypeDefinition<T>> extends AbstractTypeDefinition<T> {
AbstractBaseType(final QName qname) {
- this(SchemaPath.create(true, qname), ImmutableList.<UnknownSchemaNode>of());
+ this(SchemaPath.create(true, qname), ImmutableList.of());
}
AbstractBaseType(final SchemaPath path, final List<UnknownSchemaNode> unknownSchemaNodes) {
- this.path = Preconditions.checkNotNull(path);
- this.unknownSchemaNodes = Preconditions.checkNotNull(unknownSchemaNodes);
+ super(path, unknownSchemaNodes);
}
@Override
}
@Override
- public final String getUnits() {
- return null;
- }
-
- @Override
- public final Object getDefaultValue() {
- return null;
+ public final Optional<String> getUnits() {
+ return Optional.empty();
}
@Override
- public final QName getQName() {
- return path.getLastComponent();
+ public final Optional<? extends Object> getDefaultValue() {
+ return Optional.empty();
}
@Override
- public final SchemaPath getPath() {
- return path;
+ public final Optional<String> getDescription() {
+ return Optional.empty();
}
@Override
- public final String getDescription() {
- return null;
- }
-
- @Override
- public final String getReference() {
- return null;
+ public final Optional<String> getReference() {
+ return Optional.empty();
}
+ @Nonnull
@Override
public final Status getStatus() {
return Status.CURRENT;
}
-
- @Override
- public final List<UnknownSchemaNode> getUnknownSchemaNodes() {
- return unknownSchemaNodes;
- }
-
- @Override
- public final String toString() {
- return addToStringAttributes(MoreObjects.toStringHelper(this).omitNullValues()).toString();
- }
-
- protected ToStringHelper addToStringAttributes(final ToStringHelper toStringHelper) {
- return toStringHelper.add("path", path);
- }
}