
org.efaps.update.schema.help.HelpMenuUpdate Maven / Gradle / Ivy
/*
* Copyright 2003 - 2013 The eFaps Team
*
* 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.
*
* Revision: $Rev: 8848 $
* Last Changed: $Date: 2013-02-19 10:49:59 -0500 (Tue, 19 Feb 2013) $
* Last Changed By: $Author: [email protected] $
*/
package org.efaps.update.schema.help;
import java.net.URL;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
import org.efaps.update.AbstractUpdate;
import org.efaps.update.LinkInstance;
/**
* TODO comment!
*
* @author The eFaps Team
* @version $Id: HelpMenuUpdate.java 8848 2013-02-19 15:49:59Z [email protected] $
*/
public class HelpMenuUpdate
extends AbstractUpdate
{
/** Link from menu to child command / menu. */
private static final Link LINK2CHILD = new OrderedLink("Admin_Help_Menu2Menu",
"FromLink",
"Admin_Help_Menu", "ToLink");
/** Link from menu to type as type tree menu. */
private static final Link LINK2WIKI = new Link("Admin_Help_Menu2Wiki",
"FromLink",
"Admin_Program_Wiki", "ToLink");
/**
* Set of all links for wiki menus.
*/
private static final Set ALLLINKS = new HashSet();
static {
HelpMenuUpdate.ALLLINKS.add(HelpMenuUpdate.LINK2CHILD);
HelpMenuUpdate.ALLLINKS.add(HelpMenuUpdate.LINK2WIKI);
}
/**
* Constructor calling the super constructor.
* @param _url URL to the xml definition file.
*/
public HelpMenuUpdate(final URL _url)
{
super(_url, "Admin_Help_Menu", HelpMenuUpdate.ALLLINKS);
}
/**
* {@inheritDoc}
*/
@Override
protected AbstractDefinition newDefinition()
{
return new WikiMenuDefinition();
}
/**
* Definition for the wiki menu.
*/
protected class WikiMenuDefinition
extends AbstractDefinition
{
/**
* {@inheritDoc}
*/
@Override
protected void readXML(final List _tags,
final Map _attributes,
final String _text)
{
final String value = _tags.get(0);
if ("childs".equals(value)) {
if (_tags.size() > 1) {
final String subValue = _tags.get(1);
if ("child".equals(subValue)) {
addLink(HelpMenuUpdate.LINK2CHILD, new LinkInstance(_text));
} else {
super.readXML(_tags, _attributes, _text);
}
}
} else if ("target".equals(value)) {
if (_tags.size() == 2) {
final String subValue = _tags.get(1);
if ("wiki".equals(subValue)) {
addLink(HelpMenuUpdate.LINK2WIKI, new LinkInstance(_text));
}
}
} else {
super.readXML(_tags, _attributes, _text);
}
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy