Author: simonetripodi Date: Wed Jan 6 15:25:38 2010 New Revision: 896477 URL: http://svn.apache.org/viewvc?rev=896477&view=rev Log: Initial checkin for the StackCallParam annotation
Added: commons/sandbox/at-digester/trunk/src/main/java/org/apache/commons/digester/annotations/StackCallParam.java (with props) Added: commons/sandbox/at-digester/trunk/src/main/java/org/apache/commons/digester/annotations/StackCallParam.java URL: http://svn.apache.org/viewvc/commons/sandbox/at-digester/trunk/src/main/java/org/apache/commons/digester/annotations/StackCallParam.java?rev=896477&view=auto ============================================================================== --- commons/sandbox/at-digester/trunk/src/main/java/org/apache/commons/digester/annotations/StackCallParam.java (added) +++ commons/sandbox/at-digester/trunk/src/main/java/org/apache/commons/digester/annotations/StackCallParam.java Wed Jan 6 15:25:38 2010 @@ -0,0 +1,70 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.commons.digester.annotations; + +import java.lang.annotation.Documented; +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +import org.apache.commons.digester.CallParamRule; + +/** + * Methods arguments annotated with {...@code StackCallParam} will be bound + * with {...@code CallParamRule} digester rule. + * + * @author Simone Tripodi (simonetripodi) + * @version $Id$ + * @see {...@link org.apache.commons.digester.Digester#addCallParam(String, int, int)} + */ +...@documented +...@retention(RetentionPolicy.RUNTIME) +...@target(ElementType.PARAMETER) +...@digesterrule( + reflectsRule = CallParamRule.class +) +public @interface StackCallParam { + + /** + * The element matching pattern. + * + * @return the element matching pattern. + */ + String pattern() default ""; + + /** + * The call parameter to the stackIndex'th object down the stack, where 0 is + * the top of the stack, 1 the next element down and so on. + * + * @return the stackIndex'th object down the stack. + */ + int stackIndex() default 0; + + /** + * Defines several @StackCallParam annotations on the same element. + * + * @see {...@link StackCallParam} + */ + @Documented + @Retention(RetentionPolicy.RUNTIME) + @Target(ElementType.TYPE) + @interface List { + StackCallParam[] value(); + } + +} Propchange: commons/sandbox/at-digester/trunk/src/main/java/org/apache/commons/digester/annotations/StackCallParam.java ------------------------------------------------------------------------------ svn:keywords = Date Rev Author Id