KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > archive > crawler > settings > SimpleType


1 /* SimpleType
2  *
3  * $Id: SimpleType.java,v 1.2.28.1 2007/01/13 01:31:27 stack-sf Exp $
4  *
5  * Created on Jan 8, 2004
6  *
7  * Copyright (C) 2004 Internet Archive.
8  *
9  * This file is part of the Heritrix web crawler (crawler.archive.org).
10  *
11  * Heritrix is free software; you can redistribute it and/or modify
12  * it under the terms of the GNU Lesser Public License as published by
13  * the Free Software Foundation; either version 2.1 of the License, or
14  * any later version.
15  *
16  * Heritrix is distributed in the hope that it will be useful,
17  * but WITHOUT ANY WARRANTY; without even the implied warranty of
18  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19  * GNU Lesser Public License for more details.
20  *
21  * You should have received a copy of the GNU Lesser Public License
22  * along with Heritrix; if not, write to the Free Software
23  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
24  */

25 package org.archive.crawler.settings;
26
27 /**
28  * A type that holds a Java type.
29  *
30  * @author John Erik Halse
31  *
32  */

33 public class SimpleType extends Type {
34
35     private static final long serialVersionUID = -5134952907004648419L;
36
37     private final String JavaDoc description;
38     private Object JavaDoc[] legalValues = null;
39
40     /**
41      * Create a new instance of SimpleType.
42      *
43      * @param name the name of the type.
44      * @param description a description suitable for the UI.
45      * @param defaultValue the default value for this type. This also set what
46      * kind of Java type that this Type can hold.
47      */

48     public SimpleType(String JavaDoc name, String JavaDoc description, Object JavaDoc defaultValue) {
49         super(name, defaultValue);
50         this.description = description;
51     }
52
53     /**
54      * Create a new instance of SimpleType.
55      *
56      * @param name the name of the type.
57      * @param description a description suitable for the UI.
58      * @param defaultValue the default value for this type. This also set what
59      * kind of Java type that this Type can hold.
60      * @param legalValues an array of legal values for this simple type. The
61      * objects in this array must be of the same type as the default
62      * value.
63      */

64     public SimpleType(String JavaDoc name, String JavaDoc description, Object JavaDoc defaultValue,
65             Object JavaDoc[] legalValues) {
66         this(name, description, defaultValue);
67         setLegalValues(legalValues);
68     }
69
70     /* (non-Javadoc)
71      * @see org.archive.crawler.settings.Type#getDescription()
72      */

73     public String JavaDoc getDescription() {
74         return description;
75     }
76
77     /* (non-Javadoc)
78      * @see org.archive.crawler.settings.Type#getDefaultValue()
79      */

80     public Object JavaDoc getDefaultValue() {
81         return getValue();
82     }
83
84     /**
85      * Get the array of legal values for this Type.
86      */

87     public Object JavaDoc[] getLegalValues() {
88         return legalValues;
89     }
90
91     /**
92      * Set the array of legal values for this type.
93      * <p>
94      *
95      * The objects in this array must be of the same type as the default value.
96      *
97      * @param legalValues
98      */

99     public void setLegalValues(Object JavaDoc[] legalValues) {
100         this.legalValues = legalValues;
101         if (legalValues != null) {
102             addConstraint(new LegalValueListConstraint());
103         }
104     }
105 }
106
Popular Tags