flex2.compiler.common.FramesConfiguration Maven / Gradle / Ivy
/*
*
* 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 flex2.compiler.common;
import flex2.compiler.config.ConfigurationException;
import flex2.compiler.config.ConfigurationValue;
import flex2.compiler.config.ConfigurationInfo;
import flex2.compiler.util.NameFormatter;
import java.util.List;
import java.util.LinkedList;
import java.util.Iterator;
/**
* This class defines the frame related configuration options.
*
*
*
*
* foo
* bar
*
*
*
* moo
*
*
*
*
* @author Roger Gonzalez
*/
public class FramesConfiguration
{
/**
* This value object represents a frame's name and classes.
*/
public static class FrameInfo
{
public String label = null;
public List frameClasses = new LinkedList();
}
//
// 'frames.frame' option
//
private List frameList = new LinkedList();
public List getFrameList()
{
return frameList;
}
public void cfgFrame( ConfigurationValue cv, List args ) throws ConfigurationException
{
FrameInfo info = new FrameInfo();
if (args.size() < 2)
throw new ConfigurationException.BadFrameParameters( cv.getVar(), cv.getSource(), cv.getLine() );
for (Iterator it = args.iterator(); it.hasNext();)
{
if (info.label == null)
{
info.label = (String) it.next();
}
else
{
String clsName = (String)it.next();
info.frameClasses.add( NameFormatter.toColon(clsName) );
}
}
frameList.add( info );
}
public static ConfigurationInfo getFrameInfo()
{
return new ConfigurationInfo( -1, new String[] {"label", "classname"} )
{
public boolean isAdvanced()
{
return true;
}
public boolean allowMultiple()
{
return true;
}
};
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy