Diff
checker
Text
Text
Bilder
Dokumente
Excel
Ordner
Legal
Enterprise
Desktop-App
Preise
Einloggen
Diffchecker Desktop herunterladen
Texte vergleichen
Finde den Unterschied zwischen zwei Textdateien
Werkzeuge
Verlauf
Live-Editor
Leerzeichen ausblenden
Gleiches ausblenden
Zeilenumbruch aus
Ansicht
Zweispaltig
Einspaltig
Vergleichsgenauigkeit
Intelligent
Wort
Zeichen
Textstile
Darstellung ändern
Syntaxhervorhebung
Syntax auswählen
Ignorieren
Text umwandeln
Zur ersten Änderung
Eingabe bearbeiten
Diffchecker Desktop
Der sicherste Weg, Diffchecker zu nutzen. Hol dir die Desktop-App: Deine Diffs verlassen nie deinen Computer!
Desktop holen
Eclipse formatting - IntelliJ formatting
Erstellt
vor 8 Jahren
Diff läuft nie ab
Löschen
Exportieren
Teilen
Erklären
4 Entfernungen
Zeilen
Gesamt
Entfernt
Zeichen
Gesamt
Entfernt
Um diese Funktion weiterhin zu nutzen, aktualisiere auf
Diff
checker
Pro
Preise anzeigen
288 Zeilen
Kopieren
27 Hinzufügungen
Zeilen
Gesamt
Hinzugefügt
Zeichen
Gesamt
Hinzugefügt
Um diese Funktion weiterhin zu nutzen, aktualisiere auf
Diff
checker
Pro
Preise anzeigen
300 Zeilen
Kopieren
/*
/*
* Copyright (c) 2011, 2017 Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2011, 2017 Oracle and/or its affiliates. All rights reserved.
*
*
* This program and the accompanying materials are made available under the
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0, which is available at
* terms of the Eclipse Public License v. 2.0, which is available at
* http://www.eclipse.org/legal/epl-2.0.
* http://www.eclipse.org/legal/epl-2.0.
*
*
* This Source Code may also be made available under the following Secondary
* This Source Code may also be made available under the following Secondary
* Licenses when the conditions for such availability set forth in the
* Licenses when the conditions for such availability set forth in the
* Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
* Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
* version 2 with the GNU Classpath Exception, which is available at
* version 2 with the GNU Classpath Exception, which is available at
* https://www.gnu.org/software/classpath/license.html.
* https://www.gnu.org/software/classpath/license.html.
*
*
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
*/
*/
package javax.ws.rs.client;
package javax.ws.rs.client;
import java.lang.annotation.Annotation;
import java.lang.annotation.Annotation;
import java.util.Arrays;
import java.util.Arrays;
import java.util.Locale;
import java.util.Locale;
import javax.ws.rs.core.Form;
import javax.ws.rs.core.Form;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.MultivaluedMap;
import javax.ws.rs.core.MultivaluedMap;
import javax.ws.rs.core.Variant;
import javax.ws.rs.core.Variant;
/**
/**
* Encapsulates message entity including the associated variant information.
* Encapsulates message entity including the associated variant information.
*
*
* @param <T> entity type.
* @param <T> entity type.
* @author Marek Potociar
* @author Marek Potociar
*/
*/
public final class Entity<T> {
public final class Entity<T> {
private static final Annotation[] EMPTY_ANNOTATIONS = new Annotation[0];
private static final Annotation[] EMPTY_ANNOTATIONS = new Annotation[0];
private final T entity;
private final T entity;
private final Variant variant;
private final Variant variant;
private final Annotation[] annotations;
private final Annotation[] annotations;
/**
/**
* Create an entity using a supplied content media type.
* Create an entity using a supplied content media type.
*
*
* @param <T> entity Java type.
* @param <T> entity Java type.
* @param entity entity data.
* @param entity entity data.
* @param mediaType entity content type.
* @param mediaType entity content type.
* @return entity instance.
* @return entity instance.
*/
*/
public static <T> Entity<T> entity(final T entity, final MediaType mediaType) {
public static <T> Entity<T> entity(final T entity, final MediaType mediaType) {
return new Entity<T>(entity, mediaType);
return new Entity<T>(entity, mediaType);
}
}
/**
/**
* Create an entity using a supplied content media type.
* Create an entity using a supplied content media type.
*
*
* @param <T> entity Java type.
* @param <T> entity Java type.
* @param entity entity data.
* @param entity entity data.
* @param mediaType entity content type.
* @param mediaType entity content type.
* @param annotations entity annotations.
* @param annotations entity annotations.
* @return entity instance.
* @return entity instance.
*/
*/
public static <T> Entity<T> entity(final T entity, final MediaType mediaType, final Annotation[] annotations) {
public static <T> Entity<T> entity(final T entity, final MediaType mediaType, final Annotation[] annotations) {
return new Entity<T>(entity, mediaType, annotations);
return new Entity<T>(entity, mediaType, annotations);
}
}
/**
/**
* Create an entity using a supplied content media type.
* Create an entity using a supplied content media type.
*
*
* @param <T> entity Java type.
* @param <T> entity Java type.
* @param entity entity data.
* @param entity entity data.
* @param mediaType entity content type.
* @param mediaType entity content type.
* @return entity instance.
* @return entity instance.
Kopieren
Kopiert
Kopieren
Kopiert
* @throws IllegalArgumentException if the supplied string cannot be parsed
or is {@code null}.
* @throws IllegalArgumentException if the supplied string cannot be parsed
*
or is {@code null}.
*/
*/
public static <T> Entity<T> entity(final T entity, final String mediaType) {
public static <T> Entity<T> entity(final T entity, final String mediaType) {
return new Entity<T>(entity, MediaType.valueOf(mediaType));
return new Entity<T>(entity, MediaType.valueOf(mediaType));
}
}
/**
/**
* Create an entity using a supplied content media type.
* Create an entity using a supplied content media type.
*
*
* @param <T> entity Java type.
* @param <T> entity Java type.
* @param entity entity data.
* @param entity entity data.
* @param variant entity {@link Variant variant} information.
* @param variant entity {@link Variant variant} information.
* @return entity instance.
* @return entity instance.
*/
*/
public static <T> Entity<T> entity(final T entity, final Variant variant) {
public static <T> Entity<T> entity(final T entity, final Variant variant) {
return new Entity<T>(entity, variant);
return new Entity<T>(entity, variant);
}
}
/**
/**
* Create an entity using a supplied content media type.
* Create an entity using a supplied content media type.
*
*
* @param <T> entity Java type.
* @param <T> entity Java type.
* @param entity entity data.
* @param entity entity data.
* @param variant entity {@link Variant variant} information.
* @param variant entity {@link Variant variant} information.
* @param annotations entity annotations.
* @param annotations entity annotations.
* @return entity instance.
* @return entity instance.
*/
*/
public static <T> Entity<T> entity(final T entity, final Variant variant, final Annotation[] annotations) {
public static <T> Entity<T> entity(final T entity, final Variant variant, final Annotation[] annotations) {
return new Entity<T>(entity, variant, annotations);
return new Entity<T>(entity, variant, annotations);
}
}
/**
/**
* Create a {@value javax.ws.rs.core.MediaType#TEXT_PLAIN} entity.
* Create a {@value javax.ws.rs.core.MediaType#TEXT_PLAIN} entity.
*
*
* @param <T> entity Java type.
* @param <T> entity Java type.
* @param entity entity data.
* @param entity entity data.
* @return {@value javax.ws.rs.core.MediaType#TEXT_PLAIN} entity instance.
* @return {@value javax.ws.rs.core.MediaType#TEXT_PLAIN} entity instance.
*/
*/
public static <T> Entity<T> text(final T entity) {
public static <T> Entity<T> text(final T entity) {
return new Entity<T>(entity, MediaType.TEXT_PLAIN_TYPE);
return new Entity<T>(entity, MediaType.TEXT_PLAIN_TYPE);
}
}
/**
/**
* Create an {@value javax.ws.rs.core.MediaType#APPLICATION_XML} entity.
* Create an {@value javax.ws.rs.core.MediaType#APPLICATION_XML} entity.
*
*
* @param <T> entity Java type.
* @param <T> entity Java type.
* @param entity entity data.
* @param entity entity data.
* @return {@value javax.ws.rs.core.MediaType#APPLICATION_XML} entity instance.
* @return {@value javax.ws.rs.core.MediaType#APPLICATION_XML} entity instance.
*/
*/
public static <T> Entity<T> xml(final T entity) {
public static <T> Entity<T> xml(final T entity) {
return new Entity<T>(entity, MediaType.APPLICATION_XML_TYPE);
return new Entity<T>(entity, MediaType.APPLICATION_XML_TYPE);
}
}
/**
/**
* Create an {@value javax.ws.rs.core.MediaType#APPLICATION_JSON} entity.
* Create an {@value javax.ws.rs.core.MediaType#APPLICATION_JSON} entity.
*
*
* @param <T> entity Java type.
* @param <T> entity Java type.
* @param entity entity data.
* @param entity entity data.
* @return {@value javax.ws.rs.core.MediaType#APPLICATION_JSON} entity instance.
* @return {@value javax.ws.rs.core.MediaType#APPLICATION_JSON} entity instance.
*/
*/
public static <T> Entity<T> json(final T entity) {
public static <T> Entity<T> json(final T entity) {
return new Entity<T>(entity, MediaType.APPLICATION_JSON_TYPE);
return new Entity<T>(entity, MediaType.APPLICATION_JSON_TYPE);
}
}
/**
/**
* Create a {@value javax.ws.rs.core.MediaType#TEXT_HTML} entity.
* Create a {@value javax.ws.rs.core.MediaType#TEXT_HTML} entity.
*
*
* @param <T> entity Java type.
* @param <T> entity Java type.
* @param entity entity data.
* @param entity entity data.
* @return {@value javax.ws.rs.core.MediaType#TEXT_HTML} entity instance.
* @return {@value javax.ws.rs.core.MediaType#TEXT_HTML} entity instance.
*/
*/
public static <T> Entity<T> html(final T entity) {
public static <T> Entity<T> html(final T entity) {
return new Entity<T>(entity, MediaType.TEXT_HTML_TYPE);
return new Entity<T>(entity, MediaType.TEXT_HTML_TYPE);
}
}
/**
/**
* Create an {@value javax.ws.rs.core.MediaType#APPLICATION_XHTML_XML} entity.
* Create an {@value javax.ws.rs.core.MediaType#APPLICATION_XHTML_XML} entity.
*
*
* @param <T> entity Java type.
* @param <T> entity Java type.
* @param entity entity data.
* @param entity entity data.
Kopieren
Kopiert
Kopieren
Kopiert
* @return {@value javax.ws.rs.core.MediaType#APPLICATION_XHTML_XML} entity
instance.
* @return {@value javax.ws.rs.core.MediaType#APPLICATION_XHTML_XML} entity
*
instance.
*/
*/
public static <T> Entity<T> xhtml(final T entity) {
public static <T> Entity<T> xhtml(final T entity) {
return new Entity<T>(entity, MediaType.APPLICATION_XHTML_XML_TYPE);
return new Entity<T>(entity, MediaType.APPLICATION_XHTML_XML_TYPE);
}
}
/**
/**
Kopieren
Kopiert
Kopieren
Kopiert
* Create an {@value javax.ws.rs.core.MediaType#APPLICATION_FORM_URLENCODED}
form entity.
* Create an {@value javax.ws.rs.core.MediaType#APPLICATION_FORM_URLENCODED}
*
form entity.
*
*
* @param form form data.
* @param form form data.
Kopieren
Kopiert
Kopieren
Kopiert
* @return {@value javax.ws.rs.core.MediaType#APPLICATION_FORM_URLENCODED}
form entity instance.
* @return {@value javax.ws.rs.core.MediaType#APPLICATION_FORM_URLENCODED}
*
form entity instance.
*/
*/
public static Entity<Form> form(final Form form) {
public static Entity<Form> form(final Form form) {
return new Entity<Form>(form, MediaType.APPLICATION_FORM_URLENCODED_TYPE);
return new Entity<Form>(form, MediaType.APPLICATION_FORM_URLENCODED_TYPE);
}
}
/**
/**
Kopieren
Kopiert
Kopieren
Kopiert
* Create an {@value javax.ws.rs.core.MediaType#APPLICATION_FORM_URLENCODED}
form entity.
* Create an {@value javax.ws.rs.core.MediaType#APPLICATION_FORM_URLENCODED}
*
form entity.
*
*
* @param formData multivalued map representing the form data.
* @param formData multivalued map representing the form data.
Kopieren
Kopiert
Kopieren
Kopiert
* @return {@value javax.ws.rs.core.MediaType#APPLICATION_FORM_URLENCODED}
form entity instance.
* @return {@value javax.ws.rs.core.MediaType#APPLICATION_FORM_URLENCODED}
*
form entity instance.
*/
*/
public static Entity<Form> form(final MultivaluedMap<String, String> formData) {
public static Entity<Form> form(final MultivaluedMap<String, String> formData) {
return new Entity<Form>(new Form(formData), MediaType.APPLICATION_FORM_URLENCODED_TYPE);
return new Entity<Form>(new Form(formData), MediaType.APPLICATION_FORM_URLENCODED_TYPE);
}
}
private Entity(final T entity, final MediaType mediaType) {
private Entity(final T entity, final MediaType mediaType) {
this(entity, new Variant(mediaType, (Locale) null, null), null);
this(entity, new Variant(mediaType, (Locale) null, null), null);
}
}
private Entity(final T entity, final Variant variant) {
private Entity(final T entity, final Variant variant) {
this(entity, variant, null);
this(entity, variant, null);
}
}
private Entity(final T entity, final MediaType mediaType, final Annotation[] annotations) {
private Entity(final T entity, final MediaType mediaType, final Annotation[] annotations) {
this(entity, new Variant(mediaType, (Locale) null, null), annotations);
this(entity, new Variant(mediaType, (Locale) null, null), annotations);
}
}
private Entity(final T entity, final Variant variant, final Annotation[] annotations) {
private Entity(final T entity, final Variant variant, final Annotation[] annotations) {
this.entity = entity;
this.entity = entity;
this.variant = variant;
this.variant = variant;
this.annotations = (annotations == null) ? EMPTY_ANNOTATIONS : annotations;
this.annotations = (annotations == null) ? EMPTY_ANNOTATIONS : annotations;
}
}
/**
/**
* Get entity {@link Variant variant} information.
* Get entity {@link Variant variant} information.
*
*
* @return entity variant information.
* @return entity variant information.
*/
*/
public Variant getVariant() {
public Variant getVariant() {
return variant;
return variant;
}
}
/**
/**
* Get entity media type.
* Get entity media type.
*
*
* @return entity media type.
* @return entity media type.
*/
*/
public MediaType getMediaType() {
public MediaType getMediaType() {
return variant.getMediaType();
return variant.getMediaType();
}
}
/**
/**
* Get entity encoding.
* Get entity encoding.
*
*
* @return entity encoding.
* @return entity encoding.
*/
*/
public String getEncoding() {
public String getEncoding() {
return variant.getEncoding();
return variant.getEncoding();
}
}
/**
/**
* Get entity language.
* Get entity language.
*
*
* @return entity language.
* @return entity language.
*/
*/
public Locale getLanguage() {
public Locale getLanguage() {
return variant.getLanguage();
return variant.getLanguage();
}
}
/**
/**
* Get entity data.
* Get entity data.
*
*
* @return entity data.
* @return entity data.
*/
*/
public T getEntity() {
public T getEntity() {
return entity;
return entity;
}
}
/**
/**
* Get the entity annotations.
* Get the entity annotations.
*
*
Kopieren
Kopiert
Kopieren
Kopiert
* @return entity annotations if set, an empty annotation array if no
entity annotations have been specified.
* @return entity annotations if set, an empty annotation array if no
*
entity annotations have been specified.
*/
*/
public Annotation[] getAnnotations() {
public Annotation[] getAnnotations() {
return annotations;
return annotations;
}
}
@Override
@Override
public boolean equals(final Object o) {
public boolean equals(final Object o) {
Kopieren
Kopiert
Kopieren
Kopiert
if (this == o)
if (this == o)
{
return true;
return true;
Kopieren
Kopiert
Kopieren
Kopiert
if (!(o instanceof Entity))
}
if (!(o instanceof Entity))
{
return false;
return false;
Kopieren
Kopiert
Kopieren
Kopiert
}
Entity entity1 = (Entity) o;
Entity entity1 = (Entity) o;
Kopieren
Kopiert
Kopieren
Kopiert
if (!Arrays.equals(annotations, entity1.annotations))
if (!Arrays.equals(annotations, entity1.annotations))
{
return false;
return false;
Kopieren
Kopiert
Kopieren
Kopiert
if (entity != null ? !entity.equals(entity1.entity) : entity1.entity != null)
}
if (entity != null ? !entity.equals(entity1.entity) : entity1.entity != null)
{
return false;
return false;
Kopieren
Kopiert
Kopieren
Kopiert
if (variant != null ? !variant.equals(entity1.variant) : entity1.variant != null)
}
if (variant != null ? !variant.equals(entity1.variant) : entity1.variant != null)
{
return false;
return false;
Kopieren
Kopiert
Kopieren
Kopiert
}
return true;
return true;
}
}
@Override
@Override
public int hashCode() {
public int hashCode() {
int result = entity != null ? entity.hashCode() : 0;
int result = entity != null ? entity.hashCode() : 0;
result = 31 * result + (variant != null ? variant.hashCode() : 0);
result = 31 * result + (variant != null ? variant.hashCode() : 0);
result = 31 * result + Arrays.hashCode(annotations);
result = 31 * result + Arrays.hashCode(annotations);
return result;
return result;
}
}
@Override
@Override
public String toString() {
public String toString() {
return "Entity{" +
return "Entity{" +
Kopieren
Kopiert
Kopieren
Kopiert
"entity=" + entity +
"entity=" + entity +
", variant=" + variant +
", variant=" + variant +
", annotations=" + Arrays.toString(annotations) +
", annotations=" + Arrays.toString(annotations) +
'}';
'}';
}
}
}
}
Gespeicherte Diffs
Originaltext
Datei öffnen
/* * Copyright (c) 2011, 2017 Oracle and/or its affiliates. All rights reserved. * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v. 2.0, which is available at * http://www.eclipse.org/legal/epl-2.0. * * This Source Code may also be made available under the following Secondary * Licenses when the conditions for such availability set forth in the * Eclipse Public License v. 2.0 are satisfied: GNU General Public License, * version 2 with the GNU Classpath Exception, which is available at * https://www.gnu.org/software/classpath/license.html. * * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 */ package javax.ws.rs.client; import java.lang.annotation.Annotation; import java.util.Arrays; import java.util.Locale; import javax.ws.rs.core.Form; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.MultivaluedMap; import javax.ws.rs.core.Variant; /** * Encapsulates message entity including the associated variant information. * * @param <T> entity type. * @author Marek Potociar */ public final class Entity<T> { private static final Annotation[] EMPTY_ANNOTATIONS = new Annotation[0]; private final T entity; private final Variant variant; private final Annotation[] annotations; /** * Create an entity using a supplied content media type. * * @param <T> entity Java type. * @param entity entity data. * @param mediaType entity content type. * @return entity instance. */ public static <T> Entity<T> entity(final T entity, final MediaType mediaType) { return new Entity<T>(entity, mediaType); } /** * Create an entity using a supplied content media type. * * @param <T> entity Java type. * @param entity entity data. * @param mediaType entity content type. * @param annotations entity annotations. * @return entity instance. */ public static <T> Entity<T> entity(final T entity, final MediaType mediaType, final Annotation[] annotations) { return new Entity<T>(entity, mediaType, annotations); } /** * Create an entity using a supplied content media type. * * @param <T> entity Java type. * @param entity entity data. * @param mediaType entity content type. * @return entity instance. * @throws IllegalArgumentException if the supplied string cannot be parsed or is {@code null}. */ public static <T> Entity<T> entity(final T entity, final String mediaType) { return new Entity<T>(entity, MediaType.valueOf(mediaType)); } /** * Create an entity using a supplied content media type. * * @param <T> entity Java type. * @param entity entity data. * @param variant entity {@link Variant variant} information. * @return entity instance. */ public static <T> Entity<T> entity(final T entity, final Variant variant) { return new Entity<T>(entity, variant); } /** * Create an entity using a supplied content media type. * * @param <T> entity Java type. * @param entity entity data. * @param variant entity {@link Variant variant} information. * @param annotations entity annotations. * @return entity instance. */ public static <T> Entity<T> entity(final T entity, final Variant variant, final Annotation[] annotations) { return new Entity<T>(entity, variant, annotations); } /** * Create a {@value javax.ws.rs.core.MediaType#TEXT_PLAIN} entity. * * @param <T> entity Java type. * @param entity entity data. * @return {@value javax.ws.rs.core.MediaType#TEXT_PLAIN} entity instance. */ public static <T> Entity<T> text(final T entity) { return new Entity<T>(entity, MediaType.TEXT_PLAIN_TYPE); } /** * Create an {@value javax.ws.rs.core.MediaType#APPLICATION_XML} entity. * * @param <T> entity Java type. * @param entity entity data. * @return {@value javax.ws.rs.core.MediaType#APPLICATION_XML} entity instance. */ public static <T> Entity<T> xml(final T entity) { return new Entity<T>(entity, MediaType.APPLICATION_XML_TYPE); } /** * Create an {@value javax.ws.rs.core.MediaType#APPLICATION_JSON} entity. * * @param <T> entity Java type. * @param entity entity data. * @return {@value javax.ws.rs.core.MediaType#APPLICATION_JSON} entity instance. */ public static <T> Entity<T> json(final T entity) { return new Entity<T>(entity, MediaType.APPLICATION_JSON_TYPE); } /** * Create a {@value javax.ws.rs.core.MediaType#TEXT_HTML} entity. * * @param <T> entity Java type. * @param entity entity data. * @return {@value javax.ws.rs.core.MediaType#TEXT_HTML} entity instance. */ public static <T> Entity<T> html(final T entity) { return new Entity<T>(entity, MediaType.TEXT_HTML_TYPE); } /** * Create an {@value javax.ws.rs.core.MediaType#APPLICATION_XHTML_XML} entity. * * @param <T> entity Java type. * @param entity entity data. * @return {@value javax.ws.rs.core.MediaType#APPLICATION_XHTML_XML} entity instance. */ public static <T> Entity<T> xhtml(final T entity) { return new Entity<T>(entity, MediaType.APPLICATION_XHTML_XML_TYPE); } /** * Create an {@value javax.ws.rs.core.MediaType#APPLICATION_FORM_URLENCODED} form entity. * * @param form form data. * @return {@value javax.ws.rs.core.MediaType#APPLICATION_FORM_URLENCODED} form entity instance. */ public static Entity<Form> form(final Form form) { return new Entity<Form>(form, MediaType.APPLICATION_FORM_URLENCODED_TYPE); } /** * Create an {@value javax.ws.rs.core.MediaType#APPLICATION_FORM_URLENCODED} form entity. * * @param formData multivalued map representing the form data. * @return {@value javax.ws.rs.core.MediaType#APPLICATION_FORM_URLENCODED} form entity instance. */ public static Entity<Form> form(final MultivaluedMap<String, String> formData) { return new Entity<Form>(new Form(formData), MediaType.APPLICATION_FORM_URLENCODED_TYPE); } private Entity(final T entity, final MediaType mediaType) { this(entity, new Variant(mediaType, (Locale) null, null), null); } private Entity(final T entity, final Variant variant) { this(entity, variant, null); } private Entity(final T entity, final MediaType mediaType, final Annotation[] annotations) { this(entity, new Variant(mediaType, (Locale) null, null), annotations); } private Entity(final T entity, final Variant variant, final Annotation[] annotations) { this.entity = entity; this.variant = variant; this.annotations = (annotations == null) ? EMPTY_ANNOTATIONS : annotations; } /** * Get entity {@link Variant variant} information. * * @return entity variant information. */ public Variant getVariant() { return variant; } /** * Get entity media type. * * @return entity media type. */ public MediaType getMediaType() { return variant.getMediaType(); } /** * Get entity encoding. * * @return entity encoding. */ public String getEncoding() { return variant.getEncoding(); } /** * Get entity language. * * @return entity language. */ public Locale getLanguage() { return variant.getLanguage(); } /** * Get entity data. * * @return entity data. */ public T getEntity() { return entity; } /** * Get the entity annotations. * * @return entity annotations if set, an empty annotation array if no entity annotations have been specified. */ public Annotation[] getAnnotations() { return annotations; } @Override public boolean equals(final Object o) { if (this == o) return true; if (!(o instanceof Entity)) return false; Entity entity1 = (Entity) o; if (!Arrays.equals(annotations, entity1.annotations)) return false; if (entity != null ? !entity.equals(entity1.entity) : entity1.entity != null) return false; if (variant != null ? !variant.equals(entity1.variant) : entity1.variant != null) return false; return true; } @Override public int hashCode() { int result = entity != null ? entity.hashCode() : 0; result = 31 * result + (variant != null ? variant.hashCode() : 0); result = 31 * result + Arrays.hashCode(annotations); return result; } @Override public String toString() { return "Entity{" + "entity=" + entity + ", variant=" + variant + ", annotations=" + Arrays.toString(annotations) + '}'; } }
Bearbeitung
Datei öffnen
/* * Copyright (c) 2011, 2017 Oracle and/or its affiliates. All rights reserved. * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v. 2.0, which is available at * http://www.eclipse.org/legal/epl-2.0. * * This Source Code may also be made available under the following Secondary * Licenses when the conditions for such availability set forth in the * Eclipse Public License v. 2.0 are satisfied: GNU General Public License, * version 2 with the GNU Classpath Exception, which is available at * https://www.gnu.org/software/classpath/license.html. * * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 */ package javax.ws.rs.client; import java.lang.annotation.Annotation; import java.util.Arrays; import java.util.Locale; import javax.ws.rs.core.Form; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.MultivaluedMap; import javax.ws.rs.core.Variant; /** * Encapsulates message entity including the associated variant information. * * @param <T> entity type. * @author Marek Potociar */ public final class Entity<T> { private static final Annotation[] EMPTY_ANNOTATIONS = new Annotation[0]; private final T entity; private final Variant variant; private final Annotation[] annotations; /** * Create an entity using a supplied content media type. * * @param <T> entity Java type. * @param entity entity data. * @param mediaType entity content type. * @return entity instance. */ public static <T> Entity<T> entity(final T entity, final MediaType mediaType) { return new Entity<T>(entity, mediaType); } /** * Create an entity using a supplied content media type. * * @param <T> entity Java type. * @param entity entity data. * @param mediaType entity content type. * @param annotations entity annotations. * @return entity instance. */ public static <T> Entity<T> entity(final T entity, final MediaType mediaType, final Annotation[] annotations) { return new Entity<T>(entity, mediaType, annotations); } /** * Create an entity using a supplied content media type. * * @param <T> entity Java type. * @param entity entity data. * @param mediaType entity content type. * @return entity instance. * @throws IllegalArgumentException if the supplied string cannot be parsed * or is {@code null}. */ public static <T> Entity<T> entity(final T entity, final String mediaType) { return new Entity<T>(entity, MediaType.valueOf(mediaType)); } /** * Create an entity using a supplied content media type. * * @param <T> entity Java type. * @param entity entity data. * @param variant entity {@link Variant variant} information. * @return entity instance. */ public static <T> Entity<T> entity(final T entity, final Variant variant) { return new Entity<T>(entity, variant); } /** * Create an entity using a supplied content media type. * * @param <T> entity Java type. * @param entity entity data. * @param variant entity {@link Variant variant} information. * @param annotations entity annotations. * @return entity instance. */ public static <T> Entity<T> entity(final T entity, final Variant variant, final Annotation[] annotations) { return new Entity<T>(entity, variant, annotations); } /** * Create a {@value javax.ws.rs.core.MediaType#TEXT_PLAIN} entity. * * @param <T> entity Java type. * @param entity entity data. * @return {@value javax.ws.rs.core.MediaType#TEXT_PLAIN} entity instance. */ public static <T> Entity<T> text(final T entity) { return new Entity<T>(entity, MediaType.TEXT_PLAIN_TYPE); } /** * Create an {@value javax.ws.rs.core.MediaType#APPLICATION_XML} entity. * * @param <T> entity Java type. * @param entity entity data. * @return {@value javax.ws.rs.core.MediaType#APPLICATION_XML} entity instance. */ public static <T> Entity<T> xml(final T entity) { return new Entity<T>(entity, MediaType.APPLICATION_XML_TYPE); } /** * Create an {@value javax.ws.rs.core.MediaType#APPLICATION_JSON} entity. * * @param <T> entity Java type. * @param entity entity data. * @return {@value javax.ws.rs.core.MediaType#APPLICATION_JSON} entity instance. */ public static <T> Entity<T> json(final T entity) { return new Entity<T>(entity, MediaType.APPLICATION_JSON_TYPE); } /** * Create a {@value javax.ws.rs.core.MediaType#TEXT_HTML} entity. * * @param <T> entity Java type. * @param entity entity data. * @return {@value javax.ws.rs.core.MediaType#TEXT_HTML} entity instance. */ public static <T> Entity<T> html(final T entity) { return new Entity<T>(entity, MediaType.TEXT_HTML_TYPE); } /** * Create an {@value javax.ws.rs.core.MediaType#APPLICATION_XHTML_XML} entity. * * @param <T> entity Java type. * @param entity entity data. * @return {@value javax.ws.rs.core.MediaType#APPLICATION_XHTML_XML} entity * instance. */ public static <T> Entity<T> xhtml(final T entity) { return new Entity<T>(entity, MediaType.APPLICATION_XHTML_XML_TYPE); } /** * Create an {@value javax.ws.rs.core.MediaType#APPLICATION_FORM_URLENCODED} * form entity. * * @param form form data. * @return {@value javax.ws.rs.core.MediaType#APPLICATION_FORM_URLENCODED} * form entity instance. */ public static Entity<Form> form(final Form form) { return new Entity<Form>(form, MediaType.APPLICATION_FORM_URLENCODED_TYPE); } /** * Create an {@value javax.ws.rs.core.MediaType#APPLICATION_FORM_URLENCODED} * form entity. * * @param formData multivalued map representing the form data. * @return {@value javax.ws.rs.core.MediaType#APPLICATION_FORM_URLENCODED} * form entity instance. */ public static Entity<Form> form(final MultivaluedMap<String, String> formData) { return new Entity<Form>(new Form(formData), MediaType.APPLICATION_FORM_URLENCODED_TYPE); } private Entity(final T entity, final MediaType mediaType) { this(entity, new Variant(mediaType, (Locale) null, null), null); } private Entity(final T entity, final Variant variant) { this(entity, variant, null); } private Entity(final T entity, final MediaType mediaType, final Annotation[] annotations) { this(entity, new Variant(mediaType, (Locale) null, null), annotations); } private Entity(final T entity, final Variant variant, final Annotation[] annotations) { this.entity = entity; this.variant = variant; this.annotations = (annotations == null) ? EMPTY_ANNOTATIONS : annotations; } /** * Get entity {@link Variant variant} information. * * @return entity variant information. */ public Variant getVariant() { return variant; } /** * Get entity media type. * * @return entity media type. */ public MediaType getMediaType() { return variant.getMediaType(); } /** * Get entity encoding. * * @return entity encoding. */ public String getEncoding() { return variant.getEncoding(); } /** * Get entity language. * * @return entity language. */ public Locale getLanguage() { return variant.getLanguage(); } /** * Get entity data. * * @return entity data. */ public T getEntity() { return entity; } /** * Get the entity annotations. * * @return entity annotations if set, an empty annotation array if no * entity annotations have been specified. */ public Annotation[] getAnnotations() { return annotations; } @Override public boolean equals(final Object o) { if (this == o) { return true; } if (!(o instanceof Entity)) { return false; } Entity entity1 = (Entity) o; if (!Arrays.equals(annotations, entity1.annotations)) { return false; } if (entity != null ? !entity.equals(entity1.entity) : entity1.entity != null) { return false; } if (variant != null ? !variant.equals(entity1.variant) : entity1.variant != null) { return false; } return true; } @Override public int hashCode() { int result = entity != null ? entity.hashCode() : 0; result = 31 * result + (variant != null ? variant.hashCode() : 0); result = 31 * result + Arrays.hashCode(annotations); return result; } @Override public String toString() { return "Entity{" + "entity=" + entity + ", variant=" + variant + ", annotations=" + Arrays.toString(annotations) + '}'; } }
Unterschied finden