| /* |
| * Licensed to the Apache Software Foundation (ASF) under one or more |
| * contributor license agreements. See the NOTICE file distributed with |
| * this work for additional information regarding copyright ownership. |
| * The ASF licenses this file to You under the Apache License, Version 2.0 |
| * (the "License"); you may not use this file except in compliance with |
| * the License. You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| package flex.messaging.io.amf; |
| |
| import flex.messaging.io.MessageIOConstants; |
| import flex.messaging.messages.MessagePerformanceInfo; |
| |
| import java.io.ByteArrayOutputStream; |
| import java.io.Serializable; |
| |
| /** |
| * A context for reading and writing messages. |
| * |
| */ |
| public class ActionContext implements Serializable |
| { |
| static final long serialVersionUID = 2300156738426801921L; |
| private int messageNumber; |
| private ActionMessage requestMessage; |
| private ActionMessage responseMessage; |
| private ByteArrayOutputStream outBuffer; |
| |
| private int status; |
| private int version; |
| |
| private boolean legacy; |
| public boolean isPush; |
| public boolean isDebug; |
| |
| /** |
| * |
| * Performance metrics related field, keeps track of bytes deserialized using this context |
| */ |
| private int deserializedBytes; |
| |
| /** |
| * |
| * Performance metrics related field, keeps track of bytes serialized using this context |
| */ |
| private int serializedBytes; |
| |
| /** |
| * |
| * Performance metrics related field, recordMessageSizes flag |
| */ |
| private boolean recordMessageSizes; |
| |
| /** |
| * |
| * Performance metrics related field, recordMessageTimes flag |
| */ |
| private boolean recordMessageTimes; |
| |
| /** |
| * |
| * Performance metrics related field, incoming MPI object, will only be populated when one of |
| * the record-message-* params is enabled |
| */ |
| private MessagePerformanceInfo mpii; |
| |
| /** |
| * |
| * Performance metrics related field, outgoing MPI object, will only be populated when one of |
| * the record-message-* params is enabled |
| */ |
| private MessagePerformanceInfo mpio; |
| |
| public ActionContext() |
| { |
| status = MessageIOConstants.STATUS_OK; |
| } |
| |
| public boolean isLegacy() |
| { |
| return legacy; |
| } |
| |
| public void setLegacy(boolean legacy) |
| { |
| this.legacy = legacy; |
| } |
| |
| public int getMessageNumber() |
| { |
| return messageNumber; |
| } |
| |
| public void setMessageNumber(int messageNumber) |
| { |
| this.messageNumber = messageNumber; |
| } |
| |
| public MessageBody getRequestMessageBody() |
| { |
| return requestMessage.getBody(messageNumber); |
| } |
| |
| public ActionMessage getRequestMessage() |
| { |
| return requestMessage; |
| } |
| |
| public void setRequestMessage(ActionMessage requestMessage) |
| { |
| this.requestMessage = requestMessage; |
| } |
| |
| public ActionMessage getResponseMessage() |
| { |
| return responseMessage; |
| } |
| |
| public MessageBody getResponseMessageBody() |
| { |
| return responseMessage.getBody(messageNumber); |
| } |
| |
| public void setResponseMessage(ActionMessage responseMessage) |
| { |
| this.responseMessage = responseMessage; |
| } |
| |
| public void setResponseOutput(ByteArrayOutputStream out) |
| { |
| outBuffer = out; |
| } |
| |
| public ByteArrayOutputStream getResponseOutput() |
| { |
| return outBuffer; |
| } |
| |
| public int getStatus() |
| { |
| return status; |
| } |
| |
| public void setStatus(int status) |
| { |
| this.status = status; |
| } |
| |
| public void setVersion(int v) |
| { |
| version = v; |
| } |
| |
| public int getVersion() |
| { |
| return version; |
| } |
| |
| public void incrementMessageNumber() |
| { |
| messageNumber++; |
| } |
| |
| public int getDeserializedBytes() |
| { |
| return deserializedBytes; |
| } |
| |
| public void setDeserializedBytes(int deserializedBytes) |
| { |
| this.deserializedBytes = deserializedBytes; |
| } |
| |
| public int getSerializedBytes() |
| { |
| return serializedBytes; |
| } |
| |
| public void setSerializedBytes(int serializedBytes) |
| { |
| this.serializedBytes = serializedBytes; |
| } |
| |
| public MessagePerformanceInfo getMPII() |
| { |
| return mpii; |
| } |
| |
| public void setMPII(MessagePerformanceInfo mpii) |
| { |
| this.mpii = mpii; |
| } |
| |
| public MessagePerformanceInfo getMPIO() |
| { |
| return mpio; |
| } |
| |
| public void setMPIO(MessagePerformanceInfo mpio) |
| { |
| this.mpio = mpio; |
| } |
| |
| public boolean isRecordMessageSizes() |
| { |
| return recordMessageSizes; |
| } |
| |
| public void setRecordMessageSizes(boolean recordMessageSizes) |
| { |
| this.recordMessageSizes = recordMessageSizes; |
| } |
| |
| public boolean isRecordMessageTimes() |
| { |
| return recordMessageTimes; |
| } |
| |
| public boolean isMPIenabled() |
| { |
| return recordMessageTimes || recordMessageSizes; |
| } |
| |
| public void setRecordMessageTimes(boolean recordMessageTimes) |
| { |
| this.recordMessageTimes = recordMessageTimes; |
| } |
| |
| } |