Home | History | Annotate | Download | only in objects
      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 
     19 package org.apache.xpath.objects;
     20 
     21 import org.apache.xml.dtm.DTM;
     22 import 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 
     46 final  DTM getDTM(){return m_dtm;}
     47 public final  int getDTMIdentity(){return m_dtmIdentity;}
     48 final  XPathContext getXPathContext(){return m_xctxt;}
     49 
     50 public final int hashCode() { return m_dtmIdentity; }
     51 public 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