createrequestimpl.java
来自「CmisJavaApi」· Java 代码 · 共 184 行
JAVA
184 行
/* * The contents of this file are subject to the Dyade Public License, * as defined by the file DYADE_PUBLIC_LICENSE.TXT * * You may not use this file except in compliance with the License. You may * obtain a copy of the License on the Dyade web site (www.dyade.fr). * * Software distributed under the License is distributed on an "AS IS" basis, * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for * the specific terms governing rights and limitations under the License. * * The Original Code is CmisJava API, including the java package * fr.dyade.cmis, released September 5, 2000. * * The Initial Developer of the Original Code is Dyade. The Original Code and * portions created by Dyade are Copyright Bull and Copyright INRIA. * All Rights Reserved. *//* Copyright 1996-2000 by Institut National de Recherche en Informatique * et en Automatique (INRIA) * All rights reserved. See COPYRIGHT in top-level directory. * * Authors: Laurent Andrey, Eric Dillon, Olivier Festor */// $Id: CreateRequestImpl.java,v 1.2 2000/09/05 14:30:41 festor Exp $// $Source: /local/resedas/CVS-Repository/CmisJavaApi/src/fr/dyade/cmis/impl/operation/CreateRequestImpl.java,v $//---------------------------------------------------------------------------//// Todo//---------------------------------------------------------------------------////package fr.dyade.cmis.impl.operation;import java.util.Enumeration;import fr.dyade.cmis.api.CMISException;import fr.dyade.cmis.api.types.*;import fr.dyade.cmis.api.operation.*;import fr.dyade.cmis.api.operation.event.*;import fr.dyade.cmis.impl.*;/** Basic implementation of an a CMIS CREATE request. * This class mainly implements the <code>{@link fr.dyade.cmis.api.operation.CreateRequest}</code> interface. * * Because of java scope properties this class is public, but user can not directly build instances * as it is an abstract class. Instances are to be built using * {@link fr.dyade.cmis.api.CMISManagerStack#newCreateRequest factory method}. * @see CreateConfirmation * @version cvs $Id: CreateRequestImpl.java,v 1.2 2000/09/05 14:30:41 festor Exp $ */public abstract class CreateRequestImpl extends CMISRequestImpl implements CreateRequest { protected CreateRequestImpl( CMISStackImpl pStack) { super(pStack, CREATE_REQUEST); } /** Verification of operation request parameters. * This method checks parameters defined into this class and its super classes. * @return true is all set parameters are ok, and all mandatory parameters are set. * false otherwise. */ public boolean isReqValid() { return (fManagedObjectClass != null)&(super.isReqValid()); } public final AttributeList getAttributeList(){ return fAttributeList; } public final ObjectClass getManagedObjectClass() { return fManagedObjectClass; } public final ObjectInstance getManagedObjectInstance() { return fManagedObjectInstance; } public final ObjectInstance getSuperiorObjectInstance() { return fSuperiorObject; } public final AccessControl getAccessControl() { return fAccessControl; } public final ObjectInstance getReferenceObjectInstance() { return fReferenceObjectInstance; } public final void setManagedObjectClass( ObjectClass pClass) { fManagedObjectClass = pClass; } public final void setManagedObjectInstance(ObjectInstance pMO) { fManagedObjectInstance=pMO; } public final void setSuperiorObjectInstance(ObjectInstance pSO) { fSuperiorObject=pSO; } public final void setAccessControl( AccessControl pAC) { fAccessControl=pAC; } public final void setReferenceObjectInstance(ObjectInstance pRO ) { fReferenceObjectInstance=pRO; } public final void setAttributeList( AttributeList pAL) { fAttributeList=pAL; } /** * Add a Create get request listener to Create request * @param pCgl the listener to add */ public final void addCreateRequestListener(CreateRequestListener pCrl){ addCMISListener(pCrl); } /** * Remove a Create request listener from a Create request * @param the listener to remove */ public final void removeCreateRequestListener(CreateRequestListener pCrl) { removeCMISListener(pCrl); } /** The dispatch METHOD for event loop. @param the event (ActionConfirmation/Completion Event) to dispatch on this ActionRequest @see fr.dyade.cmis.impl.CMISEventQueue */ public final void dispatchEvent( CMISEvent pEvent ) { if (pEvent instanceof CreateConfirmationEvent) { CreateConfirmationEvent lEvent=(CreateConfirmationEvent)pEvent; lEvent.getRequest().addConfirmation(lEvent.getConfirmation()); synchronized (fCMISEventListener){ for (Enumeration e = fCMISEventListener.elements() ; e.hasMoreElements() ;) { ((CreateRequestListener)e.nextElement()).confirmation(lEvent); } } } else { if (pEvent instanceof CreateCompletionEvent) { complete(); synchronized (fCMISEventListener){ for (Enumeration e = fCMISEventListener.elements() ; e.hasMoreElements() ;) { ((CreateRequestListener)e.nextElement()).completion((CreateCompletionEvent)pEvent); } } endProcessing(); } else { System.err.println("CreateRequestImpl.java:dispatchEvent bad event type INTERNAL ERROR"); } } } /** * Effective Create service invocation. * This method is synchronized to ensure * that no thread (dispatchEvent method) would change the request state (fState) * in the meanwhile. * TODO exception stuff. */ public final synchronized void doIt() throws CMISException { synchronized(fStack.getPendingRequestQueueSynchronization()) { // Create is always a confirmed service. setInvokeId(new InvokeId(nativeDoIt())); fStack.addPendingRequest(this); //Only if successfull startProcessing(); } } private ObjectClass fManagedObjectClass; private ObjectInstance fManagedObjectInstance; private ObjectInstance fSuperiorObject; private AccessControl fAccessControl; private ObjectInstance fReferenceObjectInstance; private AttributeList fAttributeList;} // CreateRequestImpl
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?