/** * Creates a pointer for the node at the specified position. * * @param position the desired position * @return a pointer for the attribute at this position */ @Override protected NodePointer createNodePointer(final int position) { return new ConfigurationAttributePointer<>(parentPointer, attributeNames.get(position)); }
/** * Returns a reference to the parent node pointer. * * @return the parent pointer */ public ConfigurationNodePointer<T> getParentPointer() { // safe to cast because the constructor only expects pointers of this // type @SuppressWarnings("unchecked") final ConfigurationNodePointer<T> configurationNodePointer = (ConfigurationNodePointer<T>) getParent(); return configurationNodePointer; }
/** * Returns the base value. We return the value. * * @return the base value */ @Override public Object getBaseValue() { return getValue(); }
/** * Returns a reference to the current node handler. The handler is obtained * from the parent pointer. * * @return the node handler */ private NodeHandler<T> getNodeHandler() { return getParentPointer().getNodeHandler(); } }
/** * Returns the value of this node. * * @return this node's value */ @Override public Object getValue() { return attributeResult.getAttributeValue(getNodeHandler()); }