本文整理了Java中org.apache.jackrabbit.spi.QNodeDefinition
类的一些代码示例,展示了QNodeDefinition
类的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。QNodeDefinition
类的具体详情如下:
包路径:org.apache.jackrabbit.spi.QNodeDefinition
类名称:QNodeDefinition
[英]QNodeDefinition
is the SPI representation of a NodeDefinition. It refers to Name
s only and is thus isolated from session-specific namespace mappings.
[中]QNodeDefinition
是节点定义的SPI表示。它只引用Name
s,因此与特定于会话的命名空间映射隔离。
代码示例来源:origin: org.apache.jackrabbit/jackrabbit-spi-commons
/**
* Copy constructor.
*
* @param nodeDef some other node definition.
*/
public QNodeDefinitionImpl(QNodeDefinition nodeDef) {
this(nodeDef.getName(), nodeDef.getDeclaringNodeType(),
nodeDef.isAutoCreated(), nodeDef.isMandatory(),
nodeDef.getOnParentVersion(), nodeDef.isProtected(),
nodeDef.getDefaultPrimaryType(),
nodeDef.getRequiredPrimaryTypes(),
nodeDef.allowsSameNameSiblings());
}
代码示例来源:origin: apache/jackrabbit
private QNodeDefinitionId(QNodeDefinition def) {
declaringNodeType = def.getDeclaringNodeType();
name = def.getName();
}
代码示例来源:origin: org.apache.jackrabbit/com.springsource.org.apache.jackrabbit.spi.commons
/**
* Compares two node definitions for equality. Returns <code>true</code>
* if the given object is a node defintion and has the same attributes
* as this node definition.
*
* @param obj the object to compare this node definition with
* @return <code>true</code> if the object is equal to this node definition,
* <code>false</code> otherwise
* @see Object#equals(Object)
*/
public boolean equals(Object obj) {
if (this == obj) {
return true;
}
if (obj instanceof QNodeDefinition) {
QNodeDefinition other = (QNodeDefinition) obj;
return super.equals(obj)
&& Arrays.equals(requiredPrimaryTypes, other.getRequiredPrimaryTypes())
&& (defaultPrimaryType == null
? other.getDefaultPrimaryType() == null
: defaultPrimaryType.equals(other.getDefaultPrimaryType()))
&& allowsSameNameSiblings == other.allowsSameNameSiblings();
}
return false;
}
代码示例来源:origin: apache/jackrabbit
if (!name.equals(cnd.getDeclaringNodeType())) {
String msg = "[" + name + "#" + cnd.getName()
+ "] invalid declaring node type specified";
log.debug(msg);
throw new InvalidNodeTypeDefinitionException(msg);
checkNamespace(cnd.getName());
if (cnd.definesResidual() && cnd.isAutoCreated()) {
String msg = "[" + name + "#" + cnd.getName()
+ "] auto-created child-nodes must specify a name";
log.debug(msg);
if (cnd.getDefaultPrimaryType() == null
&& cnd.isAutoCreated()) {
String msg = "[" + name + "#" + cnd.getName()
+ "] auto-created child-nodes must specify a default primary type";
log.debug(msg);
Name dpt = cnd.getDefaultPrimaryType();
checkNamespace(dpt);
boolean referenceToSelf = false;
String msg = "[" + name + "#" + cnd.getName()
+ "] invalid default primary type '" + dpt + "'";
log.debug(msg);
if (cnd.isAutoCreated()) {
代码示例来源:origin: apache/jackrabbit
QNodeDefinition nd = defs[i];
if (entTarget != null && nd.getRequiredPrimaryTypes() != null) {
if (entTarget.includesNodeTypes(nd.getRequiredPrimaryTypes())) {
if (nd.getDefaultPrimaryType() != null) {
for (int i = 0; i < nda.length; i++) {
QNodeDefinition nd = nda[i];
if (entTarget != null && nd.getRequiredPrimaryTypes() != null) {
if (entTarget.includesNodeTypes(nd.getRequiredPrimaryTypes())) {
if (nd.getDefaultPrimaryType() != null) {
代码示例来源:origin: org.apache.jackrabbit/jackrabbit-core
Name dnt = nodeDef.getDefaultPrimaryType();
Name definingNT = nodeDef.getDeclaringNodeType();
try {
if (dnt != null) {
+ " defines invalid default node type for child node " + nodeDef.getName();
log.debug(msg);
throw new InvalidNodeTypeDefException(msg, nsnte);
代码示例来源:origin: org.apache.jackrabbit/jackrabbit-core
nodeName, existing.getNodeTypeName(), parent);
if (!def.allowsSameNameSiblings()) {
if (def.isProtected() && entExisting.includesNodeType(ntName)) {
return;
if (def.isAutoCreated() && entExisting.includesNodeType(ntName)) {
if (def.isProtected()) {
if (def.isProtected()) {
代码示例来源:origin: apache/jackrabbit
if (nd.definesResidual()) {
msg = ntName + " contains ambiguous residual child node definitions";
} else {
msg = ntName + " contains ambiguous definitions for child node named "
+ nd.getName();
itemDefIds.add(nd);
if (nd.definesResidual()) {
Name name = nd.getName();
List<QItemDefinition> defs = namedItemDefs.get(name);
if (defs == null) {
if (nd.isAutoCreated() || qDef.isAutoCreated()) {
代码示例来源:origin: apache/jackrabbit
/**
* {@inheritDoc}
*/
public boolean allowsSameNameSiblings() {
return ((QNodeDefinition) itemDef).allowsSameNameSiblings();
}
代码示例来源:origin: org.apache.jackrabbit/jackrabbit-spi-commons
boolean b1 = getOldDef().allowsSameNameSiblings();
boolean b2 = getNewDef().allowsSameNameSiblings();
if (b1 != b2 && !b2) {
Set<Name> s1 = new HashSet<Name>(Arrays.asList(getOldDef().getRequiredPrimaryTypes()));
Set<Name> s2 = new HashSet<Name>(Arrays.asList(getNewDef().getRequiredPrimaryTypes()));
代码示例来源:origin: apache/jackrabbit
nodeTypeName = definition.getDefaultPrimaryType();
if (nodeTypeName == null) {
String msg = "No applicable node type could be determined for " + nodeName;
addedStates.addAll(addNodeState(nodeState, nd.getName(), nd.getDefaultPrimaryType(), null, nd, opt));
代码示例来源:origin: apache/jackrabbit
Name[] requiredPrimaryTypes = def.getRequiredPrimaryTypes();
for (int i = 0; i < requiredPrimaryTypes.length; i++) {
if (!entPrimary.includesNodeType(requiredPrimaryTypes[i])) {
for (int i = 0; i < cnda.length; i++) {
QNodeDefinition cnd = cnda[i];
if (!nodeState.getNodeEntry().hasNodeEntry(cnd.getName())) {
String msg = safeGetJCRPath(nodeState)
+ ": mandatory child node " + cnd.getName()
+ " does not exist";
log.debug(msg);
代码示例来源:origin: apache/jackrabbit
/** Test for the empty child node definition. */
public void testEmptyNode() {
QNodeDefinition def = getChildNode("childNodeType", "emptyNode");
assertEquals("emptyNode allowsSameNameSiblings",
false, def.allowsSameNameSiblings());
assertEquals("emptyNode defaultPrimaryType",
null, def.getDefaultPrimaryType());
}
代码示例来源:origin: org.apache.jackrabbit/jackrabbit-core
private static boolean isAutoCreated(ChildNodeEntry cne, EffectiveNodeType ent) {
for (QNodeDefinition def : ent.getAutoCreateNodeDefs()) {
if (def.getName().equals(cne.getName())) {
return true;
}
}
return false;
}
代码示例来源:origin: org.apache.jackrabbit/jackrabbit-spi-commons
/**
* @see NodeDefinition#getDefaultPrimaryTypeName()
* @since JCR 2.0
*/
public String getDefaultPrimaryTypeName() {
Name ntName = ((QNodeDefinition) itemDef).getDefaultPrimaryType();
if (ntName == null) {
return null;
}
try {
return resolver.getJCRName(ntName);
} catch (NamespaceException e) {
// should never get here
log.error("invalid default node type " + ntName, e);
return null;
}
}
代码示例来源:origin: org.apache.jackrabbit/jackrabbit-core
if (!def.allowsSameNameSiblings()) {
throw new ItemExistsException(getNodeId() + "/" + name);
if (!existingChildDef.allowsSameNameSiblings()) {
throw new ItemExistsException(existingChild.toString());
if (getDefinition().isProtected()) {
String msg = "not allowed to modify a protected node";
throw new ConstraintViolationException(msg);
代码示例来源:origin: apache/jackrabbit
if (def.isProtected()) {
log.debug("Skipping protected nodeState (" + nodeInfo.getName() + ")");
return null;
if (ntName == null) {
ntName = def.getDefaultPrimaryType();
代码示例来源:origin: org.apache.jackrabbit/jackrabbit-spi-commons
/**
* @see NodeDefinition#getRequiredPrimaryTypeNames()
* @since JCR 2.0
*/
public String[] getRequiredPrimaryTypeNames() {
Name[] ntNames = ((QNodeDefinition) itemDef).getRequiredPrimaryTypes();
try {
if (ntNames == null || ntNames.length == 0) {
// return "nt:base"
return new String[] { resolver.getJCRName(NameConstants.NT_BASE) };
} else {
String[] jcrNames = new String[ntNames.length];
for (int i = 0; i < ntNames.length; i++) {
jcrNames[i] = resolver.getJCRName(ntNames[i]);
}
return jcrNames;
}
} catch (NamespaceException e) {
// should never get here
log.error("required node type does not exist", e);
return new String[0];
}
}
}
代码示例来源:origin: apache/jackrabbit
/**
* @see EffectiveNodeType#checkAddNodeConstraints(org.apache.jackrabbit.spi.Name,QNodeTypeDefinition, ItemDefinitionProvider)
*/
public void checkAddNodeConstraints(Name name, QNodeTypeDefinition nodeTypeDefinition, ItemDefinitionProvider definitionProvider)
throws ConstraintViolationException, NoSuchNodeTypeException {
if (nodeTypeDefinition.isAbstract()) {
throw new ConstraintViolationException("not allowed to add node " + name + ": " + nodeTypeDefinition.getName() + " is abstract and cannot be used as primary node type.");
}
if (nodeTypeDefinition.isMixin()) {
throw new ConstraintViolationException("not allowed to add node " + name + ":" + nodeTypeDefinition.getName() + " is a mixin and cannot be used as primary node type.");
}
QNodeDefinition nd = definitionProvider.getQNodeDefinition(this, name, nodeTypeDefinition.getName());
if (nd.isProtected()) {
throw new ConstraintViolationException(name + " is protected.");
}
if (nd.isAutoCreated()) {
throw new ConstraintViolationException(name + " is auto-created and can not be manually added");
}
}
代码示例来源:origin: org.apache.jackrabbit/jackrabbit-core
/**
* @param name
* @throws ConstraintViolationException
*/
public void checkRemoveNodeConstraints(Name name) throws ConstraintViolationException {
/**
* as there might be multiple definitions with the same name and we
* don't know which one is applicable, we check all of them
*/
QNodeDefinition[] defs = getNamedNodeDefs(name);
if (defs != null) {
for (QNodeDefinition def : defs) {
if (def.isMandatory()) {
throw new ConstraintViolationException("can't remove mandatory node");
}
if (def.isProtected()) {
throw new ConstraintViolationException("can't remove protected node");
}
}
}
}
内容来源于网络,如有侵权,请联系作者删除!