public boolean passesFilters(DataType dt) {

		DataTypeManager dtm = dt.getDataTypeManager();
		if (dtm instanceof BuiltInDataTypeManager) {
			// never filter built-in types here; users can filter them using the text filter
			return true;
		}

		DataType baseDt = DataTypeUtils.getBaseDataType(dt);

		if (dt instanceof Array) {
			return passes(arraysFilter, dt);
		}

		if (dt instanceof Pointer) {
			return passes(pointersFilter, dt);
		}

		if (baseDt instanceof Enum) {
			return passes(enumsFilter, dt);
		}

		if (baseDt instanceof Function) {
			return passes(functionsFilter, dt);
		}

		if (baseDt instanceof Structure) {
			return passes(structuresFilter, dt);
		}

		if (baseDt instanceof Union) {
			return passes(unionsFilter, dt);
		}

		return true;
	}
A simple object to store various filter settings for the data type provider.
Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/datamgr/tree/DtFilterState.java