- All Implemented Interfaces:
PrefixMapping
- Direct Known Subclasses:
PolyadicPrefixMappingImpl
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.apache.jena.shared.PrefixMapping
PrefixMapping.Factory, PrefixMapping.IllegalPrefixException, PrefixMapping.JenaLockedException
-
Field Summary
Fields inherited from interface org.apache.jena.shared.PrefixMapping
Extended, Standard
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionClear this prefix mapping of all mappingsexpandPrefix
(String prefixed) Expand a prefixed URI.Return a copy of the internal mapping from names to URI strings.getNsPrefixURI
(String prefix) Get the URI bound to a specific prefix, null if there isn't one.getNsURIPrefix
(String uri) Answer the prefix for the given URI, or null if there isn't one.boolean
Return whether the prefix mapping has any defined prefixes.static boolean
Deprecated.To be removed.lock()
Lock the PrefixMapping so that changes can no longer be made to it.int
Return the number of defined prefixes.Answer the qname foruri
which uses a prefix from this mapping, or null if there isn't one.removeNsPrefix
(String prefix) Remove any existing maplet with the given prefix name and answer this mapping.boolean
samePrefixMappingAs
(PrefixMapping other) Answer true iff this prefix-mappings are equal, that is, map the same prefixes to the same URIs; same as this.getNsPrefixMap().equals( other.getNsPrefixMap() ) except that it may avoid unnecessary Map creations.setNsPrefix
(String prefix, String uri) Specify the prefix name for a URI prefix string.setNsPrefixes
(Map<String, String> other) Add the bindings in the prefixToURI to our own.setNsPrefixes
(PrefixMapping other) Add the bindings of other to our own.Compress the URI using the prefix mapping.toString()
Answer a readable (we hope) representation of this prefix mapping.withDefaultMappings
(PrefixMapping other) Answer this PrefixMapping after updating it with the(p, u)
mappings inother
where neitherp
noru
appear in this mapping.
-
Constructor Details
-
PrefixMappingImpl
public PrefixMappingImpl()
-
-
Method Details
-
lock
Description copied from interface:PrefixMapping
Lock the PrefixMapping so that changes can no longer be made to it. Primarily intended to lock Standard against mutation.- Specified by:
lock
in interfacePrefixMapping
- Returns:
- this mapping, locked against changes
-
setNsPrefix
Description copied from interface:PrefixMapping
Specify the prefix name for a URI prefix string. Any existing use of that prefix name is overwritten. The result is this same prefixMapping. (The earlier restriction that adding second prefix for the same URI caused the earlier binding to be deleted has been withdrawn.)A prefix name must be a valid NCName, or the empty string. The empty string is reserved to mean "the default namespace".
Need not check the RFC2396 validity of the URI. Bad URIs are either silently ignored or behave as if they were good. The earlier restriction that the URI should end with a non-NCName character has been removed.
Note, in particular, that the prefix mapping can only be used if it includes the URI up to any '#' character because '#' is not legal in the local part of an NCName.
- Specified by:
setNsPrefix
in interfacePrefixMapping
- Parameters:
prefix
- the string to be used for the prefix.uri
- the URI prefix to be named- Returns:
- this PrefixMapping
-
removeNsPrefix
Description copied from interface:PrefixMapping
Remove any existing maplet with the given prefix name and answer this mapping. If the prefix is the empty string, then this removes the default namespace. If the prefix is not a legal prefix string, or is not present in the mapping, nothing happens.The reverse URI-to-prefix mapping is updated, but if there are multiple prefixes for the removed URI it is unspecified which of them will be chosen.
- Specified by:
removeNsPrefix
in interfacePrefixMapping
- Parameters:
prefix
- the prefix string to remove- Returns:
- this PrefixMapping
-
clearNsPrefixMap
Description copied from interface:PrefixMapping
Clear this prefix mapping of all mappings- Specified by:
clearNsPrefixMap
in interfacePrefixMapping
-
isNiceURI
Deprecated.To be removed.Test whether a URI is "nice" for RDF/XML (ends in a non-NCName character according to XML 1.0). -
setNsPrefixes
Add the bindings in the prefixToURI to our own.It will fail with an IllegalPrefixException if any prefix is illegal; we make no guarantees about order or completeness if this happens.
- Specified by:
setNsPrefixes
in interfacePrefixMapping
- Parameters:
other
- the Map whose bindings we are to add to this.- Returns:
- this PrefixMapping
-
getNsPrefixURI
Description copied from interface:PrefixMapping
Get the URI bound to a specific prefix, null if there isn't one.- Specified by:
getNsPrefixURI
in interfacePrefixMapping
- Parameters:
prefix
- the prefix name to be looked up- Returns:
- the most recent URI bound to that prefix name, null if none
-
getNsPrefixMap
Description copied from interface:PrefixMapping
Return a copy of the internal mapping from names to URI strings. Updating this copy will have no effect on the PrefixMap.- Specified by:
getNsPrefixMap
in interfacePrefixMapping
- Returns:
- a copy of the internal String -> String mapping
-
getNsURIPrefix
Description copied from interface:PrefixMapping
Answer the prefix for the given URI, or null if there isn't one. If there is more than one, one of them will be picked. If possible, it will be the most recently added prefix. (The cases where it's not possible is when a binding has been removed.)- Specified by:
getNsURIPrefix
in interfacePrefixMapping
- Parameters:
uri
- the uri whose prefix is to be found- Returns:
- the prefix mapped to that uri, or null if there isn't one
-
expandPrefix
Expand a prefixed URI. There's an assumption that any URI of the form Head:Tail is subject to mapping if Head is in the prefix mapping. So, if someone takes it into their heads to define eg "http" or "ftp" we have problems.- Specified by:
expandPrefix
in interfacePrefixMapping
- Parameters:
prefixed
- a QName or URI- Returns:
- the expanded string if possible, otherwise the original string
-
toString
Answer a readable (we hope) representation of this prefix mapping. -
qnameFor
Answer the qname foruri
which uses a prefix from this mapping, or null if there isn't one.Relies on
splitNamespace
to carve uri into namespace and localname components; this ensures that the localname is legal and we just have to (reverse-)lookup the namespace in the prefix table.- Specified by:
qnameFor
in interfacePrefixMapping
-
shortForm
Compress the URI using the prefix mapping.- Specified by:
shortForm
in interfacePrefixMapping
- Parameters:
uri
- the URI string to try and prefix-compress- Returns:
- the shortened form if possible, otherwise the unchanged argument
-
hasNoMappings
public boolean hasNoMappings()Description copied from interface:PrefixMapping
Return whether the prefix mapping has any defined prefixes.- Specified by:
hasNoMappings
in interfacePrefixMapping
-
numPrefixes
public int numPrefixes()Description copied from interface:PrefixMapping
Return the number of defined prefixes.- Specified by:
numPrefixes
in interfacePrefixMapping
-