KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > jboss > xb > binding > metadata > SchemaMetaData


1 /*
2   * JBoss, Home of Professional Open Source
3   * Copyright 2005, JBoss Inc., and individual contributors as indicated
4   * by the @authors tag. See the copyright.txt in the distribution for a
5   * full listing of individual contributors.
6   *
7   * This is free software; you can redistribute it and/or modify it
8   * under the terms of the GNU Lesser General Public License as
9   * published by the Free Software Foundation; either version 2.1 of
10   * the License, or (at your option) any later version.
11   *
12   * This software is distributed in the hope that it will be useful,
13   * but WITHOUT ANY WARRANTY; without even the implied warranty of
14   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15   * Lesser General Public License for more details.
16   *
17   * You should have received a copy of the GNU Lesser General Public
18   * License along with this software; if not, write to the Free
19   * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
20   * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
21   */

22 package org.jboss.xb.binding.metadata;
23
24 import java.util.Map JavaDoc;
25 import java.util.Collections JavaDoc;
26 import java.util.HashMap JavaDoc;
27
28 /**
29  * Metadata for the SchemaBinding instance.
30  *
31  * @author <a HREF="mailto:alex@jboss.org">Alexey Loubyansky</a>
32  * @version <tt>$Revision: 1958 $</tt>
33  */

34 public class SchemaMetaData
35 {
36    private PackageMetaData packageMetaData;
37    private Map JavaDoc values = Collections.EMPTY_MAP;
38    private boolean ignoreUnresolvedFieldOrClass = true;
39    private boolean replacePropertyRefs = true;
40
41    public boolean isIgnoreUnresolvedFieldOrClass()
42    {
43       return ignoreUnresolvedFieldOrClass;
44    }
45    public void setIgnoreUnresolvedFieldOrClass(boolean flag)
46    {
47       this.ignoreUnresolvedFieldOrClass = flag;
48    }
49
50    public boolean isReplacePropertyRefs()
51    {
52       return replacePropertyRefs;
53    }
54    public void setReplacePropertyRefs(boolean flag)
55    {
56       this.replacePropertyRefs = flag;
57    }
58
59    public PackageMetaData getPackage()
60    {
61       return packageMetaData;
62    }
63
64    public void setPackage(PackageMetaData pkg)
65    {
66       this.packageMetaData = pkg;
67    }
68
69    public ValueMetaData getValue(String JavaDoc id)
70    {
71       return (ValueMetaData)values.get(id);
72    }
73
74    public void addValue(ValueMetaData value)
75    {
76       if(value.getId() == null)
77       {
78          throw new IllegalArgumentException JavaDoc("ValueMetaData must have a non-null id.");
79       }
80
81       switch(values.size())
82       {
83          case 0:
84             values = Collections.singletonMap(value.getId(), value);
85             break;
86          case 1:
87             values = new HashMap JavaDoc(values);
88          default:
89             values.put(value.getId(), value);
90       }
91    }
92 }
93
Popular Tags