Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  package org.deephacks.tools4j.config.internal.core.query;
  
  
 
 import java.util.List;

ConfigIndexFields contain field values for a particular schema and bean.
 
 public class ConfigIndexFields implements Comparable<ConfigIndexFields> {
    
Bean id of this instance
 
     public BeanId id;

    
fieldName -> value of an indexed field
 
     public HashMap<StringObjectfields = new HashMap<>();
 
     private static final Conversion conv = Conversion.get();

    
Use only when removing instances from an indexed collection!
 
     public ConfigIndexFields(BeanId beanId) {
         this. = beanId;
     }
 
     public ConfigIndexFields(Bean bean) {
         Preconditions.checkNotNull(bean.getSchema(), "Schema must be available on bean.");
         this. = bean.getId();
         for (AbstractSchemaProperty prop : bean.getSchema().getIndexed()) {
             Object value = getValuesAsObject(propbean);
             if (value != null) {
                 .put(prop.getName(), value);
             }
         }
     }
 
     private Object getValuesAsObject(final AbstractSchemaProperty propertyfinal Bean bean) {
         String propertyName = property.getName();
         Object value = null;
         if (property instanceof SchemaProperty) {
             Class<?> cls = ((SchemaPropertyproperty).getClassType();
             List<Stringvalues = bean.getValues(propertyName);
             if (values != null && values.size() > 0) {
                 value = .convert(values.get(0), cls);
             }
         } else if (property instanceof SchemaPropertyList) {
             SchemaPropertyList list = (SchemaPropertyListproperty;
             Class<?> cls = list.getClassType();
             List<Stringvalues = bean.getValues(propertyName);
             if (values != null && values.size() > 0) {
                 value = .convert(valuescls);
             }
         } else if (property instanceof SchemaPropertyRef) {
             List<BeanIdids = bean.getReference(propertyName);
             if (ids != null && ids.size() > 0) {
                 value = ids.get(0).getInstanceId();
             }
         } else if (property instanceof SchemaPropertyRefList ||
                 property instanceof SchemaPropertyRefMap) {
             List<BeanIdids = bean.getReference(propertyName);
             if (ids != null) {
                 ArrayList<StringinstanceIds = new ArrayList<>();
                 for (BeanId id : ids) {
                     instanceIds.add(id.getInstanceId());
                 }
                 value = instanceIds;
             }
         } else {
             throw new IllegalArgumentException("Unrecognized property");
         }
         return value;
     }
 
     public BeanId getBeanId() {
         return ;
     }
 
     @Override
     public boolean equals(Object o) {
         if (this == oreturn true;
         if (o == null || getClass() != o.getClass()) return false;
 
         ConfigIndexFields that = (ConfigIndexFieldso;
 
         if ( != null ? !.equals(that.id) : that.id != nullreturn false;
 
         return true;
    }
    @Override
    public int hashCode() {
        return  != null ? .hashCode() : 0;
    }
    @Override
    public int compareTo(ConfigIndexFields o) {
        return 0;
    }
New to GrepCode? Check out our FAQ X