1/* 2 * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * This code is free software; you can redistribute it and/or modify it 6 * under the terms of the GNU General Public License version 2 only, as 7 * published by the Free Software Foundation. Oracle designates this 8 * particular file as subject to the "Classpath" exception as provided 9 * by Oracle in the LICENSE file that accompanied this code. 10 * 11 * This code is distributed in the hope that it will be useful, but WITHOUT 12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 14 * version 2 for more details (a copy is included in the LICENSE file that 15 * accompanied this code). 16 * 17 * You should have received a copy of the GNU General Public License version 18 * 2 along with this work; if not, write to the Free Software Foundation, 19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 20 * 21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 22 * or visit www.oracle.com if you need additional information or have any 23 * questions. 24 */ 25 26package com.sun.xml.internal.xsom.impl; 27 28import com.sun.xml.internal.xsom.XSFacet; 29import com.sun.xml.internal.xsom.XSListSimpleType; 30import com.sun.xml.internal.xsom.XSSimpleType; 31import com.sun.xml.internal.xsom.XSVariety; 32import com.sun.xml.internal.xsom.impl.parser.SchemaDocumentImpl; 33import com.sun.xml.internal.xsom.visitor.XSSimpleTypeFunction; 34import com.sun.xml.internal.xsom.visitor.XSSimpleTypeVisitor; 35import org.xml.sax.Locator; 36 37import java.util.Collections; 38import java.util.List; 39import java.util.Set; 40 41public class ListSimpleTypeImpl extends SimpleTypeImpl implements XSListSimpleType 42{ 43 public ListSimpleTypeImpl( SchemaDocumentImpl _parent, 44 AnnotationImpl _annon, Locator _loc, ForeignAttributesImpl _fa, 45 String _name, boolean _anonymous, Set<XSVariety> finalSet, 46 Ref.SimpleType _itemType ) { 47 48 super(_parent,_annon,_loc,_fa,_name,_anonymous, finalSet, 49 _parent.getSchema().parent.anySimpleType); 50 51 this.itemType = _itemType; 52 } 53 54 private final Ref.SimpleType itemType; 55 public XSSimpleType getItemType() { return itemType.getType(); } 56 57 public void visit( XSSimpleTypeVisitor visitor ) { 58 visitor.listSimpleType(this); 59 } 60 public Object apply( XSSimpleTypeFunction function ) { 61 return function.listSimpleType(this); 62 } 63 64 // list type by itself doesn't have any facet. */ 65 public XSFacet getFacet( String name ) { return null; } 66 public List<XSFacet> getFacets( String name ) { return Collections.EMPTY_LIST; } 67 68 public XSVariety getVariety() { return XSVariety.LIST; } 69 70 public XSSimpleType getPrimitiveType() { return null; } 71 72 public XSListSimpleType getBaseListType() {return this;} 73 74 public boolean isList() { return true; } 75 public XSListSimpleType asList() { return this; } 76} 77