public String toLongString() { String x = "Lang:" + label + " " + getContentType() ; if (getAltNames().size() > 0) x = x + " " + getAltNames() ; if (getAltContentTypes().size() > 0) x = x + " " + getAltContentTypes() ; if (getFileExtensions().size() > 0) x = x + " " + getFileExtensions() ; return x ; } }
public String toLongString() { String x = "Lang:" + label + " " + getContentType() ; if (getAltNames().size() > 0) x = x + " " + getAltNames() ; if (getAltContentTypes().size() > 0) x = x + " " + getAltContentTypes() ; if (getFileExtensions().size() > 0) x = x + " " + getFileExtensions() ; return x ; }
/** * Normal constructor * * @param rdfStream the rdf stream * @param namespaces a namespace mapping * @param mediaType the media type */ public RdfStreamStreamingOutput(final RdfStream rdfStream, final Map<String, String> namespaces, final MediaType mediaType) { super(); if (LOGGER.isDebugEnabled()) { getRegisteredLanguages().forEach(format -> { LOGGER.debug("Discovered RDF writer writeableFormats: {} with mimeTypes: {}", format.getName(), String.join(" ", format.getAltContentTypes())); }); } final Lang format = contentTypeToLang(mediaType.getType() + "/" + mediaType.getSubtype()); if (format != null) { this.format = format; this.mediaType = mediaType; LOGGER.debug("Setting up to serialize to: {}", format); } else { throw new WebApplicationException(NOT_ACCEPTABLE); } this.rdfStream = rdfStream; this.namespaces = namespaces; }
/** Remove a registration of a language - this also removes all recorded mapping * of content types and file extensions. */ public static void unregister(Lang lang) { if ( lang == null ) throw new IllegalArgumentException("null for language") ; checkRegistration(lang) ; mapLabelToLang.remove(canonicalKey(lang.getLabel())) ; mapContentTypeToLang.remove(canonicalKey(lang.getContentType().getContentType())) ; for ( String ct : lang.getAltContentTypes() ) mapContentTypeToLang.remove(canonicalKey(ct)) ; for ( String ext : lang.getFileExtensions() ) mapFileExtToLang.remove(canonicalKey(ext)) ; }
/** Remove a regsitration of a language - this also removes all recorded mapping * of content types and file extensions. */ public static void unregister(Lang lang) { if ( lang == null ) throw new IllegalArgumentException("null for language") ; checkRegistration(lang) ; mapLabelToLang.remove(canonicalKey(lang.getLabel())) ; mapContentTypeToLang.remove(canonicalKey(lang.getContentType().getContentType())) ; for ( String ct : lang.getAltContentTypes() ) mapContentTypeToLang.remove(canonicalKey(ct)) ; for ( String ext : lang.getFileExtensions() ) mapFileExtToLang.remove(canonicalKey(ext)) ; }
private static void checkRegistration(Lang lang) { if ( lang == null ) return ; String label = canonicalKey(lang.getLabel()) ; Lang lang2 = mapLabelToLang.get(label) ; if ( lang2 == null ) return ; if ( lang.equals(lang2) ) return ; // Content type. if ( mapContentTypeToLang.containsKey(lang.getContentType().getContentType())) { String k = lang.getContentType().getContentType() ; error("Language overlap: " +lang+" and "+mapContentTypeToLang.get(k)+" on content type "+k) ; } for (String altName : lang.getAltNames() ) if ( mapLabelToLang.containsKey(altName) ) error("Language overlap: " +lang+" and "+mapLabelToLang.get(altName)+" on name "+altName) ; for (String ct : lang.getAltContentTypes() ) if ( mapContentTypeToLang.containsKey(ct) ) error("Language overlap: " +lang+" and "+mapContentTypeToLang.get(ct)+" on content type "+ct) ; for (String ext : lang.getFileExtensions() ) if ( mapFileExtToLang.containsKey(ext) ) error("Language overlap: " +lang+" and "+mapFileExtToLang.get(ext)+" on file extension type "+ext) ; }
/** Register a language. * To create a {@link Lang} object use {@link LangBuilder}. * See also * {@link RDFParserRegistry#registerLang} * for registering a language and it's RDF parser factory. * * @see RDFParserRegistry */ public static void register(Lang lang) { if ( lang == null ) throw new IllegalArgumentException("null for language") ; checkRegistration(lang) ; mapLabelToLang.put(canonicalKey(lang.getLabel()), lang) ; for (String altName : lang.getAltNames() ) mapLabelToLang.put(canonicalKey(altName), lang) ; mapContentTypeToLang.put(canonicalKey(lang.getContentType().getContentType()), lang) ; for ( String ct : lang.getAltContentTypes() ) mapContentTypeToLang.put(canonicalKey(ct), lang) ; for ( String ext : lang.getFileExtensions() ) { if ( ext.startsWith(".") ) ext = ext.substring(1) ; mapFileExtToLang.put(canonicalKey(ext), lang) ; } }
/** Register a language. * To create a {@link Lang} object use {@link LangBuilder}. * See also * {@link RDFParserRegistry#registerLang} * for registering a language and it's RDF parser fatory. * * @see RDFParserRegistry */ public static void register(Lang lang) { if ( lang == null ) throw new IllegalArgumentException("null for language") ; checkRegistration(lang) ; mapLabelToLang.put(canonicalKey(lang.getLabel()), lang) ; for (String altName : lang.getAltNames() ) mapLabelToLang.put(canonicalKey(altName), lang) ; mapContentTypeToLang.put(canonicalKey(lang.getContentType().getContentType()), lang) ; for ( String ct : lang.getAltContentTypes() ) mapContentTypeToLang.put(canonicalKey(ct), lang) ; for ( String ext : lang.getFileExtensions() ) { if ( ext.startsWith(".") ) ext = ext.substring(1) ; mapFileExtToLang.put(canonicalKey(ext), lang) ; } }
private static void checkRegistration(Lang lang) { if ( lang == null ) return ; String label = canonicalKey(lang.getLabel()) ; Lang lang2 = mapLabelToLang.get(label) ; if ( lang2 == null ) return ; if ( lang.equals(lang2) ) return ; // Content type. if ( mapContentTypeToLang.containsKey(lang.getContentType().getContentType())) { String k = lang.getContentType().getContentType() ; error("Language overlap: " +lang+" and "+mapContentTypeToLang.get(k)+" on content type "+k) ; } for (String altName : lang.getAltNames() ) if ( mapLabelToLang.containsKey(altName) ) error("Language overlap: " +lang+" and "+mapLabelToLang.get(altName)+" on name "+altName) ; for (String ct : lang.getAltContentTypes() ) if ( mapContentTypeToLang.containsKey(ct) ) error("Language overlap: " +lang+" and "+mapContentTypeToLang.get(ct)+" on content type "+ct) ; for (String ext : lang.getFileExtensions() ) if ( mapFileExtToLang.containsKey(ext) ) error("Language overlap: " +lang+" and "+mapFileExtToLang.get(ext)+" on file extension type "+ext) ; }