source: fedd/abac-src/rtml/src/edu/stanford/rt/datatype/StringType.java @ 8780cbec

axis_examplecompt_changesinfo-opsversion-1.30version-2.00version-3.01version-3.02
Last change on this file since 8780cbec was 8780cbec, checked in by Jay Jacobs <Jay.Jacobs@…>, 15 years ago

ABAC sources from Cobham

  • Property mode set to 100644
File size: 1.9 KB
Line 
1package edu.stanford.rt.datatype;
2
3/**
4 * @author Ninghui Li, Sandra Qiu<br>
5 *
6 * Implementation of <code>StringType</code> element
7 *
8 */
9public class StringType extends OrderedType
10{
11        private boolean ignoreCase;
12        private boolean ordered;
13
14    /**
15     * Constructor for StringType.
16     */
17        public StringType(
18                String name,
19                boolean ignoreCase,
20                boolean ordered)
21        {
22                super(name);
23                this.ignoreCase = ignoreCase;
24                this.ordered = ordered;
25        }
26
27
28        /* (non-Javadoc)
29         * @see edu.stanford.rt.datatype.SimpleType#isValidValue(DataValue)
30         */
31        public boolean isValidValue(DataValue value)
32        {
33                if (!(value instanceof StringValue))
34                        return false;
35                return true;
36        }
37
38        /* (non-Javadoc)
39         * @see edu.stanford.rt.datatype.OrderedType#compares(DataValue, DataValue)
40         */
41        public int compares(DataValue value1, DataValue value2)
42        {
43                if (!(value1 instanceof StringValue)
44                        || !(value2 instanceof StringValue))
45                        throw new IllegalArgumentException("Wrong argument type");
46
47                String val1 = ((StringValue) value1).getValue();
48                String val2 = ((StringValue) value2).getValue();
49
50                if (ignoreCase)
51                        return val1.toLowerCase().compareTo(val2.toLowerCase());
52                else
53                        return val1.compareTo(val2);
54        }
55
56        /**
57         * Method isIgnoreCase.
58         * @return boolean
59         */
60        public boolean isIgnoreCase()
61        {
62                return ignoreCase;
63        }
64        /**
65         * Method isOrdered.
66         * @return boolean
67         */
68        public boolean isOrdered()
69        {
70                return ordered;
71        }
72
73        /* (non-Javadoc)
74         * @see edu.stanford.rt.datatype.DataType#toString(String)
75         */
76        public String toString(String indent)
77        {
78                String thisIndent = indent + "  ";
79                StringBuffer sb = new StringBuffer();
80
81                sb
82                        .append(thisIndent)
83                        .append("StringType: ")
84                        .append(getName())
85                        .append("  ")
86                        .append("ignoreCase = ")
87                        .append(ignoreCase)
88                        .append("  ")
89                        .append("ordered = ")
90                        .append(ordered)
91                        .append("\n");
92
93                return sb.toString();
94        }
95
96}
Note: See TracBrowser for help on using the repository browser.