Class AbstractStringIdentityrefCodec
- java.lang.Object
-
- org.opendaylight.yangtools.concepts.AbstractIllegalArgumentCodec<String,T>
-
- org.opendaylight.yangtools.yang.data.util.AbstractStringIdentityrefCodec
-
- All Implemented Interfaces:
IllegalArgumentCodec<String,QName>
,IdentityrefCodec<String>
- Direct Known Subclasses:
AbstractModuleStringIdentityrefCodec
@Beta public abstract class AbstractStringIdentityrefCodec extends AbstractIllegalArgumentCodec<String,T> implements IdentityrefCodec<String>
Abstract utility class for representations which encode Identityref as a prefix:name tuple. Typical uses are RESTCONF/JSON (module:name) and XML (prefix:name).
-
-
Constructor Summary
Constructors Constructor Description AbstractStringIdentityrefCodec()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected @NonNull StringBuilder
appendQName(StringBuilder sb, QName qname)
protected StringBuilder
appendQName(StringBuilder sb, QName qname, @Nullable QNameModule lastModule)
Append a QName, potentially taking into account last QNameModule encountered in the serialized path.protected abstract @Nullable QName
createQName(@NonNull String prefix, @NonNull String localName)
Create a QName for a prefix and local name.protected QName
deserializeImpl(String data)
protected QName
parseQName(String str)
protected abstract @Nullable String
prefixForNamespace(@NonNull XMLNamespace namespace)
Return string prefix for a particular namespace, allocating a new one if necessary.protected String
serializeImpl(QName data)
-
Methods inherited from class org.opendaylight.yangtools.concepts.AbstractIllegalArgumentCodec
deserialize, serialize
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.opendaylight.yangtools.concepts.IllegalArgumentCodec
deserialize, serialize
-
-
-
-
Method Detail
-
serializeImpl
protected final String serializeImpl(QName data)
- Specified by:
serializeImpl
in classAbstractIllegalArgumentCodec<String,QName>
-
deserializeImpl
protected final QName deserializeImpl(String data)
- Specified by:
deserializeImpl
in classAbstractIllegalArgumentCodec<String,QName>
-
prefixForNamespace
protected abstract @Nullable String prefixForNamespace(@NonNull XMLNamespace namespace)
Return string prefix for a particular namespace, allocating a new one if necessary.- Parameters:
namespace
- Namespace to map- Returns:
- Allocated unique prefix, or null if the prefix cannot be mapped.
-
createQName
protected abstract @Nullable QName createQName(@NonNull String prefix, @NonNull String localName)
Create a QName for a prefix and local name.- Parameters:
prefix
- Prefix for namespacelocalName
- local name- Returns:
- QName
- Throws:
IllegalArgumentException
- if the prefix cannot be resolved
-
appendQName
protected final @NonNull StringBuilder appendQName(StringBuilder sb, QName qname)
-
appendQName
protected StringBuilder appendQName(StringBuilder sb, QName qname, @Nullable QNameModule lastModule)
Append a QName, potentially taking into account last QNameModule encountered in the serialized path.- Parameters:
sb
- target StringBuilderqname
- QName to appendlastModule
- last QNameModule encountered, may be null- Returns:
- target StringBuilder
-
-