當前位置: 首頁>>代碼示例>>Java>>正文


Java JsonManagedReference類代碼示例

本文整理匯總了Java中com.fasterxml.jackson.annotation.JsonManagedReference的典型用法代碼示例。如果您正苦於以下問題:Java JsonManagedReference類的具體用法?Java JsonManagedReference怎麽用?Java JsonManagedReference使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


JsonManagedReference類屬於com.fasterxml.jackson.annotation包,在下文中一共展示了JsonManagedReference類的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: setAttribute

import com.fasterxml.jackson.annotation.JsonManagedReference; //導入依賴的package包/類
@Override
protected void setAttribute(Object pojo, AttributeMetaData attribute, Object value) {
    super.setAttribute(pojo, attribute, value);
    JsonManagedReference managedReference = attribute.getAnnotation(JsonManagedReference.class);
    if (managedReference != null && value != null) {
        Class<?> elementType = (Class<?>) attribute.getTypeArguments()[0];
        PropertyDescriptor backReference = getManagedBackReference(elementType, managedReference.value());
        if (backReference != null) {
            Collection collection = (Collection) value;
            for (Object object : collection) {
                try {
                    PropertyUtils.setProperty(object, backReference.getName(), pojo);
                } catch (Exception e) {
                    logger.info("Failed while setting the property {} on the class {}", backReference.getName(), value.getClass());
                }
            }

        }
    }
}
 
開發者ID:minnal,項目名稱:minnal,代碼行數:21,代碼來源:BiDirectionalCollectionResolver.java

示例2: getUserAuthorizations

import com.fasterxml.jackson.annotation.JsonManagedReference; //導入依賴的package包/類
@OneToMany(mappedBy = "authorization")
@Filters({@Filter(name = "limitByNotDeleted")})
@JsonManagedReference
public List<UserAuthorization> getUserAuthorizations() {
    if (userAuthorizations == null) {
        userAuthorizations = new LinkedList<UserAuthorization>();
    }
    return userAuthorizations;
}
 
開發者ID:caratarse,項目名稱:caratarse-auth,代碼行數:10,代碼來源:Authorization.java

示例3: getDescriptions

import com.fasterxml.jackson.annotation.JsonManagedReference; //導入依賴的package包/類
/**
 * @return a map of descriptions about the taxon
 */
@OneToMany(fetch = FetchType.LAZY, mappedBy = "taxon", orphanRemoval = true)
@Cascade({ CascadeType.ALL })
@JsonManagedReference("descriptions-taxon")
public Set<Description> getDescriptions() {
	return descriptions;
}
 
開發者ID:RBGKew,項目名稱:eMonocot,代碼行數:10,代碼來源:Taxon.java

示例4: getDistribution

import com.fasterxml.jackson.annotation.JsonManagedReference; //導入依賴的package包/類
/**
 * @return the distribution associated with this taxon
 */
@OneToMany(fetch = FetchType.LAZY, mappedBy = "taxon", orphanRemoval = true)
@Cascade({ CascadeType.ALL })
@JsonManagedReference("distribution-taxon")
public Set<Distribution> getDistribution() {
	return distribution;
}
 
開發者ID:RBGKew,項目名稱:eMonocot,代碼行數:10,代碼來源:Taxon.java

示例5: getIdentifiers

import com.fasterxml.jackson.annotation.JsonManagedReference; //導入依賴的package包/類
/**
 * @return a list of identifiers the taxon
 */
@OneToMany(fetch = FetchType.LAZY, mappedBy = "taxon", orphanRemoval = true)
@Cascade({ CascadeType.ALL })
@JsonManagedReference("identifier-taxon")
public Set<Identifier> getIdentifiers() {
	return identifiers;
}
 
開發者ID:RBGKew,項目名稱:eMonocot,代碼行數:10,代碼來源:Taxon.java

示例6: getVernacularNames

import com.fasterxml.jackson.annotation.JsonManagedReference; //導入依賴的package包/類
/**
 * @return a map of vernacularNames for the taxon
 */
@OneToMany(fetch = FetchType.LAZY, mappedBy = "taxon", orphanRemoval = true)
@Cascade({ CascadeType.ALL })
@JsonManagedReference("vernacularNames-taxon")
public Set<VernacularName> getVernacularNames() {
	return vernacularNames;
}
 
