text:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="match_parent"
    android:layout_height="match_parent">

    <include layout="@layout/toolbar_material" /> <!-- placeholder, empty except on L -->

    <FrameLayout
        android:id="@+id/fragment_container"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

    <include
        layout="@layout/empty_view">
    </include>

    <RelativeLayout
        android:id="@+id/pb_loading"
        android:visibility="gone"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
        <me.zhanghai.android.materialprogressbar.MaterialProgressBar
            xmlns:app="http://schemas.android.com/apk/res-auto"
            android:layout_centerInParent="true"
            android:tint="@color/primary"
            android:layout_width="45dp"
            android:layout_height="45dp"
            android:indeterminate="true"
            app:mpb_progressStyle="circular"
            style="@style/Widget.MaterialProgressBar.ProgressBar.Horizontal" />
    </RelativeLayout>

</LinearLayout>


text:
<form ng-submit="validateSavingTheData('newAuthor', 'Authors');"  novalidate>

            Create Publication

            Update Publication

            Update Publication for Sample {{sampleName}}

            Submit Publication for {{sampleName}}

            Help
            Help
            Help

            Glossary

            {{message}}

        Publication Type *

                        <select ng-disabled="loader" id="category" ng-model="publicationForm.category"
                                required>
                            <option ng-repeat="option in publicationCategories" value="{{option}}" ng-selected="{{option==publicationForm.category}}">
                                {{option}}
                            </option>
                            <option value="other">
                                [other]
                            </option>
                        </select>
                        Select a valid Type

                                        New Publication Type:

                                        <input type="text" id="textCategory" ng-model='localForm.otherCategoryText' class="promptbox">

                                        <input type="button" class="promptButton" value="Add" ng-click="publicationForm.category=localForm.otherCategoryText; publicationCategories.push(localForm.otherCategoryText);">
                                        <input type="button" class="promptButton" value="Cancel" ng-click="publicationForm.category='';">

                    Publication Status*

                        <select ng-disabled="loader" id="status" ng-model="publicationForm.status"
                                 required>
                            <option ng-repeat="option in publicationStatuses" value="{{option}}" ng-selected="{{option==publicationForm.status}}">
                                {{option}}
                            </option>
                            <option value="other">
                                [other]
                            </option>
                        </select>
                        Select a valid Status

                                        New Publication Status:

                                        <input type="text" id="textStatus" ng-model='localForm.otherStatusText' class="promptbox">

                                        <input type="button" class="promptButton" value="Add" ng-click="publicationForm.status=localForm.otherStatusText; publicationStatuses.push(localForm.otherStatusText);">
                                        <input type="button" class="promptButton" value="Cancel" ng-click="publicationForm.status='';">

        PubMed ID

         Click to look up PubMed Identifier

        <input type="text" ng-model="publicationForm.pubMedId" size="50" value="" ng-model-onblur ng-change="fillPubMedInfo()" id="publicationForm.pubMedId">

         clicking outside of the text field after entering a valid
            PubMed ID enables auto-population of PubMed related fields

        Digital Object ID

        <input type="text" ng-model="publicationForm.digitalObjectId" size="30" value="" ng-change="updateWithExistingDOI()" id="publicationForm.digitalObjectId">

        Title*

        <input type="text" ng-model="publicationForm.title" size="120" value="" id="publicationForm.title" required>
        Enter a valid Title

        Journal

        <input type="text" ng-model="publicationForm.journalName" size="120" value="" id="publicationForm.journalName">

        Year of Publication

        <input type="text" ng-model="publicationForm.year" size="5" value="" ng-keydown="filterInteger(event);" id="publicationForm.year">

        Volume

                    <input type="text" ng-model="publicationForm.volume" size="8" value="" id="publicationForm.volume">

                    Start Page

                    <input type="text" ng-model="publicationForm.startPage" size="8" value="" id="publicationForm.startPage">

                    End Page

                    <input type="text" ng-model="publicationForm.endPage" size="8" value="" id="publicationForm.endPage">

        Authors

            <button type="button" class="btn btn-primary btn-xxs" ng-click="addNewAuthor=true" id="addAuthor">Add</button>

                        First Name

                        Last Name

                        Initials

                        {{author.firstName}}

                        {{author.lastName}}

                        {{author.initial}}

                        <input class="noBorderButton" id="edit" type="button"
                               value="Edit" style="display: block"
                               ng-click="editAuthor({{author.id}});" />

                    	<input type="hidden" ng-model="theAuthor.id" value="" id="id">
                        First Name

                        <input type="text" ng-model="theAuthor.firstName" value="" id="firstName">

                        Last Name

                        <input type="text" ng-model="theAuthor.lastName" value="" id="lastName">

                        Initials

                        <input type="text" ng-model="theAuthor.initial" value="" id="initial">

                        <input class="promptButton"
                               id="deleteAuthor" type="button" value="Remove"
                               ng-click="deleteAuthor()" />

                            <input class="promptButton" type="button" value="Save"
                                   ng-click="addAuthor();" />
                            <input class="promptButton" type="button" value="Cancel"
                                   ng-click="addNewAuthor=false" />

        Keywords

        (one keyword per line)

        <textarea ng-model="publicationForm.keywordsStr" cols="80" rows="3" id="publicationForm.keywordsStr"></textarea>

        Description

        <textarea ng-model="publicationForm.description" cols="120" rows="8" id="publicationForm.description"></textarea>

        Research Category

        <select ng-disabled="loader" id="publicationForm.researchArea" ng-model="publicationForm.researchAreas" size="7" multiple="multiple">
            <option ng-repeat="option in publicationResearchAreas" value="{{option}}">
                {{option}}
            </option>
        </select>

            File

                            <input type="radio" ng-model="publicationForm.uriExternal" value="false" ng-checked="externalUrlEnabled==false" id="external0">
                            Upload

                            <input type="radio" ng-model="publicationForm.uriExternal" value="true" ng-checked="externalUrlEnabled==true" id="external1">
                            Enter File URL

        						<input type="file" ng-model="publicationForm.uploadedFile" size="60" value="" ng-file-select="onFileSelect($files)" id="uploadedFile">
        						{{selectedFileName}}

			                    {{publicationForm.uri}}

                                <input type="text" ng-model="publicationForm.externalUrl" size="60" value="" id="externalUrl">  [Disclaimer]

                Sample Name

                            <textarea ng-model="publicationForm.sampleNamesStr" cols="60" rows="5" id="publicationForm.associatedSampleNames"></textarea>
                            one name per line

                            <button class="sampleSearchLookup" ng-click="showSearchSampleTable=true;searchMatchedSamples();">Search For Samples</button>

                                    <select ng-hide="loader" ng-hide="matchSampleSearch" data-ng-model="localForm.matchedSampleSelect"
                                    data-ng-options="option for option in sampleResults" ng-multiple="true" multiple id="matchedSampleSelect">
                                    </select>

                                        select

                    Copy to other samples with the same primary organization?

                    <select ng-disabled="loader" id="otherSamples" ng-model="localForm.otherSampleNames" multiple="true" size="10">
                        <option ng-repeat="option in publicationForm.otherSampleNames" value="{{option}}">
                            {{option}}
                        </option>
                    </select>

                    There are no other samples to copy annotation to.

    <ng-include src="'/caNanoLab/views/manageAccessibility.html'"></ng-include>

        	<button ng-click="doDelete()" ng-if="publicationId != null && (sampleId == null || sampleId == '')" class='btn btn-primary'>Delete</button>
        	<button ng-click="removeFromSample()" id="removeFromSampleButton" ng-if="sampleId != null && sampleId != '' && publicationId != null">Remove from Sample</button>

            <button ng-click="resetForm()" class='btn btn-default'>Reset</button>
            <button ng-click="doSubmit()" ng-if="publicationId == null" class='btn btn-primary'>Save</button>
            <button ng-click="doSubmit()" ng-if="publicationId != null" class='btn btn-primary'>Update</button>
            <button ng-click="submitForReview()" ng-if="publicationForm.review" class='btn btn-primary'>Submit for Review</button>

