Home | History | Annotate | Download | only in agent
      1 /**
      2  * $Revision$
      3  * $Date$
      4  *
      5  * Copyright 2003-2007 Jive Software.
      6  *
      7  * All rights reserved. Licensed under the Apache License, Version 2.0 (the "License");
      8  * you may not use this file except in compliance with the License.
      9  * You may obtain a copy of the License at
     10  *
     11  *     http://www.apache.org/licenses/LICENSE-2.0
     12  *
     13  * Unless required by applicable law or agreed to in writing, software
     14  * distributed under the License is distributed on an "AS IS" BASIS,
     15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     16  * See the License for the specific language governing permissions and
     17  * limitations under the License.
     18  */
     19 
     20 package org.jivesoftware.smackx.workgroup.agent;
     21 
     22 /**
     23  * Type of content being included in the offer. The content actually explains the reason
     24  * the agent is getting an offer.
     25  *
     26  * @author Gaston Dombiak
     27  */
     28 public abstract class OfferContent {
     29 
     30     /**
     31      * Returns true if the content of the offer is related to a user request. This is the
     32      * most common type of offers an agent should receive.
     33      *
     34      * @return true if the content of the offer is related to a user request.
     35      */
     36     abstract boolean isUserRequest();
     37 
     38     /**
     39      * Returns true if the content of the offer is related to a room invitation made by another
     40      * agent. This type of offer include the room to join, metadata sent by the user while joining
     41      * the queue and the reason why the agent is being invited.
     42      *
     43      * @return true if the content of the offer is related to a room invitation made by another agent.
     44      */
     45     abstract boolean isInvitation();
     46 
     47     /**
     48      * Returns true if the content of the offer is related to a service transfer made by another
     49      * agent. This type of offers include the room to join, metadata sent by the user while joining the
     50      * queue and the reason why the agent is receiving the transfer offer.
     51      *
     52      * @return true if the content of the offer is related to a service transfer made by another agent.
     53      */
     54     abstract boolean isTransfer();
     55 }
     56