You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

ImportNode.java 1.4KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. package com.vaadin.sass.tree;
  2. import org.w3c.css.sac.SACMediaList;
  3. public class ImportNode extends Node {
  4. private static final long serialVersionUID = 5671255892282668438L;
  5. private String uri;
  6. private SACMediaList ml;
  7. private boolean isURL;
  8. public ImportNode(String uri, SACMediaList ml, boolean isURL) {
  9. super();
  10. this.uri = uri;
  11. this.ml = ml;
  12. this.isURL = isURL;
  13. }
  14. public boolean isPureCssImport() {
  15. return (isURL || uri.endsWith(".css") || uri.startsWith("http://") || hasMediaQueries());
  16. }
  17. private boolean hasMediaQueries() {
  18. return (ml != null && ml.getLength() >= 1 && !"all".equals(ml.item(0)));
  19. }
  20. @Override
  21. public String toString() {
  22. StringBuilder builder = new StringBuilder("@import ");
  23. if (isURL) {
  24. builder.append("url(").append(uri).append(")");
  25. } else {
  26. builder.append("\"").append(uri).append("\"");
  27. }
  28. if (hasMediaQueries()) {
  29. for (int i = 0; i < ml.getLength(); i++) {
  30. builder.append(" ").append(ml.item(i));
  31. }
  32. }
  33. builder.append(";");
  34. return builder.toString();
  35. }
  36. public String getUri() {
  37. return uri;
  38. }
  39. public void setUri(String uri) {
  40. this.uri = uri;
  41. }
  42. public SACMediaList getMl() {
  43. return ml;
  44. }
  45. }