Class AbstractStringInstanceIdentifierCodec

    • Constructor Detail

      • AbstractStringInstanceIdentifierCodec

        public AbstractStringInstanceIdentifierCodec()
    • Method Detail

      • getDataContextTree

        protected abstract @NonNull DataSchemaContextTree getDataContextTree()
        Returns DataSchemaContextTree associated with SchemaContext for which serialization / deserialization occurs.

        Implementations MUST provide non-null Data Tree context, in order for correct serialization / deserialization of PathArguments, since XML representation does not have Augmentation arguments and does not provide path arguments for cases.

        This effectively means same input XPath representation of Path Argument may result in different YangInstanceIdentifiers if models are different in uses of choices and cases.

        Returns:
        DataSchemaContextTree associated with SchemaContext for which serialization / deserialization occurs.
      • createQName

        protected QName createQName​(@Nullable QNameModule lastModule,
                                    String localName)
        Create QName from unprefixed name, potentially taking last QNameModule encountered into account.
        Parameters:
        lastModule - last QNameModule encountered, potentially null
        localName - Local name string
        Returns:
        A newly-created QName
      • prefixForNamespace

        protected abstract @Nullable String prefixForNamespace​(@NonNull URI 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 namespace
        localName - local name
        Returns:
        QName
        Throws:
        IllegalArgumentException - if the prefix cannot be resolved
      • 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 StringBuilder
        qname - QName to append
        lastModule - last QNameModule encountered, may be null
        Returns:
        target StringBuilder
      • parseQName

        protected final QName parseQName​(String str)