blob: 9cfe27dba9681e6a7c9e534439a4ddcdb95e7f88 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2006 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* IBM Corporation - initial API and implementation
* yyyymmdd bug Email and other contact information
* -------- -------- -----------------------------------------------------------
* 20060419 132905 cbrealey@ca.ibm.com - Chris Brealey
*******************************************************************************/
package org.eclipse.jst.ws.internal.conformance;
import org.eclipse.jdt.core.IMethod;
import org.eclipse.jdt.core.IType;
/**
* @author cbrealey
* This object represents a simple or indexed property
* as defined by the Java Bean specification. Every
* IJavaBeanProperty is characterized by four things:
* <ol>
* <li>The name of the property.</li>
* <li>Whether or not the property is indexed.</li>
* <li>The JDT IMethod of the getter, if any.</li>
* <li>The JDT IMethod of the setter, if any.</li>
* </ol>
*/
public interface IJavaBeanProperty
{
/**
* Returns the name of the property.
* @return The name of the property.
*/
public String getName ();
/**
* Returns true if and only if the property is indexed.
* @return True if and only if the property is indexed.
*/
public boolean isIndexed ();
/**
* Returns the JDT IMethod of the getter.
* For indexed properties,
* the return type of the getter will be an array.
* For simple properties,
* the return type of the getter will not be an array.
* @return The JDT IMethod of the getter,
* or null if this is a write-only property.
*/
public IMethod getGetter ();
/**
* Returns the JDT IMethod of the indexed getter,
* or null if this is either not an indexed property,
* or is an indexed property but has only the array-
* based getter.
* @return The JDT IMethod of the indexed getter,
* or null if this is not an indexed property or
* if there is no indexed getter.
*/
public IMethod getIndexedGetter ();
/**
* Returns the JDT IMethod of the setter.
* For indexed properties,
* the parameter type of the setter will be an array.
* For simple properties,
* the parameter type of the setter will not be an array.
* @return The JDT IMethod of the setter,
* or null if this is a read-only property.
*/
public IMethod getSetter ();
/**
* Returns the JDT IMethod of the indexed setter,
* or null if this is either not an indexed property,
* or is an indexed property but has only the array-
* based setter.
* @return The JDT IMethod of the indexed setter,
* or null if this is not an indexed property or
* if there is no indexed setter.
*/
public IMethod getIndexedSetter ();
/**
* Returns the type within which the getter and/or setter
* of this property is declared, or null if none.
* @return The type within which the getter and/or setter
* of this property is declared.
*/
public IType getDeclaringType ();
}