@SuppressWarnings("rawtypes") public QueryImpl(PersistenceManagerImpl pm, Extent ext, String filter) { this(pm); this.ext = ext; setClass( this.ext.getCandidateClass() ); this.filter = filter; this.subClasses = ext.hasSubclasses(); }
/** * Set the candidate Extent to query. * * @param pcs the Candidate Extent. * @see javax.jdo.Query#setCandidates(javax.jdo.Extent) */ public void setCandidates(Extent pcs) { discardCompiled(); assertIsModifiable(); if (pcs == null) { JPOXLogger.JDO_QUERY.warn(LOCALISER.msg("Candidates.ExtentCantBeNull")); return; } if (!(pcs instanceof Queryable)) { throw new JDOUnsupportedOptionException(LOCALISER.msg("JDOQL.ExtentNotQueryableError",pcs.getClass().getName())); } setSubclasses(pcs.hasSubclasses()); setClass(pcs.getCandidateClass()); candidateExtent = pcs; candidateCollection = null; // We have an Extent, so remove any collection }
assertEquals(pm, ext.getPersistenceManager()); assertEquals(TestClass.class, ext.getCandidateClass()); assertTrue(ext.hasSubclasses()); assertFalse(ext.hasSubclasses()); ext = pm.getExtent(TestClass.class); assertFalse( ext.iterator().hasNext() ); assertTrue(ext.hasSubclasses());