first commit
This commit is contained in:
82
hrmsEjb/net/sf/jasperreports/engine/JRHyperlinkHelper.java
Normal file
82
hrmsEjb/net/sf/jasperreports/engine/JRHyperlinkHelper.java
Normal file
@@ -0,0 +1,82 @@
|
||||
package net.sf.jasperreports.engine;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
public class JRHyperlinkHelper {
|
||||
public static final String HYPERLINK_TYPE_NONE = "None";
|
||||
|
||||
public static final String HYPERLINK_TYPE_REFERENCE = "Reference";
|
||||
|
||||
public static final String HYPERLINK_TYPE_LOCAL_ANCHOR = "LocalAnchor";
|
||||
|
||||
public static final String HYPERLINK_TYPE_LOCAL_PAGE = "LocalPage";
|
||||
|
||||
public static final String HYPERLINK_TYPE_REMOTE_ANCHOR = "RemoteAnchor";
|
||||
|
||||
public static final String HYPERLINK_TYPE_REMOTE_PAGE = "RemotePage";
|
||||
|
||||
private static final Map builtinTypes = createBuiltinTypes();
|
||||
|
||||
private static Map createBuiltinTypes() {
|
||||
Map types = new HashMap();
|
||||
types.put("None", new Byte((byte)1));
|
||||
types.put("Reference", new Byte((byte)2));
|
||||
types.put("LocalAnchor", new Byte((byte)3));
|
||||
types.put("LocalPage", new Byte((byte)4));
|
||||
types.put("RemoteAnchor", new Byte((byte)5));
|
||||
types.put("RemotePage", new Byte((byte)6));
|
||||
return types;
|
||||
}
|
||||
|
||||
public static byte getHyperlinkType(JRHyperlink hyperlink) {
|
||||
return getHyperlinkType(hyperlink.getLinkType());
|
||||
}
|
||||
|
||||
public static byte getHyperlinkType(String linkType) {
|
||||
byte type;
|
||||
if (linkType == null) {
|
||||
type = 1;
|
||||
} else {
|
||||
Byte builtinType = (Byte)builtinTypes.get(linkType);
|
||||
if (builtinType == null) {
|
||||
type = 7;
|
||||
} else {
|
||||
type = builtinType.byteValue();
|
||||
}
|
||||
}
|
||||
return type;
|
||||
}
|
||||
|
||||
public static String getLinkType(byte hyperlinkType) {
|
||||
String type;
|
||||
switch (hyperlinkType) {
|
||||
case 0:
|
||||
case 1:
|
||||
type = null;
|
||||
return type;
|
||||
case 2:
|
||||
type = "Reference";
|
||||
return type;
|
||||
case 3:
|
||||
type = "LocalAnchor";
|
||||
return type;
|
||||
case 4:
|
||||
type = "LocalPage";
|
||||
return type;
|
||||
case 5:
|
||||
type = "RemoteAnchor";
|
||||
return type;
|
||||
case 6:
|
||||
type = "RemotePage";
|
||||
return type;
|
||||
case 7:
|
||||
throw new JRRuntimeException("Custom hyperlink types cannot be specified using the byte constant");
|
||||
}
|
||||
throw new JRRuntimeException("Unknown hyperlink type " + hyperlinkType);
|
||||
}
|
||||
|
||||
public static boolean isEmpty(JRHyperlink hyperlink) {
|
||||
return (hyperlink == null || (hyperlink.getHyperlinkType() == 1 && hyperlink.getHyperlinkTooltipExpression() == null));
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user