/*******************************************************************************
* Copyright (c) 2007 Exadel, Inc. and Red Hat, Inc.
* Distributed under license by Red Hat, Inc. All rights reserved.
* This program is made available under the terms of the
* Eclipse Public License v1.0 which accompanies this distribution,
* and is available at http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Exadel, Inc. and Red Hat, Inc. - initial API and implementation
******************************************************************************/
package org.jboss.tools.common.meta.action.impl.handlers;
import org.jboss.tools.common.meta.*;
import org.jboss.tools.common.meta.action.*;
import org.jboss.tools.common.meta.constraint.impl.XAttributeConstraintAList;
public class HUtil {
public HUtil() {}
public static XAttributeData find(Object data, int index, String nm) {
XAttributeData[] ad = find(data, index);
return (ad == null) ? null : find(ad, nm);
}
public static XAttributeData[] find(Object data, int index) {
XEntityData[] ed = (XEntityData[])data;
return (index >= ed.length) ? null : ed[index].getAttributeData();
}
public static XAttributeData find(XAttributeData[] ad, String nm) {
for (int i = 0; i < ad.length; i++) {
XAttribute a = ad[i].getAttribute();
if(a != null && a.getName().equals(nm)) return ad[i];
}
return null;
}
public static String getValue(XEntityData[] data, int index, String nm) {
XAttributeData d = find(data, index, nm);
String v = (d == null) ? null : d.getValue();
return (v == null) ? null : d.getAttribute().isTrimmable()
? v.trim() : v;
}
public static void hackAttributeConstraintList(XEntityData[] data, int index, String attr, String[] values) {
XAttributeData ad = HUtil.find(data, index, attr);
XAttribute a = ad.getAttribute();
XAttributeConstraintAList c = (XAttributeConstraintAList)a.getConstraint();
c.setValues(values);
}
}