protected Map<QName, Serializable> getDefaultProperties(QName typeQName) { ClassDefinition classDefinition = this.dictionaryService.getClass(typeQName); if (classDefinition == null) { return Collections.emptyMap(); } return getDefaultProperties(classDefinition); }
protected Map<QName, Serializable> getDefaultProperties(QName typeQName) { ClassDefinition classDefinition = this.dictionaryService.getClass(typeQName); if (classDefinition == null) { return Collections.emptyMap(); } return getDefaultProperties(classDefinition); }
/** * @param className the class name * @return the super class or <code>null</code> */ private QName generaliseClass(QName className) { ClassDefinition classDefinition = dictionaryService.getClass(className); if (classDefinition == null) { // The class definition doesn't exist return null; } QName parentClassName = classDefinition.getParentName(); return parentClassName; }
/** * @param className the class name * @return the super class or <code>null</code> */ private QName generaliseClass(QName className) { ClassDefinition classDefinition = dictionaryService.getClass(className); if (classDefinition == null) { // The class definition doesn't exist return null; } QName parentClassName = classDefinition.getParentName(); return parentClassName; }
/** * Gets the Policy implementation for the specified Class * * @param nodeRef the node reference * @param classQName the class name * @return the policy */ public P get(NodeRef nodeRef, QName classQName) { ClassDefinition classDefinition = dictionary.getClass(classQName); if (classDefinition == null) { throw new IllegalArgumentException("Class " + classQName + " has not been defined in the data dictionary"); } return factory.create(new ClassBehaviourBinding(dictionary, nodeRef, classQName)); }
/** * Gets the collection of Policy implementations for the specified Class * * @param nodeRef the node reference * @param classQName the class qualified name * @return the collection of policies */ public Collection<P> getList(NodeRef nodeRef, QName classQName) { ClassDefinition classDefinition = dictionary.getClass(classQName); if (classDefinition == null) { throw new IllegalArgumentException("Class " + classQName + " has not been defined in the data dictionary"); } return factory.createList(new ClassBehaviourBinding(dictionary, nodeRef, classQName)); }
/** * Gets the Policy implementation for the specified Class * * @param nodeRef the node reference * @param classQName the class name * @return the policy */ public P get(NodeRef nodeRef, QName classQName) { ClassDefinition classDefinition = dictionary.getClass(classQName); if (classDefinition == null) { throw new IllegalArgumentException("Class " + classQName + " has not been defined in the data dictionary"); } return factory.create(new ClassBehaviourBinding(dictionary, nodeRef, classQName)); }
/** * Gets the collection of Policy implementations for the specified Class * * @param nodeRef the node reference * @param classQName the class qualified name * @return the collection of policies */ public Collection<P> getList(NodeRef nodeRef, QName classQName) { ClassDefinition classDefinition = dictionary.getClass(classQName); if (classDefinition == null) { throw new IllegalArgumentException("Class " + classQName + " has not been defined in the data dictionary"); } return factory.createList(new ClassBehaviourBinding(dictionary, nodeRef, classQName)); }
public BehaviourBinding generaliseBinding() { BehaviourBinding generalisedBinding = null; ClassDefinition classDefinition = dictionary.getClass(classQName); if (classDefinition == null) { // The class definition doesn't exist so there can be no behaviour bound return null; } QName parentClassName = classDefinition.getParentName(); if (parentClassName != null) { generalisedBinding = new ClassBehaviourBinding(dictionary, parentClassName); } return generalisedBinding; }
public BehaviourBinding generaliseBinding() { BehaviourBinding generalisedBinding = null; ClassDefinition classDefinition = dictionary.getClass(classQName); if (classDefinition == null) { // The class definition doesn't exist so there can be no behaviour bound return null; } QName parentClassName = classDefinition.getParentName(); if (parentClassName != null) { generalisedBinding = new ClassBehaviourBinding(dictionary, parentClassName); } return generalisedBinding; }
/** * Return all the property names defined for this node's type as an array. * * @param useShortQNames if true short-form qnames will be returned, else long-form. * @return Array of property names for this node's type. */ public Scriptable getTypePropertyNames(boolean useShortQNames) { Set<QName> props = this.services.getDictionaryService().getClass(this.getQNameType()).getProperties().keySet(); Object[] result = new Object[props.size()]; int count = 0; for (QName qname : props) { result[count++] = useShortQNames ? getShortQName(qname).toString() : qname.toString(); } return Context.getCurrentContext().newArray(this.scope, result); }
/** * Return all the property names defined for this node's type as an array. * * @param useShortQNames if true short-form qnames will be returned, else long-form. * @return Array of property names for this node's type. */ public Scriptable getTypePropertyNames(boolean useShortQNames) { Set<QName> props = this.services.getDictionaryService().getClass(this.getQNameType()).getProperties().keySet(); Object[] result = new Object[props.size()]; int count = 0; for (QName qname : props) { result[count++] = useShortQNames ? getShortQName(qname).toString() : qname.toString(); } return Context.getCurrentContext().newArray(this.scope, result); }
public BehaviourDefinition<ClassFeatureBehaviourBinding> bindPropertyBehaviour(QName policy, QName className, Behaviour behaviour) { // Validate arguments ParameterCheck.mandatory("Policy", policy); ParameterCheck.mandatory("Class Reference", className); ParameterCheck.mandatory("Behaviour", behaviour); // Validate Binding ClassDefinition classDefinition = dictionary.getClass(className); if (classDefinition == null) { throw new IllegalArgumentException("Class " + className + " has not been defined in the data dictionary"); } // Create behaviour definition and bind to policy ClassFeatureBehaviourBinding binding = new ClassFeatureBehaviourBinding(dictionary, className, FEATURE_WILDCARD); BehaviourDefinition<ClassFeatureBehaviourBinding> definition = createBehaviourDefinition(PolicyType.Property, policy, binding, behaviour); getPropertyBehaviourIndex(policy).putClassBehaviour(definition); if (logger.isInfoEnabled()) logger.info("Bound " + behaviour + " to policy " + policy + " for property " + FEATURE_WILDCARD + " of class " + className); return definition; }
public BehaviourDefinition<ClassBehaviourBinding> bindClassBehaviour(QName policy, QName classRef, Behaviour behaviour) { // Validate arguments ParameterCheck.mandatory("Policy", policy); ParameterCheck.mandatory("Class Reference", classRef); ParameterCheck.mandatory("Behaviour", behaviour); // Validate Binding ClassDefinition classDefinition = dictionary.getClass(classRef); if (classDefinition == null) { throw new IllegalArgumentException("Class " + classRef + " has not been defined in the data dictionary"); } // Create behaviour definition and bind to policy ClassBehaviourBinding binding = new ClassBehaviourBinding(dictionary, classRef); BehaviourDefinition<ClassBehaviourBinding> definition = createBehaviourDefinition(PolicyType.Class, policy, binding, behaviour); getClassBehaviourIndex(policy).putClassBehaviour(definition); if (logger.isInfoEnabled()) logger.info("Bound " + behaviour + " to policy " + policy + " for class " + classRef); return definition; }
public BehaviourDefinition<ClassFeatureBehaviourBinding> bindPropertyBehaviour(QName policy, QName className, Behaviour behaviour) { // Validate arguments ParameterCheck.mandatory("Policy", policy); ParameterCheck.mandatory("Class Reference", className); ParameterCheck.mandatory("Behaviour", behaviour); // Validate Binding ClassDefinition classDefinition = dictionary.getClass(className); if (classDefinition == null) { throw new IllegalArgumentException("Class " + className + " has not been defined in the data dictionary"); } // Create behaviour definition and bind to policy ClassFeatureBehaviourBinding binding = new ClassFeatureBehaviourBinding(dictionary, className, FEATURE_WILDCARD); BehaviourDefinition<ClassFeatureBehaviourBinding> definition = createBehaviourDefinition(PolicyType.Property, policy, binding, behaviour); getPropertyBehaviourIndex(policy).putClassBehaviour(definition); if (logger.isInfoEnabled()) logger.info("Bound " + behaviour + " to policy " + policy + " for property " + FEATURE_WILDCARD + " of class " + className); return definition; }
public BehaviourDefinition<ClassBehaviourBinding> bindClassBehaviour(QName policy, QName classRef, Behaviour behaviour) { // Validate arguments ParameterCheck.mandatory("Policy", policy); ParameterCheck.mandatory("Class Reference", classRef); ParameterCheck.mandatory("Behaviour", behaviour); // Validate Binding ClassDefinition classDefinition = dictionary.getClass(classRef); if (classDefinition == null) { throw new IllegalArgumentException("Class " + classRef + " has not been defined in the data dictionary"); } // Create behaviour definition and bind to policy ClassBehaviourBinding binding = new ClassBehaviourBinding(dictionary, classRef); BehaviourDefinition<ClassBehaviourBinding> definition = createBehaviourDefinition(PolicyType.Class, policy, binding, behaviour); getClassBehaviourIndex(policy).putClassBehaviour(definition); if (logger.isInfoEnabled()) logger.info("Bound " + behaviour + " to policy " + policy + " for class " + classRef); return definition; }
public BehaviourDefinition<ClassFeatureBehaviourBinding> bindAssociationBehaviour(QName policy, QName className, Behaviour behaviour) { // Validate arguments ParameterCheck.mandatory("Policy", policy); ParameterCheck.mandatory("Class Reference", className); ParameterCheck.mandatory("Behaviour", behaviour); // Validate Binding ClassDefinition classDefinition = dictionary.getClass(className); if (classDefinition == null) { throw new IllegalArgumentException("Class " + className + " has not been defined in the data dictionary"); } // Create behaviour definition and bind to policy ClassFeatureBehaviourBinding binding = new ClassFeatureBehaviourBinding(dictionary, className, FEATURE_WILDCARD); BehaviourDefinition<ClassFeatureBehaviourBinding> definition = createBehaviourDefinition(PolicyType.Association, policy, binding, behaviour); getAssociationBehaviourIndex(policy).putClassBehaviour(definition); if (logger.isInfoEnabled()) logger.info("Bound " + behaviour + " to policy " + policy + " for association " + FEATURE_WILDCARD + " of class " + className); return definition; }
public BehaviourDefinition<ClassFeatureBehaviourBinding> bindAssociationBehaviour(QName policy, QName className, Behaviour behaviour) { // Validate arguments ParameterCheck.mandatory("Policy", policy); ParameterCheck.mandatory("Class Reference", className); ParameterCheck.mandatory("Behaviour", behaviour); // Validate Binding ClassDefinition classDefinition = dictionary.getClass(className); if (classDefinition == null) { throw new IllegalArgumentException("Class " + className + " has not been defined in the data dictionary"); } // Create behaviour definition and bind to policy ClassFeatureBehaviourBinding binding = new ClassFeatureBehaviourBinding(dictionary, className, FEATURE_WILDCARD); BehaviourDefinition<ClassFeatureBehaviourBinding> definition = createBehaviourDefinition(PolicyType.Association, policy, binding, behaviour); getAssociationBehaviourIndex(policy).putClassBehaviour(definition); if (logger.isInfoEnabled()) logger.info("Bound " + behaviour + " to policy " + policy + " for association " + FEATURE_WILDCARD + " of class " + className); return definition; }
public void testArchive() { QName testFileQName = QName.createQName(TEST_URL, "file"); ClassDefinition fileClassDef = service.getClass(testFileQName); assertTrue("File type should have the archive flag", fileClassDef.getArchive()); QName testFileDerivedQName = QName.createQName(TEST_URL, "file-derived"); ClassDefinition fileDerivedClassDef = service.getClass(testFileDerivedQName); assertTrue("Direct derived File type should have the archive flag", fileDerivedClassDef.getArchive()); QName testFileDerivedNoArchiveQName = QName.createQName(TEST_URL, "file-derived-no-archive"); ClassDefinition fileDerivedNoArchiveClassDef = service.getClass(testFileDerivedNoArchiveQName); assertFalse("Derived File with archive override type should NOT have the archive flag", fileDerivedNoArchiveClassDef.getArchive()); QName testFolderQName = QName.createQName(TEST_URL, "folder"); ClassDefinition folderClassDef = service.getClass(testFolderQName); assertNull("Folder type should not have the archive flag", folderClassDef.getArchive()); }
public BehaviourBinding generaliseBinding() { BehaviourBinding generalisedBinding = null; ClassDefinition classDefinition = getDictionary().getClass(getClassQName()); if (classDefinition == null) { // The class definition doesn't exist so there can be no behaviour bound return null; } if (activeFeatureQName.equals(ALL_FEATURES)) { QName parentClassName = classDefinition.getParentName(); if (parentClassName != null) { generalisedBinding = new ClassFeatureBehaviourBinding(getDictionary(), getNodeRef(), parentClassName, featureQName, featureQName); } } else { generalisedBinding = new ClassFeatureBehaviourBinding(getDictionary(), getNodeRef(), getClassQName(), featureQName, ALL_FEATURES); } return generalisedBinding; }