-
Notifications
You must be signed in to change notification settings - Fork 111
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
The two implementations here are extremely simple: hide them behind (Metadata)NormalizedAnydata.of() static factory method. Change-Id: I383b4eac35b96c75d7c0001c508a747a9456087f Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
- Loading branch information
Showing
7 changed files
with
99 additions
and
120 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
79 changes: 79 additions & 0 deletions
79
...main/java/org/opendaylight/yangtools/yang/data/api/schema/ImmutableNormalizedAnydata.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,79 @@ | ||
/* | ||
* Copyright (c) 2019 PANTHEON.tech, s.r.o. and others. All rights reserved. | ||
* | ||
* This program and the accompanying materials are made available under the | ||
* terms of the Eclipse Public License v1.0 which accompanies this distribution, | ||
* and is available at http://www.eclipse.org/legal/epl-v10.html | ||
*/ | ||
package org.opendaylight.yangtools.yang.data.api.schema; | ||
|
||
import static java.util.Objects.requireNonNull; | ||
|
||
import com.google.common.base.MoreObjects; | ||
import com.google.common.base.MoreObjects.ToStringHelper; | ||
import java.io.IOException; | ||
import org.eclipse.jdt.annotation.NonNullByDefault; | ||
import org.eclipse.jdt.annotation.Nullable; | ||
import org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedMetadataWriter; | ||
import org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamWriter; | ||
import org.opendaylight.yangtools.yang.model.api.EffectiveStatementInference; | ||
|
||
@NonNullByDefault | ||
sealed class ImmutableNormalizedAnydata implements NormalizedAnydata { | ||
static final class WithMetadata extends ImmutableNormalizedAnydata implements MetadataNormalizedAnydata { | ||
private final NormalizedMetadata metadata; | ||
|
||
WithMetadata(final EffectiveStatementInference inference, final NormalizedNode data, | ||
final NormalizedMetadata metadata) { | ||
super(inference, data); | ||
this.metadata = requireNonNull(metadata); | ||
} | ||
|
||
@Override | ||
public NormalizedMetadata getMetadata() { | ||
return metadata; | ||
} | ||
|
||
@Override | ||
public void writeTo(final NormalizedNodeStreamWriter writer, final boolean orderKeyLeaves) throws IOException { | ||
NormalizedMetadataWriter.forStreamWriter(writer, orderKeyLeaves).write(getData(), getMetadata()).flush(); | ||
} | ||
} | ||
|
||
private final EffectiveStatementInference inference; | ||
private final NormalizedNode data; | ||
|
||
ImmutableNormalizedAnydata(final EffectiveStatementInference inference, final NormalizedNode data) { | ||
this.inference = requireNonNull(inference); | ||
this.data = requireNonNull(data); | ||
} | ||
|
||
@Override | ||
public EffectiveStatementInference getInference() { | ||
return inference; | ||
} | ||
|
||
@Override | ||
public NormalizedNode getData() { | ||
return data; | ||
} | ||
|
||
@Override | ||
public int hashCode() { | ||
return super.hashCode(); | ||
} | ||
|
||
@Override | ||
public boolean equals(final @Nullable Object obj) { | ||
return super.equals(obj); | ||
} | ||
|
||
@Override | ||
public String toString() { | ||
return addToStringAttributes(MoreObjects.toStringHelper(this)).toString(); | ||
} | ||
|
||
ToStringHelper addToStringAttributes(final ToStringHelper helper) { | ||
return helper.add("inference", inference).add("data", data); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
51 changes: 0 additions & 51 deletions
51
...in/java/org/opendaylight/yangtools/yang/data/util/ImmutableMetadataNormalizedAnydata.java
This file was deleted.
Oops, something went wrong.
61 changes: 0 additions & 61 deletions
61
...l/src/main/java/org/opendaylight/yangtools/yang/data/util/ImmutableNormalizedAnydata.java
This file was deleted.
Oops, something went wrong.