diff options
Diffstat (limited to 'XMPCore/src/com/adobe/xmp/impl/xpath/XMPPathSegment.java')
-rw-r--r-- | XMPCore/src/com/adobe/xmp/impl/xpath/XMPPathSegment.java | 147 |
1 files changed, 147 insertions, 0 deletions
diff --git a/XMPCore/src/com/adobe/xmp/impl/xpath/XMPPathSegment.java b/XMPCore/src/com/adobe/xmp/impl/xpath/XMPPathSegment.java new file mode 100644 index 0000000..88b42a1 --- /dev/null +++ b/XMPCore/src/com/adobe/xmp/impl/xpath/XMPPathSegment.java @@ -0,0 +1,147 @@ +// ================================================================================================= +// 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 <code>XMPPath</code>. + * + * @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; + } + } +} |