開發者ID:RBGKew,項目名稱:eMonocot,代碼行數:10,代碼來源:Taxon.java

示例7: getMeasurementsOrFacts

import com.fasterxml.jackson.annotation.JsonManagedReference; //導入依賴的package包/類
/**
 * @return a set of measurements or facts about the taxon
 */
@OneToMany(fetch = FetchType.LAZY, mappedBy = "taxon", orphanRemoval = true)
@Cascade({ CascadeType.ALL })
@JsonManagedReference("measurementsOrFacts-taxon")
public Set<MeasurementOrFact> getMeasurementsOrFacts() {
	return measurementsOrFacts;
}
 
開發者ID:RBGKew,項目名稱:eMonocot,代碼行數:10,代碼來源:Taxon.java

示例8: getPrimaryProvider

import com.fasterxml.jackson.annotation.JsonManagedReference; //導入依賴的package包/類
@JsonManagedReference("encounter-provider")
@JsonView({JSONViews.JDBView.class, JSONViews.WSView.class, JSONViews.EventView.class})
public EncounterProvider getPrimaryProvider() {
    if (providers == null) return null;
    for (EncounterProvider provider : providers) {
        if (provider.getPrimary() != null && provider.getPrimary()) {
            return provider;
        }
    }
    return null;
}
 
開發者ID:KRMAssociatesInc,項目名稱:eHMP,代碼行數:12,代碼來源:Encounter.java

示例9: getMedications

import com.fasterxml.jackson.annotation.JsonManagedReference; //導入依賴的package包/類
/** 
    * Not sure what is going on here, but jackson is not serializing this properly
    * so for now I'm constructing the objects as needed.
    * TODO: need to figure this out!! 
    **/
   @JsonManagedReference("medication-administration-meds")
   @JsonIgnore
public List<MedicationAdministrationMed> getMedications() {
   	if (this.medication == null) {
   		this.medication = new ArrayList<>();
   		List<Map<String,Object>> adminMeds = (List<Map<String, Object>>) getProperty("medication");
   		if (adminMeds != null) {
    		for (Map<String,Object> adminMed : adminMeds) {
    			this.medication.add(new MedicationAdministrationMed(adminMed));
    		}
   		}
   	}
	return this.medication;
}
 
開發者ID:KRMAssociatesInc,項目名稱:eHMP,代碼行數:20,代碼來源:MedicationAdministration.java

示例10: getComments

import com.fasterxml.jackson.annotation.JsonManagedReference; //導入依賴的package包/類
/**
    * TODO: Same de-serialization issue as above
    * @return
    */
   @JsonManagedReference("medication-administration-comment")
   @JsonIgnore
public List<MedicationAdministrationComment> getComments() {
   	if (this.comment == null) {
   		this.comment = new ArrayList<>();
   		List<Map<String,Object>> comments = (List<Map<String, Object>>) getProperty("comment");
   		if (comments != null) {
    		for (Map<String,Object> c : comments) {
    			this.comment.add(new MedicationAdministrationComment(c));
    		}
   		}
   	}
	return this.comment;
}
 
開發者ID:KRMAssociatesInc,項目名稱:eHMP,代碼行數:19,代碼來源:MedicationAdministration.java

示例11: annotatedWithIgnore

import com.fasterxml.jackson.annotation.JsonManagedReference; //導入依賴的package包/類
/**
 * Returns a boolean indicating whether the provided field is annotated with
 * some form of ignore. This method is memoized to speed up execution time
 */
boolean annotatedWithIgnore(Field f) {
  return memoizer.ignoreAnnotations(f, () -> {
    JsonIgnore jsonIgnore = getAnnotation(f, JsonIgnore.class);
    JsonIgnoreProperties classIgnoreProperties = getAnnotation(f.getDeclaringClass(), JsonIgnoreProperties.class);
    JsonIgnoreProperties fieldIgnoreProperties = null;
    boolean backReferenced = false;

    //make sure the referring field didn't specify properties to ignore
    if(referringField != null) {
      fieldIgnoreProperties = getAnnotation(referringField, JsonIgnoreProperties.class);
    }

    //make sure the referring field didn't specify a backreference annotation
    if(getAnnotation(f, JsonBackReference.class) != null && referringField != null) {
      for(Field lastField : getDeclaredFields(referringField.getDeclaringClass())) {
        JsonManagedReference fieldManagedReference = getAnnotation(lastField, JsonManagedReference.class);
        if(fieldManagedReference != null && lastField.getType().equals(f.getDeclaringClass())) {
          backReferenced = true;
          break;
        }
      }
    }

    return (jsonIgnore != null && jsonIgnore.value()) ||
        (classIgnoreProperties != null && Arrays.asList(classIgnoreProperties.value()).contains(f.getName())) ||
        (fieldIgnoreProperties != null && Arrays.asList(fieldIgnoreProperties.value()).contains(f.getName())) ||
        backReferenced;
  });
}
 
