Start line:  
End line:  

Snippet Preview

Snippet HTML Code

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

s1v2 User: GPykhov Date: 11.01.14 Time: 17:17
 
 public class ListAttribute extends ObjectSchemaAttribute<List<Object>> {
 
     protected List<ObjectSchemaAttributelist;
 
     protected int min;
     protected int max;
     protected ObjectSchemaAttribute element;
 
     ListAttribute(){
     }
 
     public ListAttribute(String nameString labelObjectSchemaAttribute element) {
         super(namelabel"List");
         if(element!=null)
             this. = element;
         else
             this. = new SimpleTypeAttribute(null,null,Object.class);
         updateChildSchemaAndParent();
     }
 
     public ListAttribute(String nameString labelObjectSchemaAttribute elementint minint max) {
         this(namelabelelement);
         this. = min;
         this. = max;
     }
 
     @Override
     public ObjectSchemaAttribute copyAndReset() {
         ListAttribute a = (ListAttribute)super.copyAndReset();
         a.element = .copyAndReset();
         return a;
     }
 
     @Override
     protected void validateType(boolean expandboolean deepMap<StringObjectctxboolean quitethrows Exception {
         if ( != null && !( instanceof List)) {
             throw new Exception("Data is not list");
         }
 
         if ( != null) {
 
             if ( > 0 && .size() < ) {
                 throw new Exception("Shorter than min");
             }
             if ( > 0 && .size() > ) {
                 throw new Exception("Longer than max");
             }
 
              = Objects.newArrayList();
             for (int i = 0; i < .size(); i++) {
                 ObjectSchemaAttribute el = .copyAndReset();
                 el.label = "" + i;
                 el.name = "" + i;
                 el.required = true;
                 el.denied = false;
                 el.nonPresent = false;
                 el.setParent(this);
                 el.setSchema();
                 .add(el);
             }
             for (int i = 0; i < .size(); i++) {
                 ObjectSchemaAttribute el = .get(i);
                 ObjectSchemaAttribute va = el.validate(.get(i), expanddeepctxquite);
                 .set(iva.getData());
             }
         }
     }
 
     @Override
     protected void updateChildSchemaAndParent() {
         .setParent(this);
         .setSchema(this.);
         if(!=null){
             for(ObjectSchemaAttribute a:){
                 a.setSchema(this.);
                 a.setParent(this);
                 a.updateChildSchemaAndParent();
             }
         }
     }
 
     void fromMap(Map<StringObjectmthrows ObjectSchemaFormatException {
         super.fromMap(m);
 
         this. = Objects.cast(Objects.get(m"min", 0), Integer.class);
        this. = Objects.cast(Objects.get(m"max", 0), Integer.class);
        this. = null;
        Map<StringObjectel = Objects.get(m"element");
        el = Objects.copy(el);
        if (Objects.isNullOrEmpty(el)) {
            this. = new SimpleTypeAttribute(null,null,Object.class);
        }else{
            this. = ObjectSchemaAttribute.createFromMap(el);
            this.. = null;
            this.. = null;
        }
    }
    public Map<StringObjecttoMap() {
        Map<StringObjectm = super.toMap();
        m.put("min");
        m.put("max");
        Map<StringObjectel = .toMap();
        el.remove("name");
        el.remove("label");
        el.remove("appearance");
        m.put("element"el);
        if(!=null){
            List<Map<StringObject>> attrs = Objects.newArrayList();
            for (ObjectSchemaAttribute a : ) {
                attrs.add(a.toMap());
            }
            m.put("list"attrs);
        }
        return m;
    }
    public List<ObjectSchemaAttributegetList() {
        return ;
    }
    public int getMin() {
        return ;
    }
    public int getMax() {
        return ;
    }
    public ObjectSchemaAttribute getElement() {
        return ;
    }
    public void setMin(int min) {
        this. = min;
    }
    public void setMax(int max) {
        this. = max;
    }
    public void setElement(ObjectSchemaAttribute element) {
        if(element!=null)
            this. = element;
        else
            this. = new SimpleTypeAttribute(null,null,Object.class);
    }
New to GrepCode? Check out our FAQ X