Example usage for org.apache.wicket.model AbstractReadOnlyModel AbstractReadOnlyModel

List of usage examples for org.apache.wicket.model AbstractReadOnlyModel AbstractReadOnlyModel

Introduction

In this page you can find the example usage for org.apache.wicket.model AbstractReadOnlyModel AbstractReadOnlyModel.

Prototype

AbstractReadOnlyModel

Source Link

Usage

From source file:com.lyndir.lhunath.opal.wayward.behavior.CSSClassAttributeAppender.java

License:Apache License

/**
 * @param cssClassModels Models that provides CSS classes to append to the element's <code>class</code> attribute.
 *
 * @return An appender which appends all the CSS classes in the collection from the given model to a component's HTML element.
 *///ww  w.  jav  a  2  s .  co  m
public static CSSClassAttributeAppender of(final IModel<?>... cssClassModels) {

    return ofList(new AbstractReadOnlyModel<Collection<String>>() {

        @Override
        public Collection<String> getObject() {

            return Collections2.transform(Arrays.asList(cssClassModels), new Function<IModel<?>, String>() {

                @Nullable
                @Override
                public String apply(final IModel<?> from) {

                    return from.getObject() == null ? null : String.valueOf(from.getObject());
                }
            });
        }
    });
}

From source file:com.lyndir.lhunath.opal.wayward.behavior.CSSClassAttributeAppender.java

License:Apache License

/**
 * @param cssClass The CSS class to append to the element's <code>class</code> attribute.
 *//*from  ww  w.j a v a 2 s  .c  om*/
public CSSClassAttributeAppender(final String cssClass) {

    // noinspection RedundantCast
    this(new AbstractReadOnlyModel<String>() {

        @Override
        public String getObject() {

            return cssClass;
        }
    }, (String) null);
}

From source file:com.lyndir.lhunath.opal.wayward.behavior.CSSClassAttributeAppender.java

License:Apache License

/**
 * @param cssClasses An array of CSS classes to append to the element's <code>class</code> attribute.
 *//*from  w  w  w.  j  a va 2  s.  c  o  m*/
public CSSClassAttributeAppender(final String... cssClasses) {

    // noinspection RedundantCast
    this(new AbstractReadOnlyModel<List<String>>() {

        @Override
        public List<String> getObject() {

            return Arrays.asList(cssClasses);
        }
    }, (Collection<?>) null);
}

From source file:com.lyndir.lhunath.opal.wayward.behavior.CSSClassAttributeAppender.java

License:Apache License

private CSSClassAttributeAppender(final IModel<? extends Collection<String>> appendModel,
        @Nullable @SuppressWarnings("unused") final Collection<?> x) {

    // noinspection RedundantCast
    this(new AbstractReadOnlyModel<String>() {

        @Override/* ww  w.  j a v a 2  s. co  m*/
        public String getObject() {

            StringBuilder stringBuilder = new StringBuilder();

            for (final String item : appendModel.getObject())
                if (item != null && !item.isEmpty())
                    stringBuilder.append(item).append(CLASS_SEPARATOR);

            if (stringBuilder.length() > 0)
                stringBuilder.deleteCharAt(stringBuilder.length() - 1);

            return stringBuilder.toString();
        }
    }, (String) null);
}

From source file:com.lyndir.lhunath.opal.wayward.behavior.CSSStyleAttributeAppender.java

License:Apache License

/**
 * @param property The CSS property that should be modified.
 * @param value    The CSS property value that should be applied.
 *//* w  ww  .j a v a 2 s  . co m*/
public CSSStyleAttributeAppender(final String property, final String value) {

    // noinspection RedundantCast
    this(property, new AbstractReadOnlyModel<String>() {

        @Override
        public String getObject() {

            return value;
        }
    });
}

From source file:com.lyndir.lhunath.opal.wayward.component.LanguageLink.java

License:Apache License

/**
 * @param id    The wicket ID./*  w w w  .j  av  a2s  .c om*/
 * @param model The 2-letter ISO language code.
 */
public LanguageLink(final String id, final IModel<String> model) {

    super(id, model);

    add(new AttributeAppender("class", new AbstractReadOnlyModel<String>() {

        @Nullable
        @Override
        public String getObject() {

            return Session.get().getLocale().getLanguage().equals(getModelObject()) ? "active" : null;
        }
    }, ";"));
}

