Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.tapestry5.internal.plastic
Class InheritanceData

    java.lang.Object
      org.apache.tapestry5.internal.plastic.InheritanceData

    public class InheritanceData

extends java.lang.Object

Used to track which methods are implemented by a base class, which is often needed when transforming a subclass.

Constructor Summary
`InheritanceData()`

Method Summary
`void` | `addInterface(java.lang.String name)`
`void` | `addMethod(java.lang.String name, java.lang.String desc)` Adds a new instance method.
`InheritanceData` | `createChild(java.lang.String childClassName)` Returns a new MethodBundle that represents the methods of a child class of this bundle.
`boolean` | `isImplemented(java.lang.String name, java.lang.String desc)` Returns true if a transformed parent class contains the indicated method.
`boolean` | `isInterfaceImplemented(java.lang.String name)` Returns true if the class represented by this data, or any parent data, implements the named interface.
`boolean` | `isTransformed()` Is this bundle for a transformed class, or for a base class (typically Object)?
`java.util.Set<java.lang.String>` | `methodNames()` Returns the names of any methods in this bundle, or from any parent bundles.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### InheritanceData

    public InheritanceData()

Method Detail

### isTransformed

    public boolean isTransformed()

  Is this bundle for a transformed class, or for a base class (typically Object)?

  Returns:
    true if this bundle is for transformed class, false otherwise

### createChild

    public InheritanceData createChild(java.lang.String childClassName)

  Returns a new MethodBundle that represents the methods of a child class of this bundle. The returned bundle will always be transformed.

  Parameters:
    `childClassName` - name of subclass
  Returns:
    new method bundle

### addMethod

    public void addMethod(java.lang.String name,
                          java.lang.String desc)

  Adds a new instance method. Only non-private, non-abstract methods should be added (that is, methods which might be overridden in subclasses). This can later be queried to see if any base class implements the method.

  Parameters:
    `name` - name of method
    `desc` - method descriptor

### isImplemented

    public boolean isImplemented(java.lang.String name,
                                 java.lang.String desc)

  Returns true if a transformed parent class contains the indicated method.

  Parameters:
    `name` - method name
    `desc` - method descriptor
  Returns:
    the internal name of the implementing base class for this method, or null if no base class implements the method

### isInterfaceImplemented

    public boolean isInterfaceImplemented(java.lang.String name)

  Returns true if the class represented by this data, or any parent data, implements the named interface.

### addInterface

    public void addInterface(java.lang.String name)

### methodNames

    public java.util.Set<java.lang.String> methodNames()

  Returns the names of any methods in this bundle, or from any parent bundles.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2003-2012 The Apache Software Foundation.