Class BaseMember

All Implemented Interfaces:
io.github.mmm.code.api.CodeWithContext, io.github.mmm.code.api.element.CodeElement, io.github.mmm.code.api.element.CodeElementWithDeclaringType, io.github.mmm.code.api.element.CodeElementWithModifiers, io.github.mmm.code.api.element.CodeElementWithName, io.github.mmm.code.api.item.CodeItem, io.github.mmm.code.api.item.CodeItemWithComment, io.github.mmm.code.api.item.CodeItemWithDeclaringType, io.github.mmm.code.api.item.CodeItemWithModifiers, io.github.mmm.code.api.item.CodeItemWithName, io.github.mmm.code.api.item.CodeItemWithType, io.github.mmm.code.api.item.CodeMutableItem, io.github.mmm.code.api.item.CodeMutableItemWithComment, io.github.mmm.code.api.member.CodeMember, io.github.mmm.code.api.node.CodeNode, io.github.mmm.code.api.node.CodeNodeItem, io.github.mmm.code.api.object.CodeMutable
Direct Known Subclasses:
BaseField, BaseOperation, BaseProperty

public abstract class BaseMember extends BaseElementWithModifiers implements io.github.mmm.code.api.member.CodeMember
Base implementation of CodeMember.
Since:
1.0.0
Author:
Joerg Hohwiller (hohwille at users.sourceforge.net)
  • Constructor Details

    • BaseMember

      public BaseMember(io.github.mmm.code.api.member.CodeMembers<?> parent, io.github.mmm.code.api.modifier.CodeModifiers modifiers, String name)
      The constructor.
      Parameters:
      parent - the parent.
      modifiers - the modifiers.
      name - the name.
    • BaseMember

      public BaseMember(BaseMember template, io.github.mmm.code.api.copy.CodeCopyMapper mapper)
      The copy-constructor.
      Parameters:
      template - the BaseMember to copy.
      mapper - the CodeCopyMapper.
  • Method Details

    • getName

      public String getName()
      Specified by:
      getName in interface io.github.mmm.code.api.item.CodeItemWithName
    • setName

      public void setName(String name)
      Specified by:
      setName in interface io.github.mmm.code.api.element.CodeElementWithName
    • getParent

      public abstract BaseMembers<?> getParent()
      Specified by:
      getParent in interface io.github.mmm.code.api.member.CodeMember
      Specified by:
      getParent in interface io.github.mmm.code.api.node.CodeNode
    • getDeclaringType

      public BaseType getDeclaringType()
      Specified by:
      getDeclaringType in interface io.github.mmm.code.api.item.CodeItemWithDeclaringType
    • getReflectiveObject

      public abstract AccessibleObject getReflectiveObject()
      Specified by:
      getReflectiveObject in interface io.github.mmm.code.api.member.CodeMember
      Specified by:
      getReflectiveObject in interface io.github.mmm.code.api.item.CodeMutableItem
      Overrides:
      getReflectiveObject in class BaseMutableItem
    • getSourceCodeObject

      public abstract io.github.mmm.code.api.member.CodeMember getSourceCodeObject()
      Overrides:
      getSourceCodeObject in class BaseElement
      Returns:
      the optional internal CodeItem representing the source-code (to merge). Otherwise null. This is an internal API. Do not use or rely on it from outside.
    • copy

      public abstract BaseMember copy()
      Specified by:
      copy in interface io.github.mmm.code.api.element.CodeElement
      Specified by:
      copy in interface io.github.mmm.code.api.element.CodeElementWithDeclaringType
      Specified by:
      copy in interface io.github.mmm.code.api.element.CodeElementWithModifiers
      Specified by:
      copy in interface io.github.mmm.code.api.element.CodeElementWithName
      Specified by:
      copy in interface io.github.mmm.code.api.member.CodeMember
      Specified by:
      copy in interface io.github.mmm.code.api.item.CodeMutableItem
      Specified by:
      copy in interface io.github.mmm.code.api.node.CodeNodeItem
      Specified by:
      copy in class BaseElementWithModifiers