開發者ID:monitorjbl,項目名稱:json-view,代碼行數:34,代碼來源:JsonViewSerializer.java

示例12: getTopics

import com.fasterxml.jackson.annotation.JsonManagedReference; //導入依賴的package包/類
@OneToMany(mappedBy = "meeting", fetch = FetchType.EAGER)
@JsonManagedReference
public Set<Topic> getTopics() {
  //Set<Topic> sortedTopics = new TreeSet<Topic>(Topic.TopicVoteComparator);
  //sortedTopics.addAll(this.topics);
  //return sortedTopics;
  return this.topics;
}
 
開發者ID:wisobi,項目名稱:leanbean,代碼行數:9,代碼來源:Meeting.java

示例13: findDeserializationName

import com.fasterxml.jackson.annotation.JsonManagedReference; //導入依賴的package包/類
public String findDeserializationName(AnnotatedField paramAnnotatedField)
{
  JsonProperty localJsonProperty = (JsonProperty)paramAnnotatedField.getAnnotation(JsonProperty.class);
  if (localJsonProperty != null)
    return localJsonProperty.value();
  if ((paramAnnotatedField.hasAnnotation(JsonDeserialize.class)) || (paramAnnotatedField.hasAnnotation(JsonView.class)) || (paramAnnotatedField.hasAnnotation(JsonBackReference.class)) || (paramAnnotatedField.hasAnnotation(JsonManagedReference.class)))
    return "";
  return null;
}
 
開發者ID:mmmsplay10,項目名稱:QuizUpWinner,代碼行數:10,代碼來源:JacksonAnnotationIntrospector.java

示例14: findReferenceType

import com.fasterxml.jackson.annotation.JsonManagedReference; //導入依賴的package包/類
public AnnotationIntrospector.ReferenceProperty findReferenceType(AnnotatedMember paramAnnotatedMember)
{
  JsonManagedReference localJsonManagedReference = (JsonManagedReference)paramAnnotatedMember.getAnnotation(JsonManagedReference.class);
  if (localJsonManagedReference != null)
    return AnnotationIntrospector.ReferenceProperty.managed(localJsonManagedReference.value());
  JsonBackReference localJsonBackReference = (JsonBackReference)paramAnnotatedMember.getAnnotation(JsonBackReference.class);
  if (localJsonBackReference != null)
    return AnnotationIntrospector.ReferenceProperty.back(localJsonBackReference.value());
  return null;
}
 
開發者ID:mmmsplay10,項目名稱:QuizUpWinner,代碼行數:11,代碼來源:JacksonAnnotationIntrospector.java

示例15: setAttribute

import com.fasterxml.jackson.annotation.JsonManagedReference; //導入依賴的package包/類
@Override
protected void setAttribute(Object pojo, AttributeMetaData attribute, Object value) {
    super.setAttribute(pojo, attribute, value);
    JsonManagedReference managedReference = attribute.getAnnotation(JsonManagedReference.class);
    if (managedReference != null && value != null) {
        PropertyDescriptor backReference = getManagedBackReference(value.getClass(), managedReference.value());
        if (backReference != null) {
            try {
                PropertyUtils.setProperty(value, backReference.getName(), pojo);
            } catch (Exception e) {
                logger.info("Failed while setting the property {} on the class {}", backReference.getName(), value.getClass());
            }
        }
    }
}
 
開發者ID:minnal,項目名稱:minnal,代碼行數:16,代碼來源:BiDirectionalObjectResolver.java


注:本文中的com.fasterxml.jackson.annotation.JsonManagedReference類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。