XSFunctionFilter.java revision 524:dcaa586ab756
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.util; 27 28import com.sun.xml.internal.xsom.XSAnnotation; 29import com.sun.xml.internal.xsom.XSAttGroupDecl; 30import com.sun.xml.internal.xsom.XSAttributeDecl; 31import com.sun.xml.internal.xsom.XSAttributeUse; 32import com.sun.xml.internal.xsom.XSComplexType; 33import com.sun.xml.internal.xsom.XSContentType; 34import com.sun.xml.internal.xsom.XSElementDecl; 35import com.sun.xml.internal.xsom.XSFacet; 36import com.sun.xml.internal.xsom.XSModelGroup; 37import com.sun.xml.internal.xsom.XSModelGroupDecl; 38import com.sun.xml.internal.xsom.XSNotation; 39import com.sun.xml.internal.xsom.XSParticle; 40import com.sun.xml.internal.xsom.XSSchema; 41import com.sun.xml.internal.xsom.XSSimpleType; 42import com.sun.xml.internal.xsom.XSWildcard; 43import com.sun.xml.internal.xsom.XSIdentityConstraint; 44import com.sun.xml.internal.xsom.XSXPath; 45import com.sun.xml.internal.xsom.visitor.XSFunction; 46 47/** 48 * Filter implementation of XSFilter. 49 * This class forwards all the method calls to another XSFunction. 50 * 51 * <p> 52 * This class is intended to be derived by client application 53 * to add some meaningful behavior. 54 * 55 * @author 56 * Kohsuke Kawaguchi (kohsuke.kawaguchi@sun.com) 57 */ 58public class XSFunctionFilter<T> implements XSFunction<T> { 59 60 /** This object will receive all forwarded calls. */ 61 protected XSFunction<T> core; 62 63 public XSFunctionFilter( XSFunction<T> _core ) { 64 this.core = _core; 65 } 66 67 public XSFunctionFilter() {} 68 69 public T annotation(XSAnnotation ann) { 70 return core.annotation(ann); 71 } 72 73 public T attGroupDecl(XSAttGroupDecl decl) { 74 return core.attGroupDecl(decl); 75 } 76 77 public T attributeDecl(XSAttributeDecl decl) { 78 return core.attributeDecl(decl); 79 } 80 81 public T attributeUse(XSAttributeUse use) { 82 return core.attributeUse(use); 83 } 84 85 public T complexType(XSComplexType type) { 86 return core.complexType(type); 87 } 88 89 public T schema(XSSchema schema) { 90 return core.schema(schema); 91 } 92 93 public T facet(XSFacet facet) { 94 return core.facet(facet); 95 } 96 97 public T notation(XSNotation notation) { 98 return core.notation(notation); 99 } 100 101 public T simpleType(XSSimpleType simpleType) { 102 return core.simpleType(simpleType); 103 } 104 105 public T particle(XSParticle particle) { 106 return core.particle(particle); 107 } 108 109 public T empty(XSContentType empty) { 110 return core.empty(empty); 111 } 112 113 public T wildcard(XSWildcard wc) { 114 return core.wildcard(wc); 115 } 116 117 public T modelGroupDecl(XSModelGroupDecl decl) { 118 return core.modelGroupDecl(decl); 119 } 120 121 public T modelGroup(XSModelGroup group) { 122 return core.modelGroup(group); 123 } 124 125 public T elementDecl(XSElementDecl decl) { 126 return core.elementDecl(decl); 127 } 128 129 public T identityConstraint(XSIdentityConstraint decl) { 130 return core.identityConstraint(decl); 131 } 132 133 public T xpath(XSXPath xpath) { 134 return core.xpath(xpath); 135 } 136} 137