</form>

      Loading

redpajama_set_name: RedPajamaGithub


text:
package com.alan344happyframework.weixin.entity;

import lombok.Getter;
import lombok.Setter;

import java.io.Serializable;

/**
 * @author AlanSun
 * @Date 2016年8月9日
 */
@Setter
@Getter
public class WeChatResponseVO implements Serializable {

    private static final long serialVersionUID = 1L;
    private String appId;
    private String timeStamp;
    private String nonceStr;
    private String packageValue;
    private String partnerId;
    private String prepayId;
    private String sign;
    /**
     * 小程序签名类型 MD5
     */
    private String signType;

    @Override
    public String toString() {
        return "微信返回返回串:appId:" + appId + ",timeStamp:" + timeStamp + ",nonceStr:" + nonceStr + ",packageValue:" + packageValue + ",partnerId:" + partnerId + ",prepayId:" + prepayId + ",sign:" + sign;
    }
}


text:
// Copyright 2015 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

/**
 * @fileoverview
 * 'cr-settings-downloads-page' is the settings page containing downloads
 * settings.
 *
 * Example:
 *
 *    <iron-animated-pages>
 *      <cr-settings-downloads-page prefs="{{prefs}}">
 *      </cr-settings-downloads-page>
 *      ... other pages ...
 *    </iron-animated-pages>
 *
 * @group Chrome Settings Elements
 * @element cr-settings-downloads-page
 */