From source file:com.lyndir.lhunath.opal.wayward.model.ModelProvider.java

License:Apache License

/**
 * @return This model wrapped in another.
 *///w w  w  .j  a  v  a2  s .c  om
public IModel<P> getModel() {

    if (model == null)
        model = new AbstractReadOnlyModel<P>() {

            @Override
            @SuppressWarnings("unchecked")
            public P getObject() {

                return (P) ModelProvider.this;
            }
        };

    return model;
}

From source file:com.lyndir.lhunath.portal.apps.page.DemoPage.java

License:Apache License

public DemoPage() {

    add(new StringHeaderContributor(new LoadableDetachableModel<String>() {
        @Override// w  w  w  . j  a va  2 s  . com
        protected String load() {

            if (AppVersion.getLatest().hasVideo())
                return new JavaScriptTemplate(new PackagedTextTemplate(getPageClass(), "showMovie.js"))
                        .asString(ImmutableMap.<String, Object>builder() //
                                .put("movieLink", AppVersion.getLatest().getFLVLink())
                                .put("pageTrackCode", AppVersion.getLatest().getFLVPageTrackCode()).build());

            return "";
        }
    }));

    add(new Label("tagline", new AbstractReadOnlyModel<String>() {

        @Override
        public String getObject() {

            return AppVersion.getLatest().getTagLine();
        }
    }) {

        @Override
        public boolean isVisible() {

            return AppVersion.getLatest().getTagLine() != null;
        }
    });

    add(new Label("description", new AbstractReadOnlyModel<String>() {

        @Override
        public String getObject() {

            return AppVersion.getLatest().getDescription();
        }
    }) {

        @Override
        public boolean isVisible() {

            return AppVersion.getLatest().getDescription() != null;
        }
    }.setEscapeModelStrings(false));

    add(new WebMarkupContainer("youtube") {

        @Override
        protected void onComponentTag(final ComponentTag tag) {

            tag.put("href", //
                    AppVersion.getLatest().getYouTubeLink());
            tag.put("onclick", //
                    AppVersion.getLatest().getYouTubePageTrackCode());

            super.onComponentTag(tag);
        }

        @Override
        public boolean isVisible() {

            return AppVersion.getLatest().hasVideo();
        }
    });
    add(new WebMarkupContainer("mpeg") {

        @Override
        protected void onComponentTag(final ComponentTag tag) {

            tag.put("href", //
                    AppVersion.getLatest().getMP4Link());
            tag.put("onclick", //
                    AppVersion.getLatest().getMP4PageTrackCode());

            super.onComponentTag(tag);
        }

        @Override
        public boolean isVisible() {

            return AppVersion.getLatest().hasVideo();
        }
    });

    add(new WebMarkupContainer("iphone-youtube") {

        @Override
        protected void onComponentTag(final ComponentTag tag) {

            tag.put("href", //
                    AppVersion.getLatest().getYouTubeLink());
            tag.put("onclick", //
                    AppVersion.getLatest().getYouTubePageTrackCode());

            super.onComponentTag(tag);
        }

        @Override
        public boolean isVisible() {

            return AppVersion.getLatest().hasVideo();
        }
    });
}

From source file:com.lyndir.lhunath.snaplog.webapp.tab.SharedTabPanel.java

License:Apache License

/**
 * Create a new {@link SharedTabPanel} instance.
 *
 * @param id    The wicket ID that will hold the {@link SharedTabPanel}.
 *//*from   w  w w .j a  v a  2  s. c o  m*/
SharedTabPanel(final String id) {

    super(id, new SharedTabModels(Model.<MediaMapping>of()).getModel());

    add(new FocusedView("focused", new AbstractReadOnlyModel<Media>() {
        @Override
        public Media getObject() {

            return getModelObject().getObject();
        }
    }));
}

From source file:com.marc.lastweek.web.components.classifiedaddetails.ClassifiedAdImagePanel.java

License:Open Source License

public ClassifiedAdImagePanel(String id, final File file) {
    super(id);//from   w w w  .j ava 2 s .c o m
    this.add(new NonCachingImage("image", new AbstractReadOnlyModel() {

        private static final long serialVersionUID = 2231398467162415338L;

        @Override
        public Object getObject() {
            return new ThumbnailImageResource(new ImageFileResource(file), IMAGE_THUMBNAIL_SIZE);
        }
    }));
}