package com.jxml.quick.model.qiml;

import java.util.ArrayList;

/**
 * TargetEditor -
 * 
 * The targetEditor element specifies a JavaBean property editor to be used
 * in constructing an object and in expressing that object.
 * The text content is passed to the property editor when creating the object.
 * The element being defined must have neither attributes nor element content.
 */
public class TargetEditor implements Target {

    /**
     * The targetEditor piece attributes the property editor class.
     * 
When not present, targetClass will be used to determine
     * 
the editor class.
     */
    protected String editorClass_16;

    /**
     * The object constructed from an element (or attribute) will be
     * 
an instance of the class named by targetClass.
     * 
The element being defined must have neither attributes nor element
     * content.
     */
    protected String editorTargetClass_15;

    /** list of Value */
    protected ArrayList value_17 = new ArrayList();


    public TargetEditor() {
    }

    /** full constructor */
    public TargetEditor(String editorClass_16, String editorTargetClass_15, ArrayList value_17) {
        this.editorClass_16 = editorClass_16;
        this.editorTargetClass_15 = editorTargetClass_15;
        if (value_17 != null)    
            this.value_17 = value_17;
    }

    /** minimum constructor */
    public TargetEditor(String editorTargetClass_15) {
        this.editorTargetClass_15 = editorTargetClass_15;
    }

    /**
     * The targetEditor piece attributes the property editor class.
     * 
When not present, targetClass will be used to determine
     * 
the editor class.
     */
    public String getEditorClass_16() {
        return(editorClass_16);
    }

    /**
     * The targetEditor piece attributes the property editor class.
     * 
When not present, targetClass will be used to determine
     * 
the editor class.
     */
    public void setEditorClass_16(String editorClass_16) {
        this.editorClass_16 = editorClass_16;
    }

    /**
     * The object constructed from an element (or attribute) will be
     * 
an instance of the class named by targetClass.
     * 
The element being defined must have neither attributes nor element
     * content.
     */
    public String getEditorTargetClass_15() {
        return(editorTargetClass_15);
    }

    /**
     * The object constructed from an element (or attribute) will be
     * 
an instance of the class named by targetClass.
     * 
The element being defined must have neither attributes nor element
     * content.
     */
    public void setEditorTargetClass_15(String editorTargetClass_15) {
        this.editorTargetClass_15 = editorTargetClass_15;
    }

    /** list of Value */
    public ArrayList getValue_17() {
        return(value_17);
    }

    /** list of Value */
    public void setValue_17(ArrayList value_17) {
        this.value_17 = value_17;
    }

    public Value getValue(int i) {
        return((Value)value_17.get(i));
    }

    public void setValue(int i, Value value) {
        value_17.set(i, value);
    }

    public int valueCount() {
        return(value_17.size());
    }

    public void addValue(Value value) {
        value_17.add(value);
    }

}
