// ================================================================================================= // ADOBE SYSTEMS INCORPORATED // Copyright 2006 Adobe Systems Incorporated // All Rights Reserved // // NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms // of the Adobe license agreement accompanying it. // ================================================================================================= package com.adobe.xmp.impl.xpath; /** * A segment of a parsed XMPPath. * * @since 23.06.2006 */ public class XMPPathSegment { /** name of the path segment */ private String name; /** kind of the path segment */ private int kind; /** flag if segment is an alias */ private boolean alias; /** alias form if applicable */ private int aliasForm; /** * Constructor with initial values. * * @param name the name of the segment */ public XMPPathSegment(String name) { this.name = name; } /** * Constructor with initial values. * * @param name the name of the segment * @param kind the kind of the segment */ public XMPPathSegment(String name, int kind) { this.name = name; this.kind = kind; } /** * @return Returns the kind. */ public int getKind() { return kind; } /** * @param kind The kind to set. */ public void setKind(int kind) { this.kind = kind; } /** * @return Returns the name. */ public String getName() { return name; } /** * @param name The name to set. */ public void setName(String name) { this.name = name; } /** * @param alias the flag to set */ public void setAlias(boolean alias) { this.alias = alias; } /** * @return Returns the alias. */ public boolean isAlias() { return alias; } /** * @return Returns the aliasForm if this segment has been created by an alias. */ public int getAliasForm() { return aliasForm; } /** * @param aliasForm the aliasForm to set */ public void setAliasForm(int aliasForm) { this.aliasForm = aliasForm; } /** * @see Object#toString() */ public String toString() { switch (kind) { case XMPPath.STRUCT_FIELD_STEP: case XMPPath.ARRAY_INDEX_STEP: case XMPPath.QUALIFIER_STEP: case XMPPath.ARRAY_LAST_STEP: return name; case XMPPath.QUAL_SELECTOR_STEP: case XMPPath.FIELD_SELECTOR_STEP: return name; default: // no defined step return name; } } }