/** * @since 2.2M1 */ public void setXClass(BaseClass xwikiClass) { xwikiClass.setDocumentReference(getDocumentReference()); this.xClass = xwikiClass; }
/** * @since 2.2M1 */ public BaseClass getXClass() { if (this.xClass == null) { this.xClass = new BaseClass(); this.xClass.setDocumentReference(getDocumentReference()); } return this.xClass; }
/** * Verify that the {@link #INTERFACE_CLASS} exists and is up-to-date (act if not). * * @throws com.xpn.xwiki.XWikiException on failure */ private void installOrUpdateComponentInterfaceXClass() throws XWikiException { XWikiContext xcontext = getXWikiContext(); XWikiDocument doc = xcontext.getWiki().getDocument(INTERFACE_CLASS_REFERENCE, xcontext); BaseClass bclass = doc.getXClass(); bclass.setDocumentReference(doc.getDocumentReference()); boolean needsUpdate = false; needsUpdate |= this.initializeXClassDocumentMetadata(doc, "Wiki Component Implements Interface XWiki Class"); needsUpdate |= bclass.addTextField(INTERFACE_NAME_FIELD, "Interface Qualified Name", 30); if (needsUpdate) { this.update(doc); } }
/** * Note: BaseElement#setName() does not support setting reference anymore since 2.4M2. This was broken and * has been replaced by this overridden method. See XWIKI-5285 * * {@inheritDoc} * * @deprecated since 2.2M2 use {@link #setDocumentReference(org.xwiki.model.reference.DocumentReference)} */ @Deprecated @Override public void setName(String name) { if (this instanceof MetaClass || this instanceof PropertyMetaClass) { super.setName(name); } else { DocumentReference reference = getDocumentReference(); if (reference != null) { EntityReference relativeReference = this.relativeEntityReferenceResolver.resolve(name, EntityType.DOCUMENT); reference.getLastSpaceReference() .setName(relativeReference.extractReference(EntityType.SPACE).getName()); reference.setName(relativeReference.extractReference(EntityType.DOCUMENT).getName()); } else { reference = this.currentMixedDocumentReferenceResolver.resolve(name); } setDocumentReference(reference); } }
/** * Verify that the {@link #METHOD_CLASS} exists and is up-to-date (act if not). * * @throws XWikiException on failure */ private void installOrUpdateComponentMethodXClass() throws XWikiException { XWikiContext xcontext = getXWikiContext(); XWikiDocument doc = xcontext.getWiki().getDocument(METHOD_CLASS_REFRENCE, xcontext); BaseClass bclass = doc.getXClass(); bclass.setDocumentReference(doc.getDocumentReference()); boolean needsUpdate = false; needsUpdate |= this.initializeXClassDocumentMetadata(doc, "Wiki Component Method XWiki Class"); needsUpdate |= bclass.addTextField(METHOD_NAME_FIELD, "Method name", 30); // This field contains wiki syntax (usually some scripting macr) but it's technical content that should be // edited with a Text editor. needsUpdate |= bclass.addTextAreaField(METHOD_CODE_FIELD, "Method body code", 40, 20, TextAreaClass.EditorType.TEXT, TextAreaClass.ContentType.WIKI_TEXT); if (needsUpdate) { this.update(doc); } }
/** * @since 2.2M1 */ public XWikiDocument copyDocument(DocumentReference newDocumentReference, XWikiContext context) throws XWikiException { loadAttachments(context); loadArchive(context); XWikiDocument newdoc = duplicate(newDocumentReference); newdoc.setOriginalDocument(null); newdoc.setContentDirty(true); newdoc.getXClass().setDocumentReference(newDocumentReference); XWikiDocumentArchive archive = newdoc.getDocumentArchive(); if (archive != null) { newdoc.setDocumentArchive(archive.clone(newdoc.getId(), context)); } return newdoc; }
/** * Verify that the {@link #COMPONENT_CLASS} exists and is up-to-date (act if not). * * @throws XWikiException on failure */ private void installOrUpdateComponentXClass() throws XWikiException { XWikiContext xcontext = getXWikiContext(); XWikiDocument doc = xcontext.getWiki().getDocument(COMPONENT_CLASS_REFERENCE, xcontext); BaseClass bclass = doc.getXClass(); bclass.setDocumentReference(doc.getDocumentReference()); boolean needsUpdate = false; needsUpdate |= initializeXClassDocumentMetadata(doc, "Wiki Component XWiki Class"); needsUpdate |= bclass.addTextField(COMPONENT_ROLE_TYPE_FIELD, "Component Role Type", 30); needsUpdate |= bclass.addTextField(COMPONENT_ROLE_HINT_FIELD, "Component Role Hint", 30); needsUpdate |= bclass.addStaticListField(COMPONENT_SCOPE_FIELD, "Component Scope", 1, false, "wiki=Current Wiki|user=Current User|global=Global", "select"); if (needsUpdate) { this.update(doc); } }
/** * Verify that the {@link #DEPENDENCY_CLASS} exists and is up-to-date (act if not). * * @throws XWikiException on failure */ private void installOrUpdateComponentRequirementXClass() throws XWikiException { XWikiContext xcontext = getXWikiContext(); XWikiDocument doc = xcontext.getWiki().getDocument(DEPENDENCY_CLASS_REFERENCE, xcontext); BaseClass bclass = doc.getXClass(); bclass.setDocumentReference(doc.getDocumentReference()); boolean needsUpdate = false; needsUpdate |= this.initializeXClassDocumentMetadata(doc, "Wiki Component Dependency XWiki Class"); needsUpdate |= bclass.addTextField(COMPONENT_ROLE_TYPE_FIELD, "Dependency Role Type", 30); needsUpdate |= bclass.addTextField(COMPONENT_ROLE_HINT_FIELD, "Dependency Role Hint", 30); needsUpdate |= bclass.addTextField(DEPENDENCY_BINDING_NAME_FIELD, "Binding name", 30); if (needsUpdate) { this.update(doc); } }
bclass.setDocumentReference(doc.getDocumentReference()); if ((bclass.getFieldList().size() > 0) && (useClassesTable(true, context))) { saveXWikiClass(bclass, context, false);
if (cxml != null) { bclass.fromXML(cxml); bclass.setDocumentReference(doc.getDocumentReference()); doc.setXClass(bclass); } else if (useClassesTable(false, context)) { bclass.setDocumentReference(doc.getDocumentReference()); bclass = loadXWikiClass(bclass, context, false); doc.setXClass(bclass);
@Override public void beginWikiClass(FilterEventParameters parameters) throws WikiStreamException { if (this.currentXObject != null) { this.currentXClass = new BaseClass(); this.currentXClass.setDocumentReference(this.currentXObject.getXClassReference()); this.currentXObjectClass = this.currentXClass; } else { this.currentXClass = this.document.getXClass(); } this.currentXClass.setCustomClass(getString(WikiClassFilter.PARAMETER_CUSTOMCLASS, parameters, null)); this.currentXClass.setCustomMapping(getString(WikiClassFilter.PARAMETER_CUSTOMMAPPING, parameters, null)); this.currentXClass .setDefaultViewSheet(getString(WikiClassFilter.PARAMETER_SHEET_DEFAULTVIEW, parameters, null)); this.currentXClass .setDefaultEditSheet(getString(WikiClassFilter.PARAMETER_SHEET_DEFAULTEDIT, parameters, null)); this.currentXClass.setDefaultWeb(getString(WikiClassFilter.PARAMETER_DEFAULTSPACE, parameters, null)); this.currentXClass.setNameField(getString(WikiClassFilter.PARAMETER_NAMEFIELD, parameters, null)); this.currentXClass.setValidationScript(getString(WikiClassFilter.PARAMETER_VALIDATIONSCRIPT, parameters, null)); }