All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.jivesoftware.smackx.workgroup.ext.macros.MacroGroup Maven / Gradle / Ivy

The newest version!
/**
 * $Revision$
 * $Date$
 *
 * Copyright 2003-2007 Jive Software.
 *
 * All rights reserved. Licensed 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.jivesoftware.smackx.workgroup.ext.macros;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;

/**
 * MacroGroup datamodel.
 */
public class MacroGroup {
    private List macros;
    private List macroGroups;


    // Define MacroGroup
    private String title;

    public MacroGroup() {
        macros = new ArrayList();
        macroGroups = new ArrayList();
    }

    public void addMacro(Macro macro) {
        macros.add(macro);
    }

    public void removeMacro(Macro macro) {
        macros.remove(macro);
    }

    public Macro getMacroByTitle(String title) {
        Collection col = Collections.unmodifiableList(macros);
        Iterator iter = col.iterator();
        while (iter.hasNext()) {
            Macro macro = (Macro)iter.next();
            if (macro.getTitle().equalsIgnoreCase(title)) {
                return macro;
            }
        }
        return null;
    }

    public void addMacroGroup(MacroGroup group) {
        macroGroups.add(group);
    }

    public void removeMacroGroup(MacroGroup group) {
        macroGroups.remove(group);
    }

    public Macro getMacro(int location) {
        return (Macro)macros.get(location);
    }

    public MacroGroup getMacroGroupByTitle(String title) {
        Collection col = Collections.unmodifiableList(macroGroups);
        Iterator iter = col.iterator();
        while (iter.hasNext()) {
            MacroGroup group = (MacroGroup)iter.next();
            if (group.getTitle().equalsIgnoreCase(title)) {
                return group;
            }
        }
        return null;
    }

    public MacroGroup getMacroGroup(int location) {
        return (MacroGroup)macroGroups.get(location);
    }


    public List  getMacros() {
        return macros;
    }

    public void setMacros(List macros) {
        this.macros = macros;
    }

    public List getMacroGroups() {
        return macroGroups;
    }

    public void setMacroGroups(List macroGroups) {
        this.macroGroups = macroGroups;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }
    
    public String toXML() {
    	StringBuilder buf = new StringBuilder();
    	buf.append("");
    	buf.append("" +  getTitle() + "");
    	buf.append("");
    	for (Macro macro : getMacros())
		{
    		buf.append("");
    		buf.append("" + macro.getTitle() + "");
    		buf.append("" + macro.getType() + "");
    		buf.append("" + macro.getDescription() + "");
    		buf.append("" + macro.getResponse() + "");
    		buf.append("");
		}
    	buf.append("");
    	
    	if (getMacroGroups().size() > 0) {
    		buf.append("");
    		for (MacroGroup groups : getMacroGroups()) {
    			buf.append(groups.toXML());
    		}
    		buf.append("");
    	}
    	buf.append("");
    	return buf.toString(); 
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy