1f12f744843a67c910ec325fc6dfa73988f67b97cSascha Haeberling// ================================================================================================= 2f12f744843a67c910ec325fc6dfa73988f67b97cSascha Haeberling// ADOBE SYSTEMS INCORPORATED 3f12f744843a67c910ec325fc6dfa73988f67b97cSascha Haeberling// Copyright 2006 Adobe Systems Incorporated 4f12f744843a67c910ec325fc6dfa73988f67b97cSascha Haeberling// All Rights Reserved 5f12f744843a67c910ec325fc6dfa73988f67b97cSascha Haeberling// 6f12f744843a67c910ec325fc6dfa73988f67b97cSascha Haeberling// NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms 7f12f744843a67c910ec325fc6dfa73988f67b97cSascha Haeberling// of the Adobe license agreement accompanying it. 8f12f744843a67c910ec325fc6dfa73988f67b97cSascha Haeberling// ================================================================================================= 9f12f744843a67c910ec325fc6dfa73988f67b97cSascha Haeberling 10f12f744843a67c910ec325fc6dfa73988f67b97cSascha Haeberlingpackage com.adobe.xmp.impl; 11f12f744843a67c910ec325fc6dfa73988f67b97cSascha Haeberling 12f12f744843a67c910ec325fc6dfa73988f67b97cSascha Haeberling/** 13f12f744843a67c910ec325fc6dfa73988f67b97cSascha Haeberling * @since 09.11.2006 14f12f744843a67c910ec325fc6dfa73988f67b97cSascha Haeberling */ 15f12f744843a67c910ec325fc6dfa73988f67b97cSascha Haeberlingpublic class QName 16f12f744843a67c910ec325fc6dfa73988f67b97cSascha Haeberling{ 17f12f744843a67c910ec325fc6dfa73988f67b97cSascha Haeberling /** XML namespace prefix */ 18f12f744843a67c910ec325fc6dfa73988f67b97cSascha Haeberling private String prefix; 19f12f744843a67c910ec325fc6dfa73988f67b97cSascha Haeberling /** XML localname */ 20f12f744843a67c910ec325fc6dfa73988f67b97cSascha Haeberling private String localName; 21f12f744843a67c910ec325fc6dfa73988f67b97cSascha Haeberling 22f12f744843a67c910ec325fc6dfa73988f67b97cSascha Haeberling 23f12f744843a67c910ec325fc6dfa73988f67b97cSascha Haeberling /** 24f12f744843a67c910ec325fc6dfa73988f67b97cSascha Haeberling * Splits a qname into prefix and localname. 25f12f744843a67c910ec325fc6dfa73988f67b97cSascha Haeberling * @param qname a QName 26f12f744843a67c910ec325fc6dfa73988f67b97cSascha Haeberling */ 27f12f744843a67c910ec325fc6dfa73988f67b97cSascha Haeberling public QName(String qname) 28f12f744843a67c910ec325fc6dfa73988f67b97cSascha Haeberling { 29f12f744843a67c910ec325fc6dfa73988f67b97cSascha Haeberling int colon = qname.indexOf(':'); 30f12f744843a67c910ec325fc6dfa73988f67b97cSascha Haeberling 31f12f744843a67c910ec325fc6dfa73988f67b97cSascha Haeberling if (colon >= 0) 32f12f744843a67c910ec325fc6dfa73988f67b97cSascha Haeberling { 33f12f744843a67c910ec325fc6dfa73988f67b97cSascha Haeberling prefix = qname.substring(0, colon); 34f12f744843a67c910ec325fc6dfa73988f67b97cSascha Haeberling localName = qname.substring(colon + 1); 35f12f744843a67c910ec325fc6dfa73988f67b97cSascha Haeberling } 36f12f744843a67c910ec325fc6dfa73988f67b97cSascha Haeberling else 37f12f744843a67c910ec325fc6dfa73988f67b97cSascha Haeberling { 38f12f744843a67c910ec325fc6dfa73988f67b97cSascha Haeberling prefix = ""; 39f12f744843a67c910ec325fc6dfa73988f67b97cSascha Haeberling localName = qname; 40f12f744843a67c910ec325fc6dfa73988f67b97cSascha Haeberling } 41f12f744843a67c910ec325fc6dfa73988f67b97cSascha Haeberling } 42f12f744843a67c910ec325fc6dfa73988f67b97cSascha Haeberling 43f12f744843a67c910ec325fc6dfa73988f67b97cSascha Haeberling 44f12f744843a67c910ec325fc6dfa73988f67b97cSascha Haeberling /** Constructor that initializes the fields 45f12f744843a67c910ec325fc6dfa73988f67b97cSascha Haeberling * @param prefix the prefix 46f12f744843a67c910ec325fc6dfa73988f67b97cSascha Haeberling * @param localName the name 47f12f744843a67c910ec325fc6dfa73988f67b97cSascha Haeberling */ 48f12f744843a67c910ec325fc6dfa73988f67b97cSascha Haeberling public QName(String prefix, String localName) 49f12f744843a67c910ec325fc6dfa73988f67b97cSascha Haeberling { 50f12f744843a67c910ec325fc6dfa73988f67b97cSascha Haeberling this.prefix = prefix; 51f12f744843a67c910ec325fc6dfa73988f67b97cSascha Haeberling this.localName = localName; 52f12f744843a67c910ec325fc6dfa73988f67b97cSascha Haeberling } 53f12f744843a67c910ec325fc6dfa73988f67b97cSascha Haeberling 54f12f744843a67c910ec325fc6dfa73988f67b97cSascha Haeberling 55f12f744843a67c910ec325fc6dfa73988f67b97cSascha Haeberling /** 56f12f744843a67c910ec325fc6dfa73988f67b97cSascha Haeberling * @return Returns whether the QName has a prefix. 57f12f744843a67c910ec325fc6dfa73988f67b97cSascha Haeberling */ 58f12f744843a67c910ec325fc6dfa73988f67b97cSascha Haeberling public boolean hasPrefix() 59f12f744843a67c910ec325fc6dfa73988f67b97cSascha Haeberling { 60f12f744843a67c910ec325fc6dfa73988f67b97cSascha Haeberling return prefix != null && prefix.length() > 0; 61f12f744843a67c910ec325fc6dfa73988f67b97cSascha Haeberling } 62f12f744843a67c910ec325fc6dfa73988f67b97cSascha Haeberling 63f12f744843a67c910ec325fc6dfa73988f67b97cSascha Haeberling 64f12f744843a67c910ec325fc6dfa73988f67b97cSascha Haeberling /** 65f12f744843a67c910ec325fc6dfa73988f67b97cSascha Haeberling * @return the localName 66f12f744843a67c910ec325fc6dfa73988f67b97cSascha Haeberling */ 67f12f744843a67c910ec325fc6dfa73988f67b97cSascha Haeberling public String getLocalName() 68f12f744843a67c910ec325fc6dfa73988f67b97cSascha Haeberling { 69f12f744843a67c910ec325fc6dfa73988f67b97cSascha Haeberling return localName; 70f12f744843a67c910ec325fc6dfa73988f67b97cSascha Haeberling } 71f12f744843a67c910ec325fc6dfa73988f67b97cSascha Haeberling 72f12f744843a67c910ec325fc6dfa73988f67b97cSascha Haeberling 73f12f744843a67c910ec325fc6dfa73988f67b97cSascha Haeberling /** 74f12f744843a67c910ec325fc6dfa73988f67b97cSascha Haeberling * @return the prefix 75f12f744843a67c910ec325fc6dfa73988f67b97cSascha Haeberling */ 76f12f744843a67c910ec325fc6dfa73988f67b97cSascha Haeberling public String getPrefix() 77f12f744843a67c910ec325fc6dfa73988f67b97cSascha Haeberling { 78f12f744843a67c910ec325fc6dfa73988f67b97cSascha Haeberling return prefix; 79f12f744843a67c910ec325fc6dfa73988f67b97cSascha Haeberling } 80f12f744843a67c910ec325fc6dfa73988f67b97cSascha Haeberling}