1. /*
  2. * Copyright 1999-2004 The Apache Software Foundation.
  3. *
  4. * Licensed under the Apache License, Version 2.0 (the "License");
  5. * you may not use this file except in compliance with the License.
  6. * You may obtain a copy of the License at
  7. *
  8. * http://www.apache.org/licenses/LICENSE-2.0
  9. *
  10. * Unless required by applicable law or agreed to in writing, software
  11. * distributed under the License is distributed on an "AS IS" BASIS,
  12. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  13. * See the License for the specific language governing permissions and
  14. * limitations under the License.
  15. */
  16. /*
  17. * $Id: Member.java,v 1.6 2004/02/17 04:24:21 minchau Exp $
  18. */
  19. package com.sun.org.apache.xml.internal.utils.synthetic.reflection;
  20. import com.sun.org.apache.xml.internal.utils.synthetic.SynthesisException;
  21. /**
  22. * Member is an interface that reflects identifying
  23. * information about a single member (a field or a method)
  24. * or a constructor.
  25. * <p>
  26. * Note that this is <strong>not</strong> currently derived from
  27. * java.lang.reflect.Member, due to questions about how to handle
  28. * declarignClass.
  29. *
  30. * @see com.sun.org.apache.xml.internal.utils.synthetic.Class
  31. * @xsl.usage internal
  32. */
  33. public interface Member
  34. {
  35. /**
  36. * Returns the Class object representing the class or
  37. * interface that declares the member or constructor
  38. * represented by this Member.
  39. *
  40. */
  41. public abstract com.sun.org.apache.xml.internal.utils.synthetic.Class getDeclaringClass();
  42. /**
  43. * Returns the Java language modifiers for the
  44. * member or constructor represented by this
  45. * Member, as an integer. The Modifier class should
  46. * be used to decode the modifiers in the integer.
  47. *
  48. */
  49. public abstract int getModifiers();
  50. /**
  51. * Returns the Class object representing the class or
  52. * interface that declares the member or constructor
  53. * represented by this Member.
  54. *
  55. * @param declaringClass
  56. *
  57. * @throws SynthesisException
  58. */
  59. public abstract void setDeclaringClass(
  60. com.sun.org.apache.xml.internal.utils.synthetic.Class declaringClass)
  61. throws SynthesisException;
  62. /**
  63. * Returns the Java language modifiers for the
  64. * member or constructor represented by this
  65. * Member, as an integer. The Modifier class should
  66. * be used to decode the modifiers in the integer.
  67. *
  68. * @param modifiers
  69. *
  70. * @throws SynthesisException
  71. */
  72. public abstract void setModifiers(int modifiers) throws SynthesisException;
  73. }