📄 iiometadataformatimpl.java
字号:
} protected void addAttribute (String elementName, String attrName, int dataType, boolean required, String defaultValue) { IIOMetadataNode node = (IIOMetadataNode) nodes.get (elementName); node.setAttributeNode (new IIOMetadataNodeAttr (node, attrName, dataType, required, defaultValue)); } protected void addAttribute (String elementName, String attrName, int dataType, boolean required, String defaultValue, List enumeratedValues) { IIOMetadataNode node = (IIOMetadataNode) nodes.get (elementName); node.setAttributeNode (new IIOMetadataNodeAttrEnumerated (node, attrName, dataType, required, defaultValue, enumeratedValues)); } protected void addAttribute (String elementName, String attrName, int dataType, boolean required, String defaultValue, String minValue, String maxValue, boolean minInclusive, boolean maxInclusive) { IIOMetadataNode node = (IIOMetadataNode) nodes.get (elementName); node.setAttributeNode (new IIOMetadataNodeAttrBounded (node, attrName, dataType, required, defaultValue, minValue, maxValue, minInclusive, maxInclusive)); } protected void addAttribute (String elementName, String attrName, int dataType, boolean required, int listMinLength, int listMaxLength) { IIOMetadataNode node = (IIOMetadataNode) nodes.get (elementName); node.setAttributeNode (new IIOMetadataNodeAttrList (node, attrName, dataType, required, listMinLength, listMaxLength)); } protected void addBooleanAttribute (String elementName, String attrName, boolean hasDefaultValue, boolean defaultValue) { IIOMetadataNode node = (IIOMetadataNode) nodes.get (elementName); List enumeratedValues = new ArrayList(); enumeratedValues.add ("TRUE"); enumeratedValues.add ("FALSE"); node.setAttributeNode (new IIOMetadataNodeAttrEnumerated (node, attrName, IIOMetadataFormat.DATATYPE_BOOLEAN, hasDefaultValue, defaultValue ? "TRUE" : "FALSE", enumeratedValues)); } protected void addChildElement (String elementName, String parentName) { IIOMetadataNode node = (IIOMetadataNode) nodes.get (parentName); node.appendChild (new IIOMetadataNode (elementName)); childPolicies.put (elementName, new Integer (IIOMetadataFormat.CHILD_POLICY_REPEAT)); } protected void addElement (String elementName, String parentName, int childPolicy) { IIOMetadataNode node = (IIOMetadataNode) nodes.get (parentName); node.appendChild (new IIOMetadataNode (elementName)); childPolicies.put (elementName, new Integer (childPolicy)); } protected void addElement (String elementName, String parentName, int minChildren, int maxChildren) { addChildElement (elementName, parentName); childRanges.put (elementName, new int [] { minChildren, maxChildren }); } private void addNodeObject (IIOMetadataNode node, NodeObject o) { node.setUserObject (o); } private NodeObject getNodeObject (IIOMetadataNode node) { return (NodeObject) node.getUserObject (); } private void removeNodeObject (IIOMetadataNode node) { node.setUserObject (null); } protected void addObjectValue (String elementName, Class classType, boolean required, Object defaultValue) { IIOMetadataNode node = (IIOMetadataNode) nodes.get (elementName); addNodeObject (node, new NodeObject (node, classType, required, defaultValue)); } protected void addObjectValue (String elementName, Class classType, boolean required, Object defaultValue, List enumeratedValues) { IIOMetadataNode node = (IIOMetadataNode) nodes.get (elementName); addNodeObject (node, new NodeObjectEnumerated (node, classType, required, defaultValue, enumeratedValues)); } protected void addObjectValue (String elementName, Class classType, Object defaultValue, Comparable minValue, Comparable maxValue, boolean minInclusive, boolean maxInclusive) { IIOMetadataNode node = (IIOMetadataNode) nodes.get (elementName); addNodeObject (node, new NodeObjectBounded (node, classType, defaultValue, minValue, maxValue, minInclusive, maxInclusive)); } protected void addObjectValue (String elementName, Class classType, int arrayMinLength, int arrayMaxLength) { IIOMetadataNode node = (IIOMetadataNode) nodes.get (elementName); addNodeObject (node, new NodeObjectArray (node, classType, arrayMinLength, arrayMaxLength)); } public String getRootName () { return rootName; } protected String getResourceBaseName () { return resourceBaseName; } public static IIOMetadataFormat getStandardFormatInstance () { // FIXME: populate this with the standard metadata format return new IIOMetadataFormatImpl (standardMetadataFormatName, IIOMetadataFormat.CHILD_POLICY_ALL) { public boolean canNodeAppear (String elementName, ImageTypeSpecifier specifier) { return true; } }; } public abstract boolean canNodeAppear (String elementName, ImageTypeSpecifier specifier); protected void removeAttribute (String elementName, String attrName) { IIOMetadataNode node = (IIOMetadataNode) nodes.get (elementName); node.removeAttribute (attrName); } protected void removeElement (String elementName) { nodes.remove (elementName); } protected void removeObjectValue (String elementName) { IIOMetadataNode node = (IIOMetadataNode) nodes.get (elementName); removeNodeObject (node); } protected void setResourceBaseName (String resourceBaseName) { this.resourceBaseName = resourceBaseName; } public int getAttributeDataType (String elementName, String attrName) { IIOMetadataNode node = (IIOMetadataNode) nodes.get (elementName); IIOMetadataNodeAttr attr = (IIOMetadataNodeAttr) node.getAttributeNode (attrName); return attr.getDataType (); } public String getAttributeDefaultValue (String elementName, String attrName) { IIOMetadataNode node = (IIOMetadataNode) nodes.get (elementName); IIOMetadataNodeAttr attr = (IIOMetadataNodeAttr) node.getAttributeNode (attrName); return attr.getValue(); } public String getAttributeDescription (String elementName, String attrName, Locale locale) { return getDescription (elementName + "/" + attrName, locale); } public String[] getAttributeEnumerations (String elementName, String attrName) { IIOMetadataNode node = (IIOMetadataNode) nodes.get (elementName); IIOMetadataNodeAttrEnumerated attr = (IIOMetadataNodeAttrEnumerated) node.getAttributeNode (attrName); Object[] attrEnums = attr.getEnumerations(); String[] attrNames = new String[attrEnums.length]; for (int i = 0; i < attrEnums.length; i++) { attrNames[i] = (String) attrEnums[i]; } return attrNames; } public int getAttributeListMaxLength (String elementName, String attrName) { IIOMetadataNode node = (IIOMetadataNode) nodes.get (elementName); IIOMetadataNodeAttrList attr = (IIOMetadataNodeAttrList) node.getAttributeNode (attrName); return attr.getListMaxLength(); } public int getAttributeListMinLength (String elementName, String attrName) { IIOMetadataNode node = (IIOMetadataNode) nodes.get (elementName); IIOMetadataNodeAttrList attr = (IIOMetadataNodeAttrList) node.getAttributeNode (attrName); return attr.getListMinLength(); } public String getAttributeMaxValue (String elementName, String attrName) { IIOMetadataNode node = (IIOMetadataNode) nodes.get (elementName); IIOMetadataNodeAttrBounded attr = (IIOMetadataNodeAttrBounded) node.getAttributeNode (attrName); return attr.getMaxValue(); } public String getAttributeMinValue (String elementName, String attrName) { IIOMetadataNode node = (IIOMetadataNode) nodes.get (elementName); IIOMetadataNodeAttrBounded attr = (IIOMetadataNodeAttrBounded) node.getAttributeNode (attrName); return attr.getMinValue(); } public String[] getAttributeNames (String elementName) { IIOMetadataNode node = (IIOMetadataNode) nodes.get (elementName); NamedNodeMap attrNodes = node.getAttributes(); String[] attrNames = new String[attrNodes.getLength()]; for (int i = 0; i < attrNodes.getLength(); i++) { attrNames[i] = attrNodes.item (i).getLocalName(); } return attrNames; } public int getAttributeValueType (String elementName, String attrName) { IIOMetadataNode node = (IIOMetadataNode) nodes.get (elementName); IIOMetadataNodeAttr attr = (IIOMetadataNodeAttr) node.getAttributeNode (attrName); return attr.getDataType(); } public String[] getChildNames (String elementName) { IIOMetadataNode node = (IIOMetadataNode) nodes.get (elementName); NodeList childNodes = node.getChildNodes(); String[] childNames = new String[childNodes.getLength()]; for (int i = 0; i < childNodes.getLength(); i++) { childNames[i] = childNodes.item (i).getLocalName(); } return childNames; } public int getChildPolicy (String elementName) { return ((Integer) childPolicies.get (elementName)).intValue(); } private String getDescription (String resourceName, Locale locale) { if (resourceBaseName == null) return null; Locale l = locale; if (l == null) l = Locale.getDefault(); ResourceBundle bundle = ResourceBundle.getBundle (resourceBaseName, locale); String desc = null; if (bundle == null) { try { desc = bundle.getString (resourceName); } catch (MissingResourceException e) { desc = null; } } return desc; } public String getElementDescription (String elementName, Locale locale) { return getDescription (elementName, locale); } public int getElementMaxChildren (String elementName) { return ((int[]) childRanges.get (elementName))[1]; } public int getElementMinChildren (String elementName) { return ((int[]) childRanges.get (elementName))[0]; } public int getObjectArrayMaxLength (String elementName) { IIOMetadataNode node = (IIOMetadataNode) nodes.get (elementName); return ((Integer) ((NodeObjectArray) getNodeObject (node)).getArrayMaxLength ()).intValue(); } public int getObjectArrayMinLength (String elementName) { IIOMetadataNode node = (IIOMetadataNode) nodes.get (elementName); return ((Integer) ((NodeObjectArray) getNodeObject (node)).getArrayMinLength ()).intValue(); } public Class getObjectClass (String elementName) { IIOMetadataNode node = (IIOMetadataNode) nodes.get (elementName); return getNodeObject (node).getClassType (); } public Object getObjectDefaultValue (String elementName) { IIOMetadataNode node = (IIOMetadataNode) nodes.get (elementName); return getNodeObject (node).getDefaultValue (); } public Object[] getObjectEnumerations (String elementName) { IIOMetadataNode node = (IIOMetadataNode) nodes.get (elementName); return ((NodeObjectEnumerated) getNodeObject (node)).getEnumerations (); } public Comparable getObjectMaxValue (String elementName) { IIOMetadataNode node = (IIOMetadataNode) nodes.get (elementName); return ((NodeObjectBounded) getNodeObject (node)).getMaxValue (); } public Comparable getObjectMinValue (String elementName) { IIOMetadataNode node = (IIOMetadataNode) nodes.get (elementName); return ((NodeObjectBounded) getNodeObject (node)).getMinValue (); } public int getObjectValueType (String elementName) { IIOMetadataNode node = (IIOMetadataNode) nodes.get (elementName); NodeObject n = getNodeObject (node); if (n == null) return IIOMetadataFormat.VALUE_NONE; else return n.getValueType (); } public boolean isAttributeRequired (String elementName, String attrName) { IIOMetadataNode node = (IIOMetadataNode) nodes.get (elementName); return ((IIOMetadataNodeAttr) node.getAttributeNode (attrName)).isRequired(); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -