Diff
checker
텍스트
텍스트
이미지
문서
Excel
폴더
Legal
Enterprise
데스크톱
요금제
로그인
데스크톱 앱 다운로드
텍스트 비교
두 텍스트 파일의 차이점을 찾아보세요
도구
기록
실시간 편집
공백 변경 숨기기
변경 없는 행 숨기기
줄바꿈 비활성화
레이아웃
나란히 보기
합쳐 보기
비교 단위
스마트
단어
글자
텍스트 스타일
모양 변경
구문 강조
언어 선택
제외
텍스트 변환
첫 변경으로
수정
Diffchecker Desktop
가장 안전하게 Diffchecker를 사용하는 방법. 데스크톱 앱을 사용하면 비교 데이터가 외부로 전송되지 않습니다!
데스크톱 앱 받기
Eclipse formatting - IntelliJ formatting
생성일
8년 전
비교 결과 만료 없음
초기화
내보내기
공유
설명
4 삭제
행
총
삭제
글자
총
삭제
이 기능을 계속 사용하려면 업그레이드해 주세요
Diff
checker
Pro
요금제 보기
288 행
복사
27 추가
행
총
추가
글자
총
추가
이 기능을 계속 사용하려면 업그레이드해 주세요
Diff
checker
Pro
요금제 보기
300 행
복사
/*
/*
* 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.
복사
복사됨
복사
복사됨
* @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.
복사
복사됨
복사
복사됨
* @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);
}
}
/**
/**
복사
복사됨
복사
복사됨
* 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.
복사
복사됨
복사
복사됨
* @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);
}
}
/**
/**
복사
복사됨
복사
복사됨
* 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.
복사
복사됨
복사
복사됨
* @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.
*
*
복사
복사됨
복사
복사됨
* @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) {
복사
복사됨
복사
복사됨
if (this == o)
if (this == o)
{
return true;
return true;
복사
복사됨
복사
복사됨
if (!(o instanceof Entity))
}
if (!(o instanceof Entity))
{
return false;
return false;
복사
복사됨
복사
복사됨
}
Entity entity1 = (Entity) o;
Entity entity1 = (Entity) o;
복사
복사됨
복사
복사됨
if (!Arrays.equals(annotations, entity1.annotations))
if (!Arrays.equals(annotations, entity1.annotations))
{
return false;
return false;
복사
복사됨
복사
복사됨
if (entity != null ? !entity.equals(entity1.entity) : entity1.entity != null)
}
if (entity != null ? !entity.equals(entity1.entity) : entity1.entity != null)
{
return false;
return false;
복사
복사됨
복사
복사됨
if (variant != null ? !variant.equals(entity1.variant) : entity1.variant != null)
}
if (variant != null ? !variant.equals(entity1.variant) : entity1.variant != null)
{
return false;
return false;
복사
복사됨
복사
복사됨
}
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{" +
복사
복사됨
복사
복사됨
"entity=" + entity +
"entity=" + entity +
", variant=" + variant +
", variant=" + variant +
", annotations=" + Arrays.toString(annotations) +
", annotations=" + Arrays.toString(annotations) +
'}';
'}';
}
}
}
}
저장된 비교 결과
원본
파일 열기
/* * 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) + '}'; } }
수정본
파일 열기
/* * 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) + '}'; } }
비교하기