001/*
002 * Copyright (c) 2004-2007 by Michael Connor. All Rights Reserved.
003 *
004 * Redistribution and use in source and binary forms, with or without
005 * modification, are permitted provided that the following conditions are met:
006 *
007 *  o Redistributions of source code must retain the above copyright notice,
008 *    this list of conditions and the following disclaimer.
009 *
010 *  o Redistributions in binary form must reproduce the above copyright notice,
011 *    this list of conditions and the following disclaimer in the documentation
012 *    and/or other materials provided with the distribution.
013 *
014 *  o Neither the name of FormLayoutBuilder or Michael Connor nor the names of
015 *    its contributors may be used to endorse or promote products derived
016 *    from this software without specific prior written permission.
017 *
018 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
019 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
020 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
021 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
022 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
023 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
024 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
025 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
026 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
027 * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
028 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
029 */
030package org.mlc.swing.layout;
031
032import java.util.List;
033
034/**
035 * This represents a property in the ComponentBuilder. This is kind of a hack
036 * and this really should be done simply using introspection and property
037 * editors. It is simple though and works for now...
038 *
039 * @author Michael Connor mlconnor@yahoo.com
040@version $Id$
041@since Ptolemy II 8.0
042 */
043public class BeanProperty {
044    String name;
045
046    Class type;
047
048    List<Object> possibleValues;
049
050    /** Creates a new instance of BeanProperty */
051    public BeanProperty(String name, Class type, List<Object> possibleValues) {
052        this.name = name;
053        this.type = type;
054        this.possibleValues = possibleValues;
055    }
056
057    public BeanProperty(String name, Class type) {
058        this(name, type, null);
059    }
060
061    /**
062     * Registers the value of the name property
063     *
064     * @param name
065     *          The value of the property
066     */
067    public void setName(String name) {
068        this.name = name;
069    }
070
071    /**
072     * Returns the value of the name property
073     *
074     * @return The value
075     */
076    public String getName() {
077        return this.name;
078    }
079
080    /**
081     * Registers the value of the type property
082     *
083     * @param type
084     *          The value of the property
085     */
086    public void setType(Class type) {
087        this.type = type;
088    }
089
090    /**
091     * Returns the value of the type property
092     *
093     * @return The value
094     */
095    public Class getType() {
096        return this.type;
097    }
098
099}