1cf936e33SAndre Fischer /**************************************************************
2cf936e33SAndre Fischer *
3cf936e33SAndre Fischer * Licensed to the Apache Software Foundation (ASF) under one
4cf936e33SAndre Fischer * or more contributor license agreements.  See the NOTICE file
5cf936e33SAndre Fischer * distributed with this work for additional information
6cf936e33SAndre Fischer * regarding copyright ownership.  The ASF licenses this file
7cf936e33SAndre Fischer * to you under the Apache License, Version 2.0 (the
8cf936e33SAndre Fischer * "License"); you may not use this file except in compliance
9cf936e33SAndre Fischer * with the License.  You may obtain a copy of the License at
10cf936e33SAndre Fischer *
11cf936e33SAndre Fischer *   http://www.apache.org/licenses/LICENSE-2.0
12cf936e33SAndre Fischer *
13cf936e33SAndre Fischer * Unless required by applicable law or agreed to in writing,
14cf936e33SAndre Fischer * software distributed under the License is distributed on an
15cf936e33SAndre Fischer * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16cf936e33SAndre Fischer * KIND, either express or implied.  See the License for the
17cf936e33SAndre Fischer * specific language governing permissions and limitations
18cf936e33SAndre Fischer * under the License.
19cf936e33SAndre Fischer *
20cf936e33SAndre Fischer *************************************************************/
21cf936e33SAndre Fischer 
22cf936e33SAndre Fischer package org.apache.openoffice.ooxml.schema.model.attribute;
23cf936e33SAndre Fischer 
24cf936e33SAndre Fischer import org.apache.openoffice.ooxml.schema.model.base.INodeVisitor;
25cf936e33SAndre Fischer import org.apache.openoffice.ooxml.schema.model.base.Location;
26cf936e33SAndre Fischer import org.apache.openoffice.ooxml.schema.model.base.NodeType;
27cf936e33SAndre Fischer import org.apache.openoffice.ooxml.schema.model.base.QualifiedName;
28*62886075SAndre Fischer import org.apache.openoffice.ooxml.schema.parser.FormDefault;
29cf936e33SAndre Fischer 
30cf936e33SAndre Fischer /* Representation of a single attribute.
31cf936e33SAndre Fischer  */
32cf936e33SAndre Fischer public class Attribute
33cf936e33SAndre Fischer     extends AttributeBase
34cf936e33SAndre Fischer {
Attribute( final QualifiedName aName, final QualifiedName aTypeName, final String sUse, final String sDefault, final String sFixed, final FormDefault eFormDefault, final Location aLocation)35cf936e33SAndre Fischer     public Attribute (
36cf936e33SAndre Fischer         final QualifiedName aName,
37cf936e33SAndre Fischer         final QualifiedName aTypeName,
38cf936e33SAndre Fischer         final String sUse,
39cf936e33SAndre Fischer         final String sDefault,
40cf936e33SAndre Fischer         final String sFixed,
41*62886075SAndre Fischer         final FormDefault eFormDefault,
42cf936e33SAndre Fischer         final Location aLocation)
43cf936e33SAndre Fischer     {
44*62886075SAndre Fischer         super(aName, sUse, sDefault, sFixed, eFormDefault, aLocation);
45cf936e33SAndre Fischer         maTypeName = aTypeName;
46cf936e33SAndre Fischer     }
47cf936e33SAndre Fischer 
48cf936e33SAndre Fischer 
49cf936e33SAndre Fischer 
50cf936e33SAndre Fischer 
GetTypeName()51cf936e33SAndre Fischer     public QualifiedName GetTypeName ()
52cf936e33SAndre Fischer     {
53cf936e33SAndre Fischer         return maTypeName;
54cf936e33SAndre Fischer     }
55cf936e33SAndre Fischer 
56cf936e33SAndre Fischer 
57cf936e33SAndre Fischer 
58cf936e33SAndre Fischer 
59cf936e33SAndre Fischer     @Override
GetNodeType()60cf936e33SAndre Fischer     public NodeType GetNodeType ()
61cf936e33SAndre Fischer     {
62cf936e33SAndre Fischer         return NodeType.Attribute;
63cf936e33SAndre Fischer     }
64cf936e33SAndre Fischer 
65cf936e33SAndre Fischer 
66cf936e33SAndre Fischer 
67cf936e33SAndre Fischer 
68cf936e33SAndre Fischer     @Override
AcceptVisitor(final INodeVisitor aVisitor)69cf936e33SAndre Fischer     public void AcceptVisitor (final INodeVisitor aVisitor)
70cf936e33SAndre Fischer     {
71cf936e33SAndre Fischer         aVisitor.Visit(this);
72cf936e33SAndre Fischer     }
73cf936e33SAndre Fischer 
74*62886075SAndre Fischer 
75*62886075SAndre Fischer 
76*62886075SAndre Fischer 
77cf936e33SAndre Fischer     @Override
toString()78cf936e33SAndre Fischer     public String toString ()
79cf936e33SAndre Fischer     {
80cf936e33SAndre Fischer         return String.format(
81cf936e33SAndre Fischer             "attribute %s of type %s, %s",
82cf936e33SAndre Fischer             GetName().GetDisplayName(),
83cf936e33SAndre Fischer             maTypeName.GetDisplayName(),
84cf936e33SAndre Fischer             super.toString());
85cf936e33SAndre Fischer     }
86cf936e33SAndre Fischer 
87cf936e33SAndre Fischer 
88cf936e33SAndre Fischer 
89cf936e33SAndre Fischer 
90cf936e33SAndre Fischer     private final QualifiedName maTypeName;
91cf936e33SAndre Fischer }
92