1/*
2 * reserved comment block
3 * DO NOT REMOVE OR ALTER!
4 */
5/*
6 * Licensed to the Apache Software Foundation (ASF) under one or more
7 * contributor license agreements.  See the NOTICE file distributed with
8 * this work for additional information regarding copyright ownership.
9 * The ASF licenses this file to You under the Apache License, Version 2.0
10 * (the "License"); you may not use this file except in compliance with
11 * the License.  You may obtain a copy of the License at
12 *
13 *      http://www.apache.org/licenses/LICENSE-2.0
14 *
15 * Unless required by applicable law or agreed to in writing, software
16 * distributed under the License is distributed on an "AS IS" BASIS,
17 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18 * See the License for the specific language governing permissions and
19 * limitations under the License.
20 */
21
22package com.sun.org.apache.xerces.internal.xs;
23
24/**
25 * This interface represents the Identity-constraint Definition schema
26 * component.
27 */
28public interface XSIDCDefinition extends XSObject {
29    // Identity Constraints
30    /**
31     * See the definition of <code>key</code> in the identity-constraint
32     * category.
33     */
34    public static final short IC_KEY                    = 1;
35    /**
36     * See the definition of <code>keyref</code> in the identity-constraint
37     * category.
38     */
39    public static final short IC_KEYREF                 = 2;
40    /**
41     * See the definition of <code>unique</code> in the identity-constraint
42     * category.
43     */
44    public static final short IC_UNIQUE                 = 3;
45
46    /**
47     * [identity-constraint category]: one of key, keyref or unique.
48     */
49    public short getCategory();
50
51    /**
52     * [selector]: a restricted XPath 1.0 expression.
53     */
54    public String getSelectorStr();
55
56    /**
57     * [fields]: a non-empty list of restricted  XPath 1.0 expressions.
58     */
59    public StringList getFieldStrs();
60
61    /**
62     * [referenced key]: required if [identity-constraint category] is keyref,
63     * <code>null</code> otherwise. An identity-constraint definition with [
64     * identity-constraint category] equal to key or unique.
65     */
66    public XSIDCDefinition getRefKey();
67
68    /**
69     * A sequence of [annotations] or an empty  <code>XSObjectList</code>.
70     */
71    public XSObjectList getAnnotations();
72
73}
74