Polymer({
  is: 'cr-settings-downloads-page',

  properties: {
    /**
     * Preferences state.
     */
    prefs: {
      type: Object,
      notify: true,
    },

    /**
     * Route for the page.
     */
    route: String,

    /**
     * Whether the page is a subpage.
     */
    subpage: {
      type: Boolean,
      value: false,
      readOnly: true,
    },

    /**
     * ID of the page.
     */
    PAGE_ID: {
      type: String,
      value: 'downloads',
      readOnly: true,
    },

    /**
     * Title for the page header and navigation menu.
     */
    pageTitle: {
      type: String,
      value: function() {
        return loadTimeData.getString('downloadsPageTitle');
      },
    },

    /**
     * Name of the 'iron-icon' to show.
     */
    icon: {
      type: String,
      value: 'file-download',
      readOnly: true,
    },
  },

  /** @private */
  selectDownloadLocation_: function() {
    // TODO(orenb): Communicate with the C++ to actually display a folder
    // picker.
    this.$.downloadsPath.value = '/Downloads';
  },
});


text:
Generic AVL-Tree supporting Iterators.

You can also search for a position which is greater or equal than the passed value in logarithmic time! So this is a kind of range search!

The tree has no dependencies. Only the Unit Test has a dependency to Qt.


text:
package com.polarbirds.screencapture.view.swing;

import java.awt.Color;

public class MyColors {
	public static Color BACKGROUND_COLOR = new Color(20,20,20,128);
	public static Color TRANSPARENT_COLOR = new Color(0,0,0,0);
	public static Color ALMOST_TRANSPARENT_COLOR = new Color(0,0,0,1);
	public static Color BORDER_COLOR = new Color(150,60,60,190);
}


text:
cli 方式安装

https://cn.vuejs.org/v2/guide/installation.html

集成了内置webpack 模块
https://github.com/vuejs-templates

# 全局安装 vue-cli
$ npm install --global vue-cli
# 创建一个基于 webpack 模板的新项目
$ vue init webpack my-project
# 安装依赖,走你
$ cd my-project
$ npm install
$ npm run dev

第一步
npm install --global vue-cli
第二步:
vue init webpack learnvue
安装完后 进入到这个文件夹
 cd  learnvue
npm install
npm run dev

切换淘宝镜像
npm install -g cnpm --registry=https://registry.npm.taobao.org

cnpm install webpack -D

-D --save-dev
-S --save

或者使用nrm
nrm use taobao

