1/* 2 * Licensed to the Apache Software Foundation (ASF) under one 3 * or more contributor license agreements. See the NOTICE file 4 * distributed with this work for additional information 5 * regarding copyright ownership. The ASF licenses this file 6 * to you under the Apache License, Version 2.0 (the "License"); 7 * you may not use this file except in compliance with the License. 8 * You may obtain a copy of the License at 9 * 10 * http://www.apache.org/licenses/LICENSE-2.0 11 * 12 * Unless required by applicable law or agreed to in writing, software 13 * distributed under the License is distributed on an "AS IS" BASIS, 14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 * See the License for the specific language governing permissions and 16 * limitations under the License. 17 */ 18 19package org.apache.xpath.objects; 20 21import org.apache.xml.dtm.DTM; 22import org.apache.xpath.XPathContext; 23/* 24 * 25 * @author igorh 26 * 27 * Simple wrapper to DTM and XPathContext objects. 28 * Used in XRTreeFrag for caching references to the objects. 29 */ 30 public final class DTMXRTreeFrag { 31 private DTM m_dtm; 32 private int m_dtmIdentity = DTM.NULL; 33 private XPathContext m_xctxt; 34 35 public DTMXRTreeFrag(int dtmIdentity, XPathContext xctxt){ 36 m_xctxt = xctxt; 37 m_dtmIdentity = dtmIdentity; 38 m_dtm = xctxt.getDTM(dtmIdentity); 39 } 40 41 public final void destruct(){ 42 m_dtm = null; 43 m_xctxt = null; 44 } 45 46final DTM getDTM(){return m_dtm;} 47public final int getDTMIdentity(){return m_dtmIdentity;} 48final XPathContext getXPathContext(){return m_xctxt;} 49 50public final int hashCode() { return m_dtmIdentity; } 51public final boolean equals(Object obj) { 52 if (obj instanceof DTMXRTreeFrag) { 53 return (m_dtmIdentity == ((DTMXRTreeFrag)obj).getDTMIdentity()); 54 } 55 return false; 56 } 57 58} 59