001// Copyright 2007 The Apache Software Foundation 002// 003// Licensed under the Apache License, Version 2.0 (the "License"); 004// you may not use this file except in compliance with the License. 005// You may obtain a copy of the License at 006// 007// http://www.apache.org/licenses/LICENSE-2.0 008// 009// Unless required by applicable law or agreed to in writing, software 010// distributed under the License is distributed on an "AS IS" BASIS, 011// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 012// See the License for the specific language governing permissions and 013// limitations under the License. 014 015package org.apache.tapestry5.beanmodel; 016 017import java.lang.reflect.Method; 018import java.lang.reflect.Type; 019 020import org.apache.tapestry5.beanmodel.services.PropertyConduitSource; 021 022 023/** 024 * Extension to {@link PropertyConduit} that adds a method to access the generic property type. 025 * {@link PropertyConduitSource} instances should ideally return PropertyConduit2 objects, not PropertyConduit. 026 * This is only primarily of interest to <a href="https://tapestry.apache.org/current/apidocs/org/apache/tapestry5/Binding2.html">Binding2</a>. 027 * 028 * @since 5.4 029 */ 030public interface PropertyConduit2 extends PropertyConduit 031{ 032 /** 033 * Returns the generic type of the property 034 * 035 * @see Method#getGenericReturnType() 036 * @see java.lang.reflect.Field#getGenericType() 037 * 038 */ 039 Type getPropertyGenericType(); 040}