~ubuntu-branches/ubuntu/karmic/libxerces2-java/karmic

« back to all changes in this revision

Viewing changes to src/org/apache/xerces/impl/dv/ValidatedInfo.java

  • Committer: Bazaar Package Importer
  • Author(s): Stefan Gybas
  • Date: 2004-06-06 18:00:26 UTC
  • Revision ID: james.westby@ubuntu.com-20040606180026-a3vh56uc95hjbyfh
Tags: upstream-2.6.2
ImportĀ upstreamĀ versionĀ 2.6.2

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
 * The Apache Software License, Version 1.1
 
3
 *
 
4
 *
 
5
 * Copyright (c) 2001, 2002 The Apache Software Foundation.  All rights
 
6
 * reserved.
 
7
 *
 
8
 * Redistribution and use in source and binary forms, with or without
 
9
 * modification, are permitted provided that the following conditions
 
10
 * are met:
 
11
 *
 
12
 * 1. Redistributions of source code must retain the above copyright
 
13
 *    notice, this list of conditions and the following disclaimer.
 
14
 *
 
15
 * 2. Redistributions in binary form must reproduce the above copyright
 
16
 *    notice, this list of conditions and the following disclaimer in
 
17
 *    the documentation and/or other materials provided with the
 
18
 *    distribution.
 
19
 *
 
20
 * 3. The end-user documentation included with the redistribution,
 
21
 *    if any, must include the following acknowledgment:
 
22
 *       "This product includes software developed by the
 
23
 *        Apache Software Foundation (http://www.apache.org/)."
 
24
 *    Alternately, this acknowledgment may appear in the software itself,
 
25
 *    if and wherever such third-party acknowledgments normally appear.
 
26
 *
 
27
 * 4. The names "Xerces" and "Apache Software Foundation" must
 
28
 *    not be used to endorse or promote products derived from this
 
29
 *    software without prior written permission. For written
 
30
 *    permission, please contact apache@apache.org.
 
31
 *
 
32
 * 5. Products derived from this software may not be called "Apache",
 
33
 *    nor may "Apache" appear in their name, without prior written
 
34
 *    permission of the Apache Software Foundation.
 
35
 *
 
36
 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
 
37
 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
 
38
 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
 
39
 * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
 
40
 * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 
41
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 
42
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
 
43
 * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
 
44
 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
 
45
 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
 
46
 * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 
47
 * SUCH DAMAGE.
 
48
 * ====================================================================
 
49
 *
 
50
 * This software consists of voluntary contributions made by many
 
51
 * individuals on behalf of the Apache Software Foundation and was
 
52
 * originally based on software copyright (c) 1999, International
 
53
 * Business Machines, Inc., http://www.apache.org.  For more
 
54
 * information on the Apache Software Foundation, please see
 
55
 * <http://www.apache.org/>.
 
56
 */
 
57
 
 
58
package org.apache.xerces.impl.dv;
 
59
 
 
60
import org.apache.xerces.xs.ShortList;
 
61
 
 
62
/**
 
63
 * Class to get the information back after content is validated. This info
 
64
 * would be filled by validate().
 
65
 *
 
66
 * @author Neeraj Bajaj, Sun Microsystems, inc.
 
67
 *
 
68
 * @version $Id: ValidatedInfo.java,v 1.6 2003/11/12 23:17:32 sandygao Exp $
 
69
 */
 
70
public class ValidatedInfo {
 
71
 
 
72
    /**
 
73
     * The normalized value of a string value
 
74
     */
 
75
    public String normalizedValue;
 
76
 
 
77
    /**
 
78
     * The actual value from a string value (QName, Boolean, etc.)
 
79
     * An array of Objects if the type is a list.
 
80
     */
 
81
    public Object actualValue;
 
82
 
 
83
    /**
 
84
     * The type of the actual value. It's one of the _DT constants
 
85
     * defined in XSConstants.java. The value is used to indicate
 
86
     * the most specific built-in type.
 
87
     * (i.e. short instead of decimal or integer).
 
88
     */
 
89
    public short actualValueType;
 
90
 
 
91
    /**
 
92
     * If the type is a union type, then the member type which
 
93
     * actually validated the string value.
 
94
     */
 
95
    public XSSimpleType memberType;
 
96
 
 
97
    /**
 
98
     * If
 
99
     * 1. the type is a union type where one of the member types is a list, or
 
100
     *    if the type is a list; and
 
101
     * 2. the item type of the list is a union type
 
102
     * then an array of member types used to validate the values.
 
103
     */
 
104
    public XSSimpleType[] memberTypes;
 
105
 
 
106
    /**
 
107
     * In the case the value is a list or a list of unions, this value
 
108
     * indicates the type(s) of the items in the list.
 
109
     * For a normal list, the length of the array is 1; for list of unions,
 
110
     * the length of the array is the same as the length of the list.
 
111
     */
 
112
    public ShortList itemValueTypes;
 
113
 
 
114
    /**
 
115
     * reset the state of this object
 
116
     */
 
117
    public void reset() {
 
118
        this.normalizedValue = null;
 
119
        this.actualValue = null;
 
120
        this.memberType = null;
 
121
        this.memberTypes = null;
 
122
    }
 
123
    
 
124
    /**
 
125
     * Return a string representation of the value. If there is an actual
 
126
     * value, use toString; otherwise, use the normalized value.
 
127
     */
 
128
    public String stringValue() {
 
129
        if (actualValue == null)
 
130
            return normalizedValue;
 
131
        else
 
132
            return actualValue.toString();
 
133
    }
 
134
}