Vue build standalone
? Install vue-router? Yes
? Use ESLint to lint your code? Yes
? Pick an ESLint preset (Use arrow keys)
> Standard (https://github.com/feross/standard)
  Airbnb (https://github.com/airbnb/javascript)

   Vue build standalone
? Install vue-router? Yes
? Use ESLint to lint your code? Yes
? Pick an ESLint preset Standard
? Setup unit tests with Karma + Mocha? Yes
? Setup e2e tests with Nightwatch? Yes

   vue-cli · Generated "learnvue".

   To get started:

     cd learnvue
     npm install
     npm run dev

   Documentation can be found at https://vuejs-templates.github.io/webpack


text:
// ParsimmonTagger.h
//
// Copyright (c) 2013 Ayaka Nonaka
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in
// all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
// THE SOFTWARE.

#import <Foundation/Foundation.h>
#import "ParsimmonSeed.h"

/**
 ## Sample usage

    ParsimmonTagger *tagger = [[ParsimmonTagger alloc] init];
    NSArray *taggedTokens = [tagger tagWordsInText:@"The quick brown fox jumps over the lazy dog"];
    NSLog(@"%@", taggedTokens);

 Output:

    (
    "('The', Determiner)",
    "('quick', Adjective)",
    "('brown', Adjective)",
    "('fox', Noun)",
    "('jumps', Noun)",
    "('over', Preposition)",
    "('the', Determiner)",
    "('lazy', Adjective)",
    "('dog', Noun)"
    )

 */
@interface ParsimmonTagger : ParsimmonSeed

/**
 Returns the tagged tokens for the input text, omitting any whitespace, punctuation, and other symbols.
 @param text The text to tag
 @return The tagged tokens
 */
- (NSArray *)tagWordsInText:(NSString *)text;

/**
 Returns the tagged tokens for the input text using the specified linguistic tagger options.
 @param text Text to tag
 @param options Linguistic tagger options
 @return The tagged tokens
 */
- (NSArray *)tagText:(NSString *)text options:(NSLinguisticTaggerOptions)options;

@end


text:
aaLogReaderModularInput
=================

This project creates a Splunk Modular input that makes use of aaLog library to send entries to the Splunk server.

## Deployment

You have two options for deployment.

### Build and Copy

From Visual Studio you can rebuild the project.  Under the project properties you will find the following post-build script

```
REM Uncomment the 'goto Deploy' line below to deploy to your local Splunk instance on each build.
REM You will need to either have the %SPLUNK_HOME% environment variable set, or replace $(SPLUNK_HOME) with the path to your Splunk instance.
REM You will also need to be running Visual Studio as an Administrator so that it has permissions to copy the files to Splunk
goto Deploy

:Deploy
xcopy "$(ProjectDir)$(ProjectName)\*.*" "$(SPLUNK_HOME)\etc\apps\$(ProjectName)" /F /R /Y /I /E
xcopy "$(TargetDir)\*.*" "$(SPLUNK_HOME)\etc\apps\$(ProjectName)\bin" /F /R /Y /I
echo Deployed Application to $(SPLUNK_HOME)\etc\apps\$(ProjectName)
```

This script will copy the results of the build to the Splunk Apps Directory, typically `C:\Program Files\Splunk\etc\apps\`.

### Unzip and Copy
If you do not have Visual Studio to compile the solution I have included a ZIP file `aaLogReaderModularInput.zip` that you can unzip and place into the `C:\Program Files\Splunk\etc\apps\` folder.


text:
package com.frdfsnlght.transporter;

import com.frdfsnlght.transporter.api.GateException;
import com.frdfsnlght.transporter.api.TransporterException;
import org.bukkit.block.Block;
import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
import org.bukkit.event.Listener;
import org.bukkit.event.block.*;

/**
 *
 * @author frdfsnlght <frdfsnlght@gmail.com>
 */
public class BlockListenerImpl implements Listener {

    @EventHandler(priority = EventPriority.NORMAL)
    public void onBlockCanBuild(BlockCanBuildEvent event) {
        LocalGateImpl gate = Gates.findGateForPortal(event.getBlock().getLocation());
        if ((gate != null) && gate.isOpen())
            event.setBuildable(false);
    }

    @EventHandler(priority = EventPriority.NORMAL, ignoreCancelled = true)
    public void onBlockDamage(BlockDamageEvent event) {
        LocalGateImpl gate = Gates.findGateForProtection(event.getBlock().getLocation());
        if (gate != null) {
            event.setCancelled(true);
            gate.onProtect(event.getBlock().getLocation());
        }
    }

    @EventHandler(priority = EventPriority.NORMAL, ignoreCancelled = true)
    public void onBlockBreak(BlockBreakEvent event) {
        LocalGateImpl gate = Gates.findGateForProtection(event.getBlock().getLocation());
        if (gate != null) {
            event.setCancelled(true);
            gate.onProtect(event.getBlock().getLocation());
            return;
        }

        gate = Gates.findGateForScreen(event.getBlock().getLocation());
        if (gate != null) {
            Context ctx = new Context(event.getPlayer());
            try {
                Permissions.require(ctx.getPlayer(), "trp.gate.destroy." + gate.getFullName());
                Gates.destroy(gate, false);
                ctx.sendLog("destroyed gate '%s'", gate.getName());
            } catch (PermissionsException pe) {
                ctx.warn(pe.getMessage());
                event.setCancelled(true);
                gate.onProtect(event.getBlock().getLocation());
            }
        }
    }

    @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
    public void onSignChange(SignChangeEvent event) {
        if (! Config.getAllowSignCreation()) return;

        Block block = event.getBlock();
        LocalGateImpl gate = Gates.findGateForScreen(block.getLocation());
        if (gate != null) return;
        Context ctx = new Context(event.getPlayer());
        String gateName = null;
        String link = null;
        boolean reverse = false;
        for (String line : event.getLines()) {
            if ((line == null) || (line.trim().length() == 0)) continue;
            if (gateName == null)
                gateName = line;
            else if (link == null)
                link = line;
            else {
                if ("reverse".startsWith(line.toLowerCase())) {
                    reverse = true;
                    break;
                }
                link += "." + line;
            }
        }
        if (gateName == null) return;
        try {
            DesignMatch match = Designs.matchScreen(block.getLocation());
            if (match == null) return;

            Permissions.require(ctx.getPlayer(), "trp.create." + match.design.getName());
            Economy.requireFunds(ctx.getPlayer(), match.design.getCreateCost());

            gate = match.design.create(match, ctx.getPlayer().getName(), gateName);
            Gates.add(gate, true);
            ctx.sendLog("created gate '%s'", gate.getName());
            Gates.setSelectedGate(ctx.getPlayer(), gate);

            try {
                if (Economy.deductFunds(ctx.getPlayer(), match.design.getCreateCost()))
                    ctx.sendLog("debited %s for gate creation", Economy.format(match.design.getCreateCost()));
            } catch (EconomyException e) {
                Utils.warning("unable to debit gate creation costs for %s: %s", ctx.getPlayer().getName(), e.getMessage());
            }

            if (link == null) return;
            ctx.getPlayer().performCommand("trp gate link add \"" + link + "\"" + (reverse ? " reverse" : ""));
        } catch (TransporterException te) {
            ctx.warn(te.getMessage());
        }
    }

    @EventHandler(priority = EventPriority.NORMAL, ignoreCancelled = true)
    public void onBlockFromTo(BlockFromToEvent event) {
        // This prevents liquid portals from flowing out
        LocalGateImpl gate = Gates.findGateForPortal(event.getBlock().getLocation());
        if (gate != null) {
            event.setCancelled(true);
        }
    }

    @EventHandler(priority = EventPriority.MONITOR)
    public void onBlockRedstone(BlockRedstoneEvent event) {
        LocalGateImpl g = Gates.findGateForTrigger(event.getBlock().getLocation());
        if (! (g instanceof LocalBlockGateImpl)) return;
        LocalBlockGateImpl gate = (LocalBlockGateImpl)g;
        if (gate != null) {
            DesignBlockDetail block = gate.getGateBlock(event.getBlock().getLocation()).getDetail();
            Utils.debug("isOpen=%s", gate.isOpen());
            Utils.debug("triggerOpenMode=%s", block.getTriggerOpenMode());
            Utils.debug("triggerCloseMode=%s", block.getTriggerCloseMode());
            Utils.debug("newCurrent=%s", event.getNewCurrent());
            Utils.debug("oldCurrent=%s", event.getOldCurrent());

            if (gate.isClosed() && (block.getTriggerOpenMode() != RedstoneMode.NONE) && gate.hasValidDestination()) {
                boolean openIt = false;
                switch (block.getTriggerOpenMode()) {
                    case HIGH: openIt = (event.getNewCurrent() > 0) && (event.getOldCurrent() == 0); break;
                    case LOW: openIt = (event.getNewCurrent() == 0) && (event.getOldCurrent() > 0); break;
                }
                if (openIt) {
                    try {
                        gate.open();
                        Utils.debug("gate '%s' opened via redstone", gate.getName());
                    } catch (GateException ee) {
                        Utils.warning(ee.getMessage());
                    }
                }
            }

            else if (gate.isOpen() && (block.getTriggerCloseMode() != RedstoneMode.NONE)) {
                boolean closeIt = false;
                switch (block.getTriggerCloseMode()) {
                    case HIGH: closeIt = (event.getNewCurrent() > 0) && (event.getOldCurrent() == 0); break;
                    case LOW: closeIt = (event.getNewCurrent() == 0) && (event.getOldCurrent() > 0); break;
                }
                if (closeIt) {
                    gate.close();
                    Utils.debug("gate '%s' closed via redstone", gate.getName());
                }
            }
            return;
        }

        g = Gates.findGateForSwitch(event.getBlock().getLocation());
        if (! (g instanceof LocalBlockGateImpl)) return;
        gate = (LocalBlockGateImpl)g;

        if (gate != null) {
            DesignBlockDetail block = gate.getGateBlock(event.getBlock().getLocation()).getDetail();
            boolean nextLink = false;
            switch (block.getSwitchMode()) {
                case HIGH: nextLink = (event.getNewCurrent() > 0) && (event.getOldCurrent() == 0); break;
                case LOW: nextLink = (event.getNewCurrent() == 0) && (event.getOldCurrent() > 0); break;
            }
            if (nextLink) {
                try {
                    gate.nextLink();
                } catch (TransporterException te) {
                    Utils.warning(te.getMessage());
                }
            }
        }
    }

}


text:
package org.daisy.dotify.api.writer;

import java.util.Collection;

/**
 *

 * Provides an interface for a PagedMediaWriterFactoryMaker service. The purpose of
 * this interface is to expose an implementation of a PagedMediaWriterFactoryMaker
 * as an OSGi service.
 *

 *
 *

 * To comply with this interface, an implementation must be thread safe and
 * address both the possibility that only a single instance is created and used
 * throughout and that new instances are created as desired.
 *

 *
 * @author Joel Håkansson
 *
 */
public interface PagedMediaWriterFactoryMakerService {

	/**
	 * Gets a PagedMediaWriterFactory that supports the specified media type
	 *
	 * @param mediaType
	 *            the target Internet media type
	 * @return returns a integer2text factory for the specified media type
	 * @throws PagedMediaWriterConfigurationException
	 *             if the media type is not supported
	 */
	public PagedMediaWriterFactory getFactory(String mediaType) throws PagedMediaWriterConfigurationException;

	/**
	 * Creates a new PagedMediaWriter. This is a convenience method for
	 * getFactory(target).newPagedMediaWriter(target).
	 * Using this method excludes the possibility of setting features of the
	 * PagedMediaWriter factory.
	 *
	 * @param mediaType
	 *            the target Internet media type
	 * @return returns a new PagedMediaWriter
	 * @throws PagedMediaWriterConfigurationException
	 *             if the media type is not supported
	 */
	public PagedMediaWriter newPagedMediaWriter(String mediaType) throws PagedMediaWriterConfigurationException;

	/**
	 * Returns a list of supported Internet media types.
	 * @return returns a list of media types
	 */
	public Collection<String> listMediaTypes();

}