This eliminates instantiation of a temporary builder and shortcuts
to creating the leaf node directly.
Change-Id: I66256b46ef0de1aa3745bb90e70d41a2bd29d419
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
* @return Leaf node with supplied identifier and value
*/
public static <T> @NonNull LeafNode<T> leafNode(final NodeIdentifier name, final T value) {
* @return Leaf node with supplied identifier and value
*/
public static <T> @NonNull LeafNode<T> leafNode(final NodeIdentifier name, final T value) {
- return ImmutableLeafNodeBuilder.<T>create()
- .withNodeIdentifier(name)
- .withValue(value)
- .build();
+ return ImmutableLeafNodeBuilder.createNode(name, value);
*/
package org.opendaylight.yangtools.yang.data.impl.schema.builder.impl;
*/
package org.opendaylight.yangtools.yang.data.impl.schema.builder.impl;
+import com.google.common.annotations.Beta;
import org.eclipse.jdt.annotation.NonNull;
import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier;
import org.opendaylight.yangtools.yang.data.api.schema.LeafNode;
import org.eclipse.jdt.annotation.NonNull;
import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier;
import org.opendaylight.yangtools.yang.data.api.schema.LeafNode;
return new ImmutableLeafNodeBuilder<>();
}
return new ImmutableLeafNodeBuilder<>();
}
@SuppressWarnings("unchecked")
@SuppressWarnings("unchecked")
- public LeafNode<T> build() {
- final T value = getValue();
+ public static <T> @NonNull LeafNode<T> createNode(final NodeIdentifier identifier, final T value) {
if (value instanceof byte[]) {
if (value instanceof byte[]) {
- return (LeafNode<T>) new ImmutableBinaryLeafNode(getNodeIdentifier(), (byte[]) value);
+ return (LeafNode<T>) new ImmutableBinaryLeafNode(identifier, (byte[]) value);
+ return new ImmutableLeafNode<>(identifier, value);
+ }
- return new ImmutableLeafNode<>(getNodeIdentifier(), value);
+ @Override
+ public LeafNode<T> build() {
+ return createNode(getNodeIdentifier(), getValue());
}
private static final class ImmutableLeafNode<T>
}
private static final class ImmutableLeafNode<T>