/** * Internal helper method for converting a <code>NodeTypeDefinition</code> * (using prefixed JCR names) to a <code>NodeTypeDef</code> (using * namespace-qualified names). * * @param definition the definition * @return a <code>NodeTypeDef</code> * @throws RepositoryException if a repository error occurs */ private QNodeTypeDefinition toNodeTypeDef(NodeTypeDefinition definition) throws RepositoryException { return new QNodeTypeDefinitionImpl(definition, context, QValueFactoryImpl.getInstance()); }
/** * Creates a new serializable qualified node type definition. * * @param name the name of the node type * @param supertypes the names of the supertypes * @param isMixin if this is a mixin node type * @param hasOrderableChildNodes if this node type has orderable child * nodes. * @param primaryItemName the name of the primary item, or * <code>null</code>. * @param declaredPropDefs the declared property definitions. * @param declaredNodeDefs the declared child node definitions. */ public QNodeTypeDefinitionImpl(Name name, Name[] supertypes, boolean isMixin, boolean hasOrderableChildNodes, Name primaryItemName, QPropertyDefinition[] declaredPropDefs, QNodeDefinition[] declaredNodeDefs) { this.name = name; this.supertypes = supertypes; this.isMixin = isMixin; this.hasOrderableChildNodes = hasOrderableChildNodes; this.primaryItemName = primaryItemName; this.propertyDefs = getSerializablePropertyDefs(declaredPropDefs); this.childNodeDefs = getSerializableNodeDefs(declaredNodeDefs); }
/** * Internal constructor to avoid resolving def.getName() 3 times. * @param name name of the definition * @param def node type definition * @param resolver resolver * @param qValueFactory value factory * @throws RepositoryException if an error occurs */ private QNodeTypeDefinitionImpl(Name name, NodeTypeDefinition def, NamePathResolver resolver, QValueFactory qValueFactory) throws RepositoryException { this(name, getNames(def.getDeclaredSupertypeNames(), resolver), null, def.isMixin(), def.isAbstract(), def.isQueryable(), def.hasOrderableChildNodes(), def.getPrimaryItemName() == null ? null : resolver.getQName(def.getPrimaryItemName()), createQPropertyDefinitions(name, def.getDeclaredPropertyDefinitions(), resolver, qValueFactory), createQNodeDefinitions(name, def.getDeclaredChildNodeDefinitions(), resolver)); }
childNodeDefs[0] = currentRepRootNodeTypeDef.getChildNodeDefs()[0];
/** * Internal constructor to avoid resolving def.getName() 3 times. * @param name name of the definition * @param def node type definition * @param resolver resolver * @param qValueFactory value factory * @throws RepositoryException if an error occurs */ private QNodeTypeDefinitionImpl(Name name, NodeTypeDefinition def, NamePathResolver resolver, QValueFactory qValueFactory) throws RepositoryException { this(name, getNames(def.getDeclaredSupertypeNames(), resolver), null, def.isMixin(), def.isAbstract(), def.isQueryable(), def.hasOrderableChildNodes(), def.getPrimaryItemName() == null ? null : resolver.getQName(def.getPrimaryItemName()), createQPropertyDefinitions(name, def.getDeclaredPropertyDefinitions(), resolver, qValueFactory), createQNodeDefinitions(name, def.getDeclaredChildNodeDefinitions(), resolver)); }
/** * Internal helper method for converting a <code>NodeTypeDefinition</code> * (using prefixed JCR names) to a <code>NodeTypeDef</code> (using * namespace-qualified names). * * @param definition the definition * @return a <code>NodeTypeDef</code> * @throws RepositoryException if a repository error occurs */ private QNodeTypeDefinition toNodeTypeDef(NodeTypeDefinition definition) throws RepositoryException { return new QNodeTypeDefinitionImpl(definition, context, QValueFactoryImpl.getInstance()); }
this.hasOrderableChildNodes = hasOrderableChildNodes; this.primaryItemName = primaryItemName; this.propertyDefs = getSerializablePropertyDefs(declaredPropDefs); this.childNodeDefs = getSerializableNodeDefs(declaredNodeDefs);
@Override public QNodeTypeDefinition build() { if (!isMixin && !NameConstants.NT_BASE.equals(name)) { supertypes.add(NameConstants.NT_BASE); } return new QNodeTypeDefinitionImpl( name, supertypes.toArray(new Name[supertypes.size()]), null, super.isMixin, super.isAbstract, super.queryable, super.isOrderable, primaryItem, propertyDefs.toArray(new QPropertyDefinition[propertyDefs.size()]), childNodeDefs.toArray(new QNodeDefinition[childNodeDefs.size()])); }
this.hasOrderableChildNodes = hasOrderableChildNodes; this.primaryItemName = primaryItemName; this.propertyDefs = getSerializablePropertyDefs(declaredPropDefs); this.childNodeDefs = getSerializableNodeDefs(declaredNodeDefs);
@Override public QNodeTypeDefinition build() { if (!isMixin && !NameConstants.NT_BASE.equals(name)) { supertypes.add(NameConstants.NT_BASE); } return new QNodeTypeDefinitionImpl( name, supertypes.toArray(new Name[supertypes.size()]), null, super.isMixin, super.isAbstract, super.queryable, super.isOrderable, primaryItem, propertyDefs.toArray(new QPropertyDefinition[propertyDefs.size()]), childNodeDefs.toArray(new QNodeDefinition[childNodeDefs.size()])); }
/** * {@inheritDoc} */ public Iterator<QNodeTypeDefinition> getQNodeTypeDefinitions(SessionInfo sessionInfo) throws RepositoryException { SessionInfoImpl sInfo = getSessionInfoImpl(sessionInfo); NodeTypeManager ntMgr = sInfo.getSession().getWorkspace().getNodeTypeManager(); List<QNodeTypeDefinition> nodeTypes = new ArrayList<QNodeTypeDefinition>(); try { for (NodeTypeIterator it = ntMgr.getAllNodeTypes(); it.hasNext(); ) { NodeType nt = it.nextNodeType(); nodeTypes.add(new QNodeTypeDefinitionImpl(nt, sInfo.getNamePathResolver(), getQValueFactory())); } } catch (NameException e) { throw new RepositoryException(e); } return nodeTypes.iterator(); }
/** * {@inheritDoc} */ public Iterator<QNodeTypeDefinition> getQNodeTypeDefinitions(SessionInfo sessionInfo, Name[] nodetypeNames) throws RepositoryException { SessionInfoImpl sInfo = getSessionInfoImpl(sessionInfo); NodeTypeManager ntMgr = sInfo.getSession().getWorkspace().getNodeTypeManager(); List<QNodeTypeDefinition> defs = new ArrayList<QNodeTypeDefinition>(); for (Name nodetypeName : nodetypeNames) { try { String ntName = sInfo.getNamePathResolver().getJCRName(nodetypeName); NodeType nt = ntMgr.getNodeType(ntName); defs.add(new QNodeTypeDefinitionImpl(nt, sInfo.getNamePathResolver(), getQValueFactory())); // in addition pack all supertypes into the return value NodeType[] supertypes = nt.getSupertypes(); for (NodeType supertype : supertypes) { defs.add(new QNodeTypeDefinitionImpl(supertype, sInfo.getNamePathResolver(), getQValueFactory())); } } catch (NameException e) { throw new RepositoryException(e); } } return defs.iterator(); }
/** * {@inheritDoc} */ public Iterator<QNodeTypeDefinition> getQNodeTypeDefinitions(SessionInfo sessionInfo) throws RepositoryException { SessionInfoImpl sInfo = getSessionInfoImpl(sessionInfo); NodeTypeManager ntMgr = sInfo.getSession().getWorkspace().getNodeTypeManager(); List<QNodeTypeDefinition> nodeTypes = new ArrayList<QNodeTypeDefinition>(); try { for (NodeTypeIterator it = ntMgr.getAllNodeTypes(); it.hasNext(); ) { NodeType nt = it.nextNodeType(); nodeTypes.add(new QNodeTypeDefinitionImpl(nt, sInfo.getNamePathResolver(), getQValueFactory())); } } catch (NameException e) { throw new RepositoryException(e); } return nodeTypes.iterator(); }
/** * {@inheritDoc} */ public Iterator<QNodeTypeDefinition> getQNodeTypeDefinitions(SessionInfo sessionInfo, Name[] nodetypeNames) throws RepositoryException { SessionInfoImpl sInfo = getSessionInfoImpl(sessionInfo); NodeTypeManager ntMgr = sInfo.getSession().getWorkspace().getNodeTypeManager(); List<QNodeTypeDefinition> defs = new ArrayList<QNodeTypeDefinition>(); for (Name nodetypeName : nodetypeNames) { try { String ntName = sInfo.getNamePathResolver().getJCRName(nodetypeName); NodeType nt = ntMgr.getNodeType(ntName); defs.add(new QNodeTypeDefinitionImpl(nt, sInfo.getNamePathResolver(), getQValueFactory())); // in addition pack all supertypes into the return value NodeType[] supertypes = nt.getSupertypes(); for (NodeType supertype : supertypes) { defs.add(new QNodeTypeDefinitionImpl(supertype, sInfo.getNamePathResolver(), getQValueFactory())); } } catch (NameException e) { throw new RepositoryException(e); } } return defs.iterator(); }
ntd = new QNodeTypeDefinitionImpl(ntd.getName(), supertypes.toArray(new Name[supertypes.size()]), ntd.getSupportedMixinTypes(), ntd.isMixin(),
ntd = new QNodeTypeDefinitionImpl(ntd.getName(), supertypes.toArray(new Name[supertypes.size()]), ntd.getSupportedMixinTypes(), ntd.isMixin(),
/** * @see NodeTypeManager#registerNodeTypes(javax.jcr.nodetype.NodeTypeDefinition[], boolean) */ public NodeTypeIterator registerNodeTypes(NodeTypeDefinition[] ntds, boolean allowUpdate) throws RepositoryException { List<QNodeTypeDefinition> defs = new ArrayList<QNodeTypeDefinition>(ntds.length); for (NodeTypeDefinition definition : ntds) { QNodeTypeDefinition qdef = new QNodeTypeDefinitionImpl(definition, getNamePathResolver(), mgrProvider.getQValueFactory()); if (!allowUpdate && hasNodeType(qdef.getName())) { throw new NodeTypeExistsException("NodeType " + definition.getName() + " already exists."); } defs.add(qdef); } getNodeTypeRegistry().registerNodeTypes(defs, allowUpdate); List<NodeType> nts = new ArrayList<NodeType>(); for (QNodeTypeDefinition def : defs) { nts.add(getNodeType(def.getName())); } return new NodeTypeIteratorAdapter(nts); }
/** * @see NodeTypeManager#registerNodeTypes(javax.jcr.nodetype.NodeTypeDefinition[], boolean) */ public NodeTypeIterator registerNodeTypes(NodeTypeDefinition[] ntds, boolean allowUpdate) throws RepositoryException { List<QNodeTypeDefinition> defs = new ArrayList<QNodeTypeDefinition>(ntds.length); for (NodeTypeDefinition definition : ntds) { QNodeTypeDefinition qdef = new QNodeTypeDefinitionImpl(definition, getNamePathResolver(), mgrProvider.getQValueFactory()); if (!allowUpdate && hasNodeType(qdef.getName())) { throw new NodeTypeExistsException("NodeType " + definition.getName() + " already exists."); } defs.add(qdef); } getNodeTypeRegistry().registerNodeTypes(defs, allowUpdate); List<NodeType> nts = new ArrayList<NodeType>(); for (QNodeTypeDefinition def : defs) { nts.add(getNodeType(def.getName())); } return new NodeTypeIteratorAdapter(nts); }
QNodeTypeDefinition ntdFixup = new QNodeTypeDefinitionImpl(ntd.getName(), ntdOld.getSupertypes(), ntd.getSupportedMixinTypes(), ntd.isMixin(),
/** * Creates a new {@link QNodeTypeDefinition} instance based on the state of this builder. * * @return a new {@link QNodeTypeDefinition} instance. * @throws IllegalStateException if the instance has not the necessary information to build * the QNodeTypeDefinition instance. */ public QNodeTypeDefinition build() throws IllegalStateException { return new QNodeTypeDefinitionImpl(getName(), getSuperTypes(), getSupportedMixinTypes(), isMixin(), isAbstract(), isQueryable(), hasOrderableChildNodes(), getPrimaryItemName(), getPropertyDefs(), getChildNodeDefs()); } }