| /** |
| * 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 org.apache.activemq.nms.openwire.tool.commands; |
| |
| import java.io.PrintWriter; |
| |
| public class MessageIdGenerator extends CommandClassGenerator { |
| |
| protected void generateProperties( PrintWriter out ) { |
| |
| super.generateProperties(out); |
| |
| out.println(" private string key = null;"); |
| out.println(""); |
| } |
| |
| protected void generateConstructors( PrintWriter out ) { |
| |
| out.println(" public "+getClassName()+"() : base()"); |
| out.println(" {"); |
| out.println(" }"); |
| out.println(""); |
| out.println(" public "+getClassName()+"(ProducerId producerId, long producerSequenceId) : base()"); |
| out.println(" {"); |
| out.println(" this.producerId = producerId;"); |
| out.println(" this.producerSequenceId = producerSequenceId;"); |
| out.println(" }"); |
| out.println(""); |
| out.println(" public "+getClassName()+"(string value) : base()"); |
| out.println(" {"); |
| out.println(" this.SetValue(value);"); |
| out.println(" }"); |
| out.println(""); |
| |
| super.generateConstructors(out); |
| } |
| |
| protected void generateToStringBody( PrintWriter out ) { |
| |
| out.println(" if(key == null) "); |
| out.println(" {"); |
| out.println(" key = producerId.ToString() + \":\" + producerSequenceId + \":\" + brokerSequenceId;"); |
| out.println(" }"); |
| out.println(" "); |
| out.println(" return key;"); |
| } |
| |
| protected void generateAdditonalMembers( PrintWriter out ) { |
| |
| out.println(" /// <summary>"); |
| out.println(" /// Sets the value as a String"); |
| out.println(" /// </summary>"); |
| out.println(" public void SetValue(string messageKey)"); |
| out.println(" {"); |
| out.println(" this.key = messageKey;"); |
| out.println(""); |
| out.println(" // Parse off the sequenceId"); |
| out.println(" int p = messageKey.LastIndexOf(\":\");"); |
| out.println(" if(p >= 0)"); |
| out.println(" {"); |
| out.println(" producerSequenceId = Int64.Parse(messageKey.Substring(p + 1));"); |
| out.println(" messageKey = messageKey.Substring(0, p);"); |
| out.println(" }"); |
| out.println(" producerId = new ProducerId(messageKey);"); |
| out.println(" }"); |
| out.println(""); |
| |
| super.generateAdditonalMembers( out ); |
| } |
| } |