*/
package org.opendaylight.yangtools.yang.model.util.type;
-import com.google.common.base.Preconditions;
+import static com.google.common.base.Preconditions.checkArgument;
+import static java.util.Objects.requireNonNull;
+
+import java.util.Optional;
import javax.annotation.Nonnull;
import org.opendaylight.yangtools.yang.model.api.SchemaPath;
import org.opendaylight.yangtools.yang.model.api.Status;
private String units;
DerivedTypeBuilder(final T baseType, final SchemaPath path) {
- super(Preconditions.checkNotNull(baseType), path);
+ super(requireNonNull(baseType), path);
- Preconditions.checkArgument(baseType instanceof AbstractBaseType
- || baseType instanceof AbstractDerivedType || baseType instanceof AbstractRestrictedType,
+ checkArgument(baseType instanceof AbstractBaseType || baseType instanceof AbstractDerivedType
+ || baseType instanceof AbstractRestrictedType,
"Derived type can be built only from a base, derived, or restricted type, not %s", baseType);
// http://tools.ietf.org/html/rfc6020#section-7.3.4
- defaultValue = baseType.getDefaultValue();
+ defaultValue = baseType.getDefaultValue().orElse(null);
// In similar vein, it makes sense to propagate units
- units = baseType.getUnits();
+ units = baseType.getUnits().orElse(null);
}
public void setDefaultValue(@Nonnull final Object defaultValue) {
- this.defaultValue = Preconditions.checkNotNull(defaultValue);
+ this.defaultValue = requireNonNull(defaultValue);
}
public final void setDescription(@Nonnull final String description) {
- this.description = Preconditions.checkNotNull(description);
+ this.description = requireNonNull(description);
}
public final void setReference(@Nonnull final String reference) {
- this.reference = Preconditions.checkNotNull(reference);
+ this.reference = requireNonNull(reference);
}
public final void setStatus(@Nonnull final Status status) {
- this.status = Preconditions.checkNotNull(status);
+ this.status = requireNonNull(status);
}
public final void setUnits(final String units) {
- Preconditions.checkNotNull(units);
- if (getBaseType().getUnits() != null && !units.equals(getBaseType().getUnits())) {
+ requireNonNull(units);
+
+ final Optional<String> baseUnits = getBaseType().getUnits();
+ if (baseUnits.isPresent() && !units.equals(baseUnits.get())) {
LOG.warn("Type {} uverrides 'units' of type {} to \"{}\"", getPath(), getBaseType(), units);
}