/** * Public by accident. * @param enumTypedef set the EnumTypedef, only use if getDataType.isEnum() */ public void setEnumTypedef(EnumTypedef enumTypedef) { if (immutable) throw new IllegalStateException("Cant modify"); if (!dataType.isEnum()) throw new UnsupportedOperationException("Can only call Variable.setEnumTypedef() on enum types"); this.enumTypedef = enumTypedef; }
/** * Public by accident. * * @param enumTypedef set the EnumTypedef, only use if getDataType.isEnum() */ public void setEnumTypedef(EnumTypedef enumTypedef) { if (immutable) throw new IllegalStateException("Cant modify"); if (!dataType.isEnum()) throw new UnsupportedOperationException("Can only call Variable.setEnumTypedef() on enum types"); this.enumTypedef = enumTypedef; }
/** * Public by accident. * * @param enumTypedef set the EnumTypedef, only use if getDataType.isEnum() */ public void setEnumTypedef(EnumTypedef enumTypedef) { if (immutable) throw new IllegalStateException("Cant modify"); if (!dataType.isEnum()) throw new UnsupportedOperationException("Can only call Variable.setEnumTypedef() on enum types"); this.enumTypedef = enumTypedef; }
/** * Lookup the enum string for this value. * Can only be called on enum types, where dataType.isEnum() is true. * * @param val the integer value of this enum * @return the String value */ public String lookupEnumString(int val) { if (!dataType.isEnum()) throw new UnsupportedOperationException("Can only call Variable.lookupEnumVal() on enum types"); return enumTypedef.lookupEnumString(val); }
/** * Lookup the enum string for this value. * Can only be called on enum types, where dataType.isEnum() is true. * * @param val the integer value of this enum * @return the String value */ public String lookupEnumString(int val) { if (!dataType.isEnum()) throw new UnsupportedOperationException("Can only call Variable.lookupEnumVal() on enum types"); return enumTypedef.lookupEnumString(val); }
/** * Lookup the enum string for this value. * Can only be called on enum types, where dataType.isEnum() is true. * @param val the integer value of this enum * @return the String value */ public String lookupEnumString(int val) { if (!dataType.isEnum()) throw new UnsupportedOperationException("Can only call Variable.lookupEnumVal() on enum types"); return enumTypedef.lookupEnumString(val); } private EnumTypedef enumTypedef;
Array convert(Array data, Set<NetcdfDataset.Enhance> enhancements) { if (enhancements.contains(Enhance.ConvertEnums) && orgDataType.isEnum()) { // Creates STRING data. As a result, we can return here, because the other conversions don't apply to STRING. return convertEnums(data); } else { return scaleMissingUnsignedProxy.convert(data, enhancements.contains(Enhance.ConvertUnsigned), enhancements.contains(Enhance.ApplyScaleOffset), enhancements.contains(Enhance.ConvertMissing)); } }
public String lookupEnumString(int val) { if (dataType.isEnum()) return super.lookupEnumString(val); return orgVar.lookupEnumString(val); }
@Override public String lookupEnumString(int val) { if (dataType.isEnum()) return super.lookupEnumString(val); return orgVar.lookupEnumString(val); }
public String lookupEnumString(int val) { if (dataType.isEnum()) return super.lookupEnumString(val); return orgVar.lookupEnumString(val); }
protected void writeCDL(Formatter buf, Indent indent, boolean useFullName, boolean strict) { buf.format("%s", indent); if (dataType == null) buf.format("Unknown"); else if (dataType.isEnum()) { if (enumTypedef == null) buf.format("enum UNKNOWN"); else buf.format("enum %s", NetcdfFile.makeValidCDLName(enumTypedef.getShortName())); } else buf.format("%s", dataType.toString()); //if (isVariableLength) buf.append("(*)"); // LOOK buf.format(" "); getNameAndDimensions(buf, useFullName, strict); buf.format(";"); if (!strict) buf.format(extraInfo()); buf.format("%n"); indent.incr(); for (Attribute att : getAttributes()) { buf.format("%s", indent); if (strict) buf.format(NetcdfFile.makeValidCDLName(getShortName())); buf.format(":"); att.writeCDL(buf, strict); buf.format(";"); if (!strict && (att.getDataType() != DataType.STRING)) buf.format(" // %s", att.getDataType()); buf.format("%n"); } indent.decr(); }
protected void writeCDL(Formatter buf, Indent indent, boolean useFullName, boolean strict) { buf.format("%s", indent); if (dataType == null) buf.format("Unknown"); else if (dataType.isEnum()) { if (enumTypedef == null) buf.format("enum UNKNOWN"); else buf.format("enum %s", NetcdfFile.makeValidCDLName(enumTypedef.getShortName())); } else buf.format("%s", dataType.toString()); //if (isVariableLength) buf.append("(*)"); // LOOK buf.format(" "); getNameAndDimensions(buf, useFullName, strict); buf.format(";"); if (!strict) buf.format(extraInfo()); buf.format("%n"); indent.incr(); for (Attribute att : getAttributes()) { buf.format("%s", indent); if (strict) buf.format(NetcdfFile.makeValidCDLName(getShortName())); buf.format(":"); att.writeCDL(buf, strict); buf.format(";"); if (!strict && (att.getDataType() != DataType.STRING)) buf.format(" // %s", att.getDataType()); buf.format("%n"); } indent.decr(); }
protected void writeCDL(Formatter buf, Indent indent, boolean useFullName, boolean strict) { buf.format("%s", indent); if (dataType == null) buf.format("Unknown"); else if (dataType.isEnum()) { if (enumTypedef == null) buf.format("enum UNKNOWN"); else buf.format("enum %s", NetcdfFile.makeValidCDLName(enumTypedef.getShortName())); } else buf.format("%s", dataType.toString()); //if (isVariableLength) buf.append("(*)"); // LOOK buf.format(" "); getNameAndDimensions(buf, useFullName, strict); buf.format(";"); if (!strict) buf.format(extraInfo()); buf.format("%n"); indent.incr(); for (Attribute att : getAttributes()) { if(Attribute.isspecial(att)) continue; buf.format("%s", indent); att.writeCDL(buf, strict, getShortName()); buf.format(";"); if (!strict && (att.getDataType() != DataType.STRING)) buf.format(" // %s", att.getDataType()); buf.format("%n"); } indent.decr(); }
if (this.enhanceMode.contains(Enhance.ConvertEnums) && dataType.isEnum()) {
if (dtype.isEnum()) { EnumTypedef enumTypedef = g.findEnumeration(utype.name); v.setEnumTypedef(enumTypedef);
private Variable makeVariable(Group g, Structure parent, String vname, int typeid, String dimList) throws IOException { //if (typeid == Nc4prototypes.NC_STRING) // System.out.println("HEY"); ConvertedType cvttype = convertDataType(typeid); DataType dtype = cvttype.dt; UserType utype = userTypes.get(typeid); Variable v; if (dtype != DataType.STRUCTURE) { v = new Variable(ncfile, g, parent, vname, dtype, dimList); } else if (utype != null) { Structure s = new Structure(ncfile, g, parent, vname); s.setDimensions(dimList); v = s; if (utype.flds == null) utype.readFields(); //Coverity[FORWARD_NULL] for (Field f : utype.flds) { s.addMemberVariable(f.makeMemberVariable(g, s)); } } else { throw new IllegalStateException("Dunno what to with " + dtype); } if (cvttype.isUnsigned) v.addAttribute(new Attribute(CDM.UNSIGNED, "true")); if (dtype.isEnum()) { EnumTypedef enumTypedef = g.findEnumeration(utype.name); v.setEnumTypedef(enumTypedef); } return v; }
private Variable makeVariable(Group g, Structure parent, String vname, int typeid, String dimList) throws IOException { DataType dtype = convertDataType(typeid).dt; UserType utype = userTypes.get(typeid); Variable v; if (dtype != DataType.STRUCTURE) { v = new Variable(ncfile, g, parent, vname, dtype, dimList); } else if (utype != null) { Structure s = new Structure(ncfile, g, parent, vname); s.setDimensions(dimList); v = s; if (utype.flds == null) utype.readFields(); for (Field f : utype.flds) { s.addMemberVariable(f.makeMemberVariable(g, s)); } } else { throw new IllegalStateException("Dunno what to with " + dtype); } if (isUnsigned(typeid)) v.addAttribute(new Attribute(CDM.UNSIGNED, "true")); if (dtype.isEnum()) { EnumTypedef enumTypedef = g.findEnumeration(utype.name); v.setEnumTypedef(enumTypedef); } return v; }
static NcStreamProto.Variable.Builder encodeVar(Variable var, int sizeToCache) throws IOException { NcStreamProto.Variable.Builder builder = NcStreamProto.Variable.newBuilder(); builder.setName(var.getShortName()); builder.setDataType(convertDataType(var.getDataType())); if (var.getDataType().isEnum()) { EnumTypedef enumType = var.getEnumTypedef(); if (enumType != null) builder.setEnumType(enumType.getShortName()); } for (Dimension dim : var.getDimensions()) { builder.addShape(encodeDim(dim)); } for (Attribute att : var.getAttributes()) { builder.addAtts(encodeAtt(att)); } // put small amounts of data in header "immediate mode" if (var.isCaching() && var.getDataType().isNumeric()) { if (var.isCoordinateVariable() || var.getSize() * var.getElementSize() < sizeToCache) { Array data = var.read(); ByteBuffer bb = data.getDataAsByteBuffer(); builder.setData(ByteString.copyFrom(bb.array())); } } return builder; }
static NcStreamProto.Variable.Builder encodeVar(Variable var, int sizeToCache) throws IOException { NcStreamProto.Variable.Builder builder = NcStreamProto.Variable.newBuilder(); builder.setName(var.getShortName()); builder.setDataType(encodeDataType(var.getDataType())); if (var.isUnsigned()) builder.setUnsigned(true); if (var.getDataType().isEnum()) { EnumTypedef enumType = var.getEnumTypedef(); if (enumType != null) builder.setEnumType(enumType.getShortName()); } for (Dimension dim : var.getDimensions()) { builder.addShape(encodeDim(dim)); } for (Attribute att : var.getAttributes()) { builder.addAtts(encodeAtt(att)); } // put small amounts of data in header "immediate mode" if (var.isCaching() && var.getDataType().isNumeric()) { if (var.isCoordinateVariable() || var.getSize() * var.getElementSize() < sizeToCache) { Array data = var.read(); ByteBuffer bb = data.getDataAsByteBuffer(); builder.setData(ByteString.copyFrom(bb.array())); } } return builder; }
static NcStreamProto.Variable.Builder encodeVar(Variable var, int sizeToCache) throws IOException { NcStreamProto.Variable.Builder builder = NcStreamProto.Variable.newBuilder(); builder.setName(var.getShortName()); builder.setDataType(encodeDataType(var.getDataType())); if (var.isUnsigned()) builder.setUnsigned(true); if (var.getDataType().isEnum()) { EnumTypedef enumType = var.getEnumTypedef(); if (enumType != null) builder.setEnumType(enumType.getShortName()); } for (Dimension dim : var.getDimensions()) { builder.addShape(encodeDim(dim)); } for (Attribute att : var.getAttributes()) { builder.addAtts(encodeAtt(att)); } // put small amounts of data in header "immediate mode" if (var.isCaching() && var.getDataType().isNumeric()) { if (var.isCoordinateVariable() || var.getSize() * var.getElementSize() < sizeToCache) { Array data = var.read(); ByteBuffer bb = data.getDataAsByteBuffer(); builder.setData(ByteString.copyFrom(bb.array())); } } return builder; }