Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  package org.s1.objects.schema;
  
  
  import java.util.Arrays;
  import java.util.List;
  import java.util.Map;

Map attribute
 
 public class MapAttribute extends ObjectSchemaAttribute<Map<StringObject>> {
 
     protected List<ObjectSchemaAttributeattributes;
 
     MapAttribute(){
     }

    

Parameters:
name
label
args
 
     public MapAttribute(String nameString label, ObjectSchemaAttribute... args) {
         super(name,label,"Map");
         this. = Arrays.asList(args);
         updateChildSchemaAndParent();
     }

    

Parameters:
name
label
args
 
     public MapAttribute(String nameString labelList<ObjectSchemaAttributeargs) {
         super(namelabel"Map");
         if(args!=null)
             this. = args;
         updateChildSchemaAndParent();
     }
 
     @Override
     public ObjectSchemaAttribute copyAndReset() {
         MapAttribute a = (MapAttribute)super.copyAndReset();
         a.attributes = Objects.newArrayList();
         for(ObjectSchemaAttribute a1:){
             a.attributes.add(a1.copyAndReset());
         }
         return a;
     }
 
     @Override
     protected void validateType(boolean expandboolean deepMap<StringObjectctxboolean quitethrows Exception {
         if ( != null && !( instanceof Map)) {
             throw new Exception("Data is not map");
         }
         if ( != null) {
             List<ObjectSchemaAttributeattrs = Objects.newArrayList();
             for (ObjectSchemaAttribute a : ) {
                 Object dt = .containsKey(a.getName()) ? .get(a.getName()) : null;
                 ObjectSchemaAttribute va = a.validate(dtexpanddeepctxquite);
                 if (va.getData() == null)
                     .remove(a.getName());
                 else
                     .put(a.getName(), va.getData());
                 attrs.add(va);
             }
              = attrs;
         }
     }
 
     protected void updateChildSchemaAndParent() {
         for (ObjectSchemaAttribute a : ) {
             a.setParent(this);
             a.setSchema(this.);
             a.updateChildSchemaAndParent();
         }
     }
 
     void fromMap(Map<StringObjectmthrows ObjectSchemaFormatException {
         super.fromMap(m);
 
         List<Map<StringObject>> attrs = Objects.get(m"attributes");
         attrs = Objects.copy(attrs);
         this. = Objects.newArrayList();
         if (!Objects.isNullOrEmpty(attrs)) {
             for (Map<StringObjecta : attrs) {
                 .add(ObjectSchemaAttribute.createFromMap(a));
             }
         }
         updateChildSchemaAndParent();
     }
 
     public Map<StringObjecttoMap() {
         Map<StringObjectm = super.toMap();
         List<Map<StringObject>> attrs = Objects.newArrayList();
         for (ObjectSchemaAttribute a : ) {
            attrs.add(a.toMap());
        }
        m.put("attributes"attrs);
        return Objects.copy(m);
    }

    

Returns:
        return ;
    }

    

Parameters:
attributes
    public void setAttributes(List<ObjectSchemaAttributeattributes) {
        if(attributes!=null)
            this. = Objects.newArrayList();
        else
            this. = Objects.newArrayList();
    }
New to GrepCode? Check out our FAQ X