Float propagators
[Other available functionality]
Classes | |
| class | Gecode::Float::Arithmetic::Sqr< View > |
| Propagator for bounds consistent square operator More... | |
| class | Gecode::Float::Arithmetic::Sqrt< A, B > |
| Propagator for bounds consistent square root operator More... | |
| class | Gecode::Float::Arithmetic::Abs< A, B > |
| Propagator for bounds consistent absolute operator More... | |
| class | Gecode::Float::Arithmetic::Pow< A, B > |
| Propagator for bounds consistent pow operator More... | |
| class | Gecode::Float::Arithmetic::NthRoot< A, B > |
| Propagator for bounds consistent nth root operator More... | |
| class | Gecode::Float::Arithmetic::MultZeroOne< View > |
| Bounds or domain consistent propagator for . More... | |
| class | Gecode::Float::Arithmetic::Mult< View > |
| Bounds consistent multiplication propagator. More... | |
| class | Gecode::Float::Arithmetic::Div< A, B, C > |
| Propagator for bounds division operator More... | |
| class | Gecode::Float::Arithmetic::Min< A, B, C > |
| Propagator for bounds consistent min operator More... | |
| class | Gecode::Float::Arithmetic::Max< A, B, C > |
| Propagator for bounds consistent max operator More... | |
| class | Gecode::Float::Arithmetic::NaryMax< View > |
| Bounds consistent n-ary maximum propagator. More... | |
| class | Gecode::Float::Bool::Ite< View > |
| If-then-else propagator. More... | |
| class | Gecode::Float::Channel::Channel< A, B > |
| Propagator for bounds consistent integer part operator More... | |
| class | Gecode::Float::Linear::Eq< P, N > |
| Propagator for bounds consistent n-ary linear equality More... | |
| class | Gecode::Float::Linear::Lq< P, N > |
| Propagator for bounds consistent n-ary linear less or equal More... | |
| class | Gecode::Float::Rel::Eq< View0, View1 > |
| Binary bounds consistent equality propagator. More... | |
| class | Gecode::Float::Rel::NaryEq< View > |
| n-ary bounds consistent equality propagator More... | |
| class | Gecode::Float::Rel::ReEq< View, CtrlView, rm > |
| Reified binary bounds consistent equality propagator. More... | |
| class | Gecode::Float::Rel::ReEqFloat< View, CtrlView, rm > |
| Reified bounds consistent equality with float propagator. More... | |
| class | Gecode::Float::Rel::Nq< View0, View1 > |
| Binary bounds consistent disequality propagator. More... | |
| class | Gecode::Float::Rel::NqFloat< View > |
| Binary bounds consistent disequality propagator with float value. More... | |
| class | Gecode::Float::Rel::Lq< View > |
| Less or equal propagator. More... | |
| class | Gecode::Float::Rel::Le< View > |
| Less propagator. More... | |
| class | Gecode::Float::Rel::ReLqFloat< View, CtrlView, rm > |
| Reified less or equal with float propagator. More... | |
| class | Gecode::Float::Rel::ReLeFloat< View, CtrlView, rm > |
| Reified less with float propagator. More... | |
| class | Gecode::Float::Rel::ReLq< View, CtrlView, rm > |
| Reified less or equal propagator. More... | |
| class | Gecode::Float::Transcendental::Exp< A, B > |
| Propagator for bounds consistent exp operator More... | |
| class | Gecode::Float::Transcendental::Pow< A, B > |
| Propagator for bounds consistent pow operator More... | |
| class | Gecode::Float::Trigonometric::Sin< A, B > |
| Propagator for bounds consistent sinus operator More... | |
| class | Gecode::Float::Trigonometric::Cos< A, B > |
| Propagator for bounds consistent cosinus operator More... | |
| class | Gecode::Float::Trigonometric::ASin< A, B > |
| Propagator for bounds consistent arc sinus operator More... | |
| class | Gecode::Float::Trigonometric::ACos< A, B > |
| Propagator for bounds consistent arc cosinus operator More... | |
| class | Gecode::Float::Trigonometric::Tan< A, B > |
| Propagator for bounds consistent tangent operator More... | |
| class | Gecode::Float::Trigonometric::ATan< A, B > |
| Propagator for bounds consistent arc tangent operator More... | |
Functions | |
| void | Gecode::Float::Linear::post (Home home, Term *t, int n, FloatRelType frt, FloatVal c) |
| Post propagator for linear constraint over floats. | |
| void | Gecode::Float::Linear::post (Home home, Term *t, int n, FloatRelType frt, FloatVal c, Reify r) |
| Post propagator for reified linear constraint over floats. |
Detailed Description
This module contains a description of all predefined float propagators. They can be reused, for example, for rewriting newly defined float propagators into already available propagators.
Function Documentation
| void Gecode::Float::Linear::post | ( | Home | home, | |
| Term * | t, | |||
| int | n, | |||
| FloatRelType | frt, | |||
| FloatVal | c | |||
| ) |
Post propagator for linear constraint over floats.
- Parameters:
-
home current space t array of linear terms over floats n size of array frt type of relation c result of linear constraint
All variants for linear constraints share the following properties:
- Variables occuring multiply in the term array are replaced by a single occurence: for example, becomes .
Requires
#include <gecode/float/linear.hh>
| void Gecode::Float::Linear::post | ( | Home | home, | |
| Term * | t, | |||
| int | n, | |||
| FloatRelType | frt, | |||
| FloatVal | c, | |||
| Reify | r | |||
| ) |
Post propagator for reified linear constraint over floats.
- Parameters:
-
home current space t array of linear terms over Booleans n size of array frt type of relation c result of linear constraint r reification specification
All variants for linear constraints share the following properties:
- Variables occuring multiply in the term array are replaced by a single occurence: for example, becomes .
Requires
#include <gecode/float/linear.hh>


فقد القندس حفنة من البذور في أحد قطاعات الأنابيب التالية.
اوجد البذور في اقل عدد مرات بحث ممكنة.
للبحث، اضغط على الغطاء الأسود للأنبوب ثم اضغط على غطاء أخر وسوف يقوم القندس بالبحث في الأنابيب الواصلة بين الغطائين وسيخبرك إذا وجد البذور في تلك القطاعات أم لا.
To find the seeds for sure in 4 searches, you can start by searching two complete tubes. We will know in which pipe two pieces long are the seeds.
Step 1: Let's start with any pipe, for example the first one up.
Result: the seeds are not there.
Step 2: Let's try another pipe, for example the one on the left.
Result: the seeds are not there.
Step 3 : The seeds are therefore inevitably in the third pipe. It is not necessary to search it in its entirety. Just search one of the two pieces. Either we will find the seeds in this piece, or they will necessarily be in the other pieces.
Result: the seeds are not in the left piece. They are therefore necessarily right.
Step 4 : Let Beaver look for the seeds where they are necessarily.
And it's won!
To find the seeds for sure in 5 searches, we will try to eliminate a maximum of possible pieces at each step.
Step 1 : Let's start by having Beaver cross half of the pieces of pipe.
Result: the seeds are not there. This area is blackened in the sequel.
Note: If Beaver does not exactly cross half of the pieces of pipe, but a little more or a little less, the computer makes sure that the seeds are always in the largest part.
Step 2 : In the same way, let Beaver explore half of the pieces where the seeds can still be found.
Result: the seeds are in this part. We can blacken the other pieces in the following, since the seeds are not there.
Step 3 : There are only 4 pieces left. By always applying the same method, let Beaver explore two of these pipes.
Result: the seeds are not in the two left pieces. They are therefore necessarily right.
Step 4 : Let's try one of the two pieces that remain.
Result: the seeds are not in this piece there.
Step 5 : Let Beaver look for the seeds where they are necessarily.
And it's won!
To find the seeds for sure in 5 searches, we will try to eliminate a maximum of possible pieces at each step.
Step 1 : The longest crossing that can be made to Beaver at the beginning consists in crossing the 6 pieces of the top.
Result: the seeds are not there. This area is blackened in the sequel.
Step 2 : Of the remaining pieces, up to 4 can be crossed at one time. For example, proceeding as shown below.
Result: the seeds are not there. This area is blackened in the sequel.
Step 3 : There are only 4 pieces left. To make it effective, Beaver can be sent to explore two of these pipes at once. For this, we must pass Beaver in pieces of pipes where we already know that the seeds are not; this is not a problem.
Result: the seeds are not in the two pieces on the right. They are therefore necessarily in one of the two left pieces.
Step 4 : Let's try one of the two pieces that remain.
Result: the seeds are not in this piece.
Step 5 : Let Beaver look for the seeds where they are necessarily.
And it's won !
This topic presents the notion of dichotomous research, which makes it possible to quickly find a hidden object in a large number of possible places. The idea is to divide the whole of the possibilities into two parts of equal sizes, and to determine if the object that one seeks is in the first half or in the second. Once we know, we come back to the original problem of finding an object in a set of possible places, except that now there are half the possibilities.
By repeating this process, the number of remaining possibilities is halved each time. We thus arrive very quickly to have only one possibility. We then located the object sought.


---
layout: default
title: Home
description: Kaodim Android Design Bootstrap
isHome: true
---
Integrate with Gradle
All typography formats have been declared in the
Re-usable Custom Android UI Components that are added to the XML layout and optionally controlled by the code-behind.
Commonly used for Numeric and Multi Numeric Questions where a numeric increment and decrement option is given for numeric input selection.
A custom Date and Time selection control with customizable behavior controls for toggling cycle effect, atmospheric effect, etc.
Date Time Picker Component A picker component will be added to the interface and upon tapping this component, the date time picker dialog will be called. Date Time Picker Dialog Initializing DateTimePicker Setting DateTimeChangedListener A callback with the selected date and time is made if a DateTimeChangedListener is set to the DateTimePicker component after initializing Additionally, the start time and end time of the date picker can be set. This will be the range of the time picker.Overview
This is the Kaodim android design bootstrap documentation for setting up and maintaining Kaodim shared UI components
Installation
Install Design Library
Usage
Color Bible
Primary colors
Name
Hex Code
Jasper
#ED193A
Firefly
#003158
Secondary colors
Name
Hex Code
Lima
#2ECC71
Narvik
#EBFFF3
Celestial
#3498DB
Sunglow
#FDB813
Porcelain
#FFFFFF
Mystic
#F5F6F8
Heather
#DEE1E5
Submarine
#ADB5BD
Raven
#9FA4A6
Flint
#707070
Blackpearl
#12232E
Typography
styles.xml
file
Components
NumericControl
DateTimePickerDialog
initialize(activity)
before using the DateTimePicker as the calling activity is necessary to call the DateTimePickerDialog.
{% highlight java %}
dateTimePicker.initialize(this);
{% endhighlight %}
InteractivePanel allows you to set a custom text and receive onClick callbacks from it. This can be used as a replacement for a selection button.
Dotted Border
Line Border
{% highlight xml %}Code level
{% highlight java %} InteractivePanel ipAddDateField = holder.itemView.findViewById(R.id.ipAddDateField); ipAddDateField.setHint(mContext.getResources().getString(R.string.add_an_alternative_date)); {% endhighlight %}Set Listeners
Set a listener using: {% highlight java %} interactivePanel.setPanelInteractedListener(new InteractivePanel.InteractivePanelListener() { @Override public void onPanelInteracted() { //do your click events here } }); {% endhighlight %}SearchBox is an extension of an Interactive Panel where the user can tap on the search box button to receive a callback. Additionally, a search box button has a 'next' button implementation which has a callback of its own. The next button can be toggled as enabled and disabled to toggle visibility.
{% highlight xml %}Callbacks
{% highlight java %} searchBox.setListener(new SearchBox.SearchBoxClickListener() { @Override public void onNextClicked() { //handle next button clicks } @Override public void onSearchBoxClicked() { //handle search box clicks } }); {% endhighlight %}Set Attributes from code level
Visibility of the next button and the hint can be changed from code level.
{% highlight java %} searchBox.setHint("My Custom Text"); searchBox.setDisplayNext(true); {% endhighlight %}Terms bar is a component that includes the design for terms and privacy links in the Kaodim app. Callbacks are provided when the user interacts with the links.
{% highlight xml %}
Set the privacyText
, termsText
and titleText
to control the text for different translations. Default english text has been added to the component.
Callbacks
{% highlight java %} termsBar.setTermsClickEventsListener(new TermsBar.TermsClickEventsListener() { @Override public void onTermsClicked() { //Handle event where user taps on the terms link } @Override public void onPrivacyClicked() { //Handle event where user taps on the privacy link } }); {% endhighlight %}MobileInputMockLayout is used to mock a mobile input but for use cases where a transition is necessary to be performed to another layout where an actual mobile input is presented to the user. This is primarily a mock layout that provides a callback for user click events that allows the developer to then perform any click events to other activities. As an example, two use cases that use this layout can be found in:
Initialization
This component comes in-built with a country selection dropdown. An initialization from the code-level is necessary to provide the component with a Context
. Therefore, in the onCreate of your activity, initialize this component as follows.
Callbacks
{% highlight java %} mobileInputMockLayout.setMobileInputEventListener(new MobileInputMockLayout.MobileInputEventListener() { @Override public void onCountrySelected(CountryCodeRowItem item) { //Handle event where the user selects a country from the dropdown } @Override public void onMobileLayoutClicked() { //Handle event where the user taps on the mobile input mock layout } }); {% endhighlight %}MobileInputLayout provides a validated mobile input text field customized with a coutnry selection drop down. All mobile numbers are validated by any required country's ISO code. It also provides a callback when the number is changed by the user along with the validity of the entered number.
{% highlight xml %}Initialization
This component comes in-built with a country selection dropdown. An initialization from the code-level is necessary to provide the component with a Context
. Therefore, in the onCreate of your activity, initialize this component as follows.
Callbacks
{% highlight java %} mobileInputLayout.setMobileInputEventListener(new MobileInputLayout.MobileInputEventListener() { @Override public void onCountrySelected(CountryCodeRowItem item) { //handle event when the user selects a country } @Override public void onMobileValueChanged(String countryCode, String value, boolean isValidNumber) { //handle event when the user changes their input value //countryCode is the selected country code //value is the value entered by the user //isValidNumber is the mobile number validation for the entered value } }); {% endhighlight %} The validation is done by Google's libphonenumber library. The component is using a wrapper called android-phone-field. For ISO Alpha-2 codes, refer to [this guide](https://www.nationsonline.org/oneworld/country_code_list.htm).
The Custom FacebookButton
is an extended RelativeLayout
that was styled to match the Kaodim design guidelines. It also allows customized hints for translation support.
Callbacks
{% highlight java %} facebookButton.setFacebookButtonClickListener(new FacebookButton.FacebookButtonClickListener() { @Override public void onFacebookButtonClicked() { //Handle event where the user clicks on the FB button } }); {% endhighlight %}
The PricingBottomBar
is an extended RelativeLayout
that was styled to match the Kaodim design guidelines to show price and the action button. It also allows customized label title, pricing text and action button's text.The button implementation has a callback of its own and the button can be enabled and disabled to toggle visibility.
Code level
{% highlight java %} PricingBottomBar pricingBottomBar = findViewById(R.id.kdl_pricingBar); pricingBottomBar.setPriceTitle("Amount to pay"); pricingBottomBar.setPriceString("RM 100"); pricingBottomBar.setButtonEnabled(true); pricingBottomBar.setButtonText("Pay Now"); {% endhighlight %}Set Listeners
Set a listener using: {% highlight java %} pricingBottomBar.setButtonOnClickListener(new PricingBottomBar.PricingBottomBarButtonListener() { @Override public void onButtonClicked() { Toast.makeText(getBaseContext(),"You have clicked Pricing Bottom Bar Button",Toast.LENGTH_SHORT).show(); } }); {% endhighlight %} hr>
The FullWidthBottomBar
is an extended LinearLayout
that was styled to match the Kaodim design guidelines to show single actionable button. It also allows customized button's text.The button implementation has a callback of its own and the button can be enabled and disabled to toggle visibility.
Code level
{% highlight java %} FullWidthBottomBar fullWidthBottomBar = findViewById(R.id.kdl_full_width_bottombar); fullWidthBottomBar.setButtonText("Proceed"); fullWidthBottomBar.setButtonEnabled(true); {% endhighlight %}Set Listeners
Set a listener using: {% highlight java %} fullWidthBottomBar.setButtonOnClickListener(new FullWidthBottomBar.FullWidthBottomBarButtonListener() { @Override public void onButtonClicked() { Toast.makeText(getBaseContext(),"You have clicked Full Width Bottom Bar Button",Toast.LENGTH_SHORT).show(); } }); {% endhighlight %}
The ToastBanner
is an extended NotificationBanner
singleton that was styled to match the Kaodim design guidelines to show success and error messages. It also allows to customize message text and duration and provide click listener to dismiss the banner. ToastBanner
needs a layout view and activity as param to show the banner below the view, ex. toolbar and when activity is running on foreground.
Code level
{% highlight java %} ToastBanner.getInstance().showSuccessAlert(toastMessageBar, this,"This is a very long multi line auto dismiss success message banner",ToastBanner.AUTODISMISS_LENGTH); ToastBanner.getInstance().showErrorAlert(toastMessageBar, this,"This is a very long multi line non-autodismiss error message banner ",ToastBanner.NO_AUTODISMISS); {% endhighlight %}
The NotesStandard
is an extended Linearlayout
that was styled to match the Kaodim design guidelines to show notes with actionable buttons. It also allows customized primary and secondary descriptions, notes type (single button, double button, only text and etc)and icons.The buttons implementation has a callback of its own and the button can be enabled and disabled to toggle visibility.
Code level
{% highlight java %} NotesStandard notesStandard = findViewById(R.id.notesStandardView); notesStandard.setDescriptionText("This is very long multi line notes description for standard notes"); notesStandard.setButtonSingleText("Click Me"); notesStandard.setButtonDoublePrimaryText("Primary"); notesStandard.setButtonDoubleSecondaryText("Secondary"); notesStandard.setSecondaryDescription("This is secondary description"); notesStandard.setEnableButtonSingle(true); {% endhighlight %}Set Listeners
Set a listener using: {% highlight java %} notesStandard.setButtonOnClickListener(new NotesStandard.NotesStandardListener() { @Override public void onButtonSingleClicked() { Toast.makeText(getBaseContext(),"You have clicked Notes' Single Button",Toast.LENGTH_SHORT).show(); } @Override public void onButtonDoublePrimaryClicked() { Toast.makeText(getBaseContext(),"You have clicked Notes' Primary Double Button",Toast.LENGTH_SHORT).show(); } @Override public void onButtonDoubleSecondaryClicked() { Toast.makeText(getBaseContext(),"You have clicked Notes' Secondary Double Button",Toast.LENGTH_SHORT).show(); } }); {% endhighlight %}Variant
To set the icon and size, you can use style attributes in xml or in via code:
{% highlight xml %}
The NotesError
is an extended Linearlayout
that was styled to match the Kaodim design guidelines to show error notes with actionable buttons. This component is an exact copy of NotesStandard
with different layout colors.
Code level
{% highlight java %} NotesError notesError.setNotesType(NotesError.TYPE_DOUBLE_BUTTON); notesError.setDescriptionText("This is a very long multi line error notes description for error notes"); notesError.setButtonSingleText("Button"); notesError.setButtonDoublePrimaryText("Button Primary"); notesError.setButtonDoubleSecondaryText("Button Secondary"); {% endhighlight %}Set Listeners
Set a listener using: {% highlight java %} notesError.setButtonOnClickListener(new NotesStandard.NotesStandardListener() { @Override public void onButtonSingleClicked() { Toast.makeText(getBaseContext(),"You have clicked Notes' Single Button",Toast.LENGTH_SHORT).show(); } @Override public void onButtonDoublePrimaryClicked() { Toast.makeText(getBaseContext(),"You have clicked Notes' Primary Double Button",Toast.LENGTH_SHORT).show(); } @Override public void onButtonDoubleSecondaryClicked() { Toast.makeText(getBaseContext(),"You have clicked Notes' Secondary Double Button",Toast.LENGTH_SHORT).show(); } }); {% endhighlight %}Variant
The Notesinfo
is an extended Linearlayout
that was styled to match the Kaodim design guidelines to show notes as information. It also allows customized title descriptions and notes type (with icon and title, with icon,title and text only and text only).
Code level
{% highlight java %} NotesInfo notesInfo = findViewById(R.id.notesInfoView); notesInfo.setNotesType(NotesInfo.TYPE_TEXT_ONLY); notesInfo.setNotesInfoTitleText("This is an example title"); notesInfo.setNotesInfoDescriptionText("This is very long multi line notes description for notes info component"); notesInfo.setTitleVisibility(View.VISIBLE); // this will overide notestype behaviour notesInfo.setDescriptionVisibility(View.VISIBLE); // this will overide notestype behaviour notesInfo.setIconVisibility(View.VISIBLE); // this will overide notestype behaviour {% endhighlight %}Variant
The PreLoaderAnimation
is an extended NotificationBanner
singleton that was styled to match the Kaodim design guidelines to render loading gif animation. This animation can be called anywhere anytime from your code. For best practice, create methods that invoke and dismiss the loader in base activity and call these methods in respective activities that extend baseactivity. Also, hide the animation when backpressed to avoid memory leakage.
Code level
Add this in base activity
{% highlight java %} public void showLoadingAnim(){ View view = findViewById(android.R.id.content); PreLoaderAnimation.showLoading(view,this); } public void hideLoadingAnim(){ PreLoaderAnimation.hideLoading(); } {% endhighlight %}Add this in the respective activity to avoid memory leakage when user back press
{% highlight java %} @Override public void onBackPressed() { super.onBackPressed(); hideLoadingAnim(); } {% endhighlight %}You can call the anim anywhere you want by calling showLoadingAnim()
and hide the animation withhideLoadingAnim()
.
The ModelDialog
is an extended NotificationBanner
that was styled to match the Kaodim design guidelines to show pop up dialogs with actionable buttons.
Code level
{% highlight java %} View view = findViewById(android.R.id.content); ModalDialog modalDialog = new ModalDialog(this,view); modalDialog.setType(ModalDialog.TYPE_DOUBLE_BUTTON_NO_ICON); modalDialog.setTextForDoubleButton("This is title text", "This is an example of a very long description", "Primary","Secondary"); modalDialog.setIcon(R.drawable.illus_settings); modalDialog.show(); {% endhighlight %}Set Listeners
Set a listener using: {% highlight java %} modalDialog.setButtonOnClickListener(new ModalDialog.ModalDialogListener() { @Override public void onButtonPrimaryClicked() { Toast.makeText(getBaseContext(),"You have clicked Modal Dialog Single Button",Toast.LENGTH_SHORT).show(); } @Override public void onButtonSecondaryClicked() { Toast.makeText(getBaseContext(),"You have clicked Modal Dialog Single Button",Toast.LENGTH_SHORT).show(); } }); {% endhighlight %}Variant
The ViewTooltip
is a View
object that can be instantiated multiple times if desired. It is placed in relative to another View
object,
such as EditText
Code level
{% highlight java %} ViewTooltip .on(this, editText) .autoHide(true / false, 1000) .clickToHide(true / false) .align(START / CENTER) .position(TOP / LEFT / RIGHT / BOTTOM) .text("The text") .textColor(Color.WHITE) .color(Color.BLACK) .corner(10) .arrowWidth(15) .arrowHeight(15) .distanceWithView(0) //change the opening animation .animation(new ViewTooltip.TooltipAnimation(){...}) //listeners .onDisplay(new ViewTooltip.ListenerDisplay() { @Override public void onDisplay(View view) { } }) .onHide(new ViewTooltip.ListenerHide() { @Override public void onHide(View view) { } }) .show(); //hide all other tooltips (useful when you want only one tooltip at one time on the screen) ViewTooltip.hideAllVisibleToolTips(); {% endhighlight %}In-app use case
{% highlight java %} tooltip = ViewTooltip .on(view) .autoHide(true, 1500) .corner(30) .position(ViewTooltip.Position.TOP) .text(context.getResources().getString(R.string.all_available_time_for_this_job)) .color(context.getResources().getColor(R.color.sky_blue)) .show(); {% endhighlight %}These resources are shared drawables and mipmap files found in the /res
directory. Contains icons, drawable layouts, shapes, animations and button styles.
This button style is already configured with click, touch, enabled and disabled states. Simply paste the following code and control the behavior from code level.


File processing
Back
Select root folder
Root Folder Content
Options
Merge files
Video Compress
Merge Files
Select target folder
Target Folder Content
Compress Videos
Select target folder
Selected videos
Fullscan processing
Remove all


The REST Server API uses the concept of registered response processors for converting objects returned by REST
methods or set through {@link oajr.RestResponse#setContent(Object)} into appropriate HTTP responses.
By default, REST resource classes are registered with the following response processors:
- {@link oajr.processor.HttpEntityProcessor}
- {@link oajr.processor.HttpResourceProcessor}
- {@link oajr.processor.HttpResponseProcessor}
- {@link oajr.processor.InputStreamProcessor}
- {@link oajr.processor.PlainTextPojoProcessor}
- {@link oajr.processor.ReaderProcessor}
- {@link oajr.processor.ResponseBeanProcessor}
- {@link oajr.processor.SerializedPojoProcessor}
- {@link oajr.processor.ThrowableProcessor}
Custom response processors can be associated with REST resources via the following:
- {@link oajr.annotation.Rest#responseProcessors}
- {@link oajr.RestContext.Builder#responseProcessors()}
Response processors can be used to process POJOs that cannot normally be handled through Juneau serializers, or
because it's simply easier to define response processors for special cases.
The following example shows how to create a response processor to handle special Foo objects outside the
normal Juneau architecture.
@Rest(
path="/example",
responseProcessors=FooProcessor.class
)
public class Example extends BasicRestServlet {
@RestGet("/")
public Foo test1() {
return new Foo("123");
}
public static class FooProcessor implements ResponseProcessor {
@Override
public int process(RestOpSession opSession) {
RestResponse res = opSession.getRestResponse();
Foo foo = res.getOutput(Foo.class);
if (foo == null)
return NEXT; // Let the next processor handle it.
// Set some headers and body content.
res.setHeader("Foo-ID", foo.getId());
res.getWriter().write("foo.id=" + foo.getId());
return FINISHED; // We handled it.
}
}
}


Preparation time
1-2 hours
Cooking time
30 mins to 1 hour
Serves
Makes 1 large tart
Dietary
The pastry is the only part of this rich, chocolate tart that needs baking, making it perfect to prepare ahead for a dinner party.
Equiopment and preparation: for this recipe you will need a 36x12cm/14x4½in rectangular tart tin or a 23cm/9in round tart tin.
For the pastry, sift the flour, cocoa powder and icing sugar into a bowl. Add the butter and rub together using your fingers until the mixture resembles breadcrumbs. Add the egg yolks and mix together until it forms a dough. Add a little ice-cold water if the pastry feels dry. Wrap the dough in cling film and place in the fridge to rest for at least an hour.
Preheat the oven to 170C/340F/Gas 3½.
When the pastry is rested, lightly flour a work surface and roll out the dough into a circle about the thickness of a £1 coin. Lay the pastry over the tart case and gently push down to line, taking care to get the pastry right into the edges. Line the pastry with baking parchment and fill with baking beans or uncooked rice. Place the tart on a baking tray and bake in the preheated oven for 25 minutes.
Carefully remove the baking parchment and beans and place the tart back in the oven to cook for a further 10-20 minutes, or until the base looks dry. Remove the tart from the oven and allow to cool. Once cooled, trim the pastry to tidy up the edges.
For the filling, break up the milk chocolate and place into a bowl over a pan of barely simmering water. Do not let the bowl touch the water. Once melted, remove the bowl from the heat.
In a pan over a medium heat, bring the double cream and amaretto to the boil. Pour the cream mixture over the melted chocolate, whisking everything together well. Pour this mixture into the cooked tart case and cool to room temperature before placing the tart in the fridge for 30 minutes, or until set.
For the topping, preheat the oven to 190C/375F/Gas 5 and place the almonds on a baking tray. Place in the oven and cook for 8-10 minutes, or until they are toasted and lightly browned. Remove from the oven and leave to cool for a few minutes. Line a tray or plate with baking parchment.
Put the caster sugar and 50ml/2fl oz water in a pan over a medium heat and cook until the sugar starts to colour. Stir in the almonds and mix until the sugar coats the almonds to give a frosted appearance. Transfer the almonds to the lined tray or plate and leave to cool. Once completely cooled, roughly chop the almonds into pieces.
For the coffee cream, mix the dissolved coffee granules and coffee liquor to a paste in a large bowl and add the sugar. Pour in the double cream and whisk to firm peaks, being careful not to over-whip it. Cover with cling film and place in the fridge until needed.
Check that the tart has set. If not, leave it in the fridge for a further 20 minutes. Once set, cover with grated chocolate and sprinkle with the coffee beans and frosted almonds. Serve with the whipped coffee cream.
You need JavaScript to view this clip.
How to blind bake pastry
You need JavaScript to view this clip.
How to make caramel and praline
You need JavaScript to view this clip.
Melting chocolate
You need JavaScript to view this clip.
Rubbing in


I was browsing through adobe sites and forums to find out how can I create a certificate for iOS development on windows. I tried OpenSSL on widnows but it always failed to find the config file.
So here is what I did –
- Install Cygwin – http://cygwin.com/install.html
Cygwin doesnt by default install OpenSSL so during installation, select the OpenSSL package for installation under ‘Net’ packages.
- After installation, run Cygwin Terminal.
on Terminal type ‘openssl’ and enter, prompt should change to OpenSSL –
$ openssl
OpenSSL>
3. Type in below command to create CSR file. After entering that command, it shall ask you to enter some information and a password at the end. Remember that password, you would need it. At then you should have a key and csr file in c:/test folder.
$ openssl
OpenSSL> req -nodes -newkey rsa:2048 -keyout /cygdrive/C/test/mms.key -out /cygdrive/C/test/mms.csr
Generating a 2048 bit RSA private key
……………………………………………………….+++
………………………………………………..+++
writing new private key to ‘/cygdrive/C/mms.key’
—–
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter ‘.’, the field will be left blank.
—–
Country Name (2 letter code) [AU]:US
State or Province Name (full name) [Some-State]:State
Locality Name (eg, city) []:City
Organization Name (eg, company) [Internet Widgits Pty Ltd]:My Company
Organizational Unit Name (eg, section) []:Org
Common Name (e.g. server FQDN or YOUR name) []:CN
Email Address<EMAIL_ADDRESS>Please enter the following ‘extra’ attributes
to be sent with your certificate request
A challenge password []:test
An optional company name []:anything
OpenSSL>
-
Upload the .csr file to iOS provisioning portal>Certificates – https://developer.apple.com/ios/manage/certificates/team/
-
Once you get have the certificate approved and available for download, get it. Copy that .cer file to c:/test folder.
-
Go to Cygwin>OpenSSL prompt and enter below command –
x509 -in /cygdrive/C/test/ios_development.cer -inform DER -out /cygdrive/C/test/ios_development.pem -outform PEM
- To create .p12 file run below command on OpenSSL prompt –
openssl pkcs12 -export -inkey /cygdrive/C/test/mms.key -in /cygdrive/C/test/ios_development.pem -out /cygdrive/C/test/mms.p12
- Check your c:/test folder, you should have your certificate ready for use.


Last updated
April 6 2021
Plantir Privacy Policy & Terms of use
I take the privacy of my users very seriously, and do not collect any personal information that is not necessary for the app’s functionality.
Plantir can access some information (photos) for use in the app.
No data from the app is sent back to me or collected in any way. I don’t even know anything about your use of the app unless you email me for support and give me information. All data collected or accessed by the app stays solely on device.
If you purchase Plantir Pro, your billing information, address, and name are kept by the App Store and are not accessible by me. The only information I have is whether or not you have purchased the app. This anonymous information is also collected by my purchase provider RevenueCat.
Feel free to email me at<EMAIL_ADDRESS>if you have any questions.
Personally Identifying Information
Plantir does not collect or send any Personally Identifying Information. Some data (photos, preferences, etc.) may be collected by the app and stored in iCloud if sync is enabled. In these cases, the data is used only for syncing and is not accessed or used otherwise.
Privacy Policy Changes
Although any changes to the policy are likely to be small and inconsequential, Plantir may change it’s privacy policy at any time. Continued use of the app after any change in the Privacy Policy constitutes an acceptance of such change. If Plantir were acquired or any other large changes to the business occur, this Privacy Policy may be amended.
Indemnity
You hereby indemnify us and undertake to keep us indemnified against any losses, damages, costs, liabilities and expenses (including, without limitation, legal expenses and any amounts paid by us to a third party in settlement of a claim or dispute on the advice of our legal advisers) incurred or suffered by us arising out of use of this app or any breach by you of any provision of these terms of use, or arising out of any claim that you have breached any provision of these terms of use.


public static final class HGQuery.hg
extends java.lang.Object
This class serves as a namespace to a set of syntactically concise functions for constructing HyperGraph query conditions and performing HyperGraph queries. With a Java 5+ compiler, you can import the class into your file's namespace and build HG condition with a much simpler syntax than constructing the expression tree explicitly. For example:
...other imports ...
import org.hypergraphdb.HGQuery.hg;
public void f(HyperGraph graph)
{
// find all link with weight > 1.5
HGSearchResult rs = graph.find(hg.and(hg.type(MyLink.class), hg.gt("weight", 1.5)));
}
or, even more concisely, if there is no naming conflict, import all the function names directly:
...other imports ...
import org.hypergraphdb.HGQuery.hg.*;
public void f(HyperGraph graph)
{
// find all link with weight > 1.5
HGSearchResult rs = graph.find(and(type(MyLink.class), gt("weight", 1.5)));
}
In addition, several methods names get*
and find*
will
execute queries and return their results in the form of individual objects or Java
collections, thus saving you from the burden of paying attention to always properly
close result sets.
| Constructor and Description |
|---|
hg() |
| Modifier and Type | Method and Description |
|---|---|
static HGHandle |
addUnique(HyperGraph graph,
java.lang.Object instance,
java.lang.Class<?> javaClass,
HGQueryCondition condition)
Add a new atom of a given type only if there's no atom matching the passed in
HGQueryCondition . |
static HGHandle |
addUnique(HyperGraph graph,
java.lang.Object instance,
HGHandle typeHandle,
HGQueryCondition condition)
Add a new atom of a given type only if there's no atom matching the passed in
HGQueryCondition . |
static HGHandle |
addUnique(HyperGraph graph,
java.lang.Object instance,
HGQueryCondition condition)
Add the given instance as an atom in the graph if and only if no atoms
match the passed in
HGQueryCondition |
static HGQueryCondition |
all()
Return a condition that will yield all atoms in the graph.
|
static And |
and(HGQueryCondition... clauses)
Return a conjunction (logical
and ) of conditions - atoms in the result set will have
to match all condition in the parameter list. |
static HGHandle |
anyHandle()
Return a special handle indicating a "don't care" in a condition expression (e.g.
|
static HGQueryCondition |
apply(Mapping<?,?> m,
HGQueryCondition c)
Return a "condition" that transforms the result set by applying an arbitrary
Mapping to each
element. |
static ArityCondition |
arity(int i)
Return a condition constraining the query result set to being links with the specified arity (number
of targets).
|
static ArityCondition |
arity(Ref<java.lang.Integer> i)
Return a condition constraining the query result set to being links with the specified arity (number
of targets).
|
static HGHandle |
assertAtom(HyperGraph graph,
java.lang.Object instance)
Return
assertAtom(graph, instance, false) . |
static HGHandle |
assertAtom(HyperGraph graph,
java.lang.Object instance,
boolean ignoreValue)
Return the atom handle if
instance is already a loaded atom in the cache. |
static HGHandle |
assertAtom(HyperGraph graph,
java.lang.Object instance,
HGHandle type)
Return
assertAtom(graph, instance, type, false) . |
static HGHandle |
assertAtom(HyperGraph graph,
java.lang.Object instance,
HGHandle type,
boolean ignoreValue)
Add a new atom to the specified graph only if it is not already there.
|
static BFSCondition |
bfs(HGHandle start)
Return a condition whose result set is the breadth first traversal of the graph
starting a given atom.
|
static BFSCondition |
bfs(HGHandle start,
HGAtomPredicate lp,
HGAtomPredicate sp)
Return a condition whose result set is the breadth first traversal of the graph
starting a given atom.
|
static BFSCondition |
bfs(HGHandle start,
HGAtomPredicate lp,
HGAtomPredicate sp,
boolean returnPreceding,
boolean returnSucceeding)
Return a condition whose result set is the breadth first traversal of the graph
starting a given atom.
|
static BFSCondition |
bfs(Ref<HGHandle> start)
Return a condition whose result set is the breadth first traversal of the graph
starting a given atom.
|
static BFSCondition |
bfs(Ref<HGHandle> start,
HGAtomPredicate lp,
HGAtomPredicate sp)
Return a condition whose result set is the breadth first traversal of the graph
starting a given atom.
|
static BFSCondition |
bfs(Ref<HGHandle> start,
HGAtomPredicate lp,
HGAtomPredicate sp,
boolean returnPreceding,
boolean returnSucceeding)
Return a condition whose result set is the breadth first traversal of the graph
starting a given atom.
|
static <T> Ref<T> |
constant(T value)
Create a new constant reference.
|
static SubgraphContainsCondition |
contains(HGHandle atom)
Return a condition constraining the result set to atoms that are instances of
HGSubgraph and containing the specified atom. |
static long |
count(HGQuery<?> query)
Count the result set from executing the given query.
|
static long |
count(HyperGraph graph,
HGQueryCondition cond)
Count the number of atoms that match the query condition parameter.
|
static <T> Mapping<HGHandle,T> |
deref(HyperGraph graph)
|
static HGQueryCondition |
deref(HyperGraph graph,
HGQueryCondition condition)
Short for
hg.apply(hg.deref(graph), condition) - assuming the condition
parameter yields a result set of HGHandle s, the returned condition will yield a result set
of atoms loaded from the graph parameter. |
static DFSCondition |
dfs(HGHandle start)
Return a condition whose result set is the depth first traversal of the graph
starting with a given atom.
|
static DFSCondition |
dfs(HGHandle start,
HGAtomPredicate linkPredicate,
HGAtomPredicate siblingPredicate)
Return a condition whose result set is the depth first traversal of the graph
starting with a given atom.
|
static DFSCondition |
dfs(HGHandle start,
HGAtomPredicate linkPredicate,
HGAtomPredicate siblingPredicate,
boolean returnPreceeding,
boolean returnSucceeding)
Return a condition whose result set is the depth first traversal of the graph
starting a given atom.
|
static DFSCondition |
dfs(Ref<HGHandle> start)
Return a condition whose result set is the depth first traversal of the graph
starting with a given atom.
|
static DFSCondition |
dfs(Ref<HGHandle> start,
HGAtomPredicate linkPredicate,
HGAtomPredicate siblingPredicate)
Return a condition whose result set is the depth first traversal of the graph
starting with a given atom.
|
static DFSCondition |
dfs(Ref<HGHandle> start,
HGAtomPredicate linkPredicate,
HGAtomPredicate siblingPredicate,
boolean returnPreceeding,
boolean returnSucceeding)
Return a condition whose result set is the depth first traversal of the graph
starting a given atom.
|
static DisconnectedPredicate |
disconnected()
Return an atom predicate constraining the result set to atoms that are not connected
to other atoms, i.e.
|
static AtomValueCondition |
eq(java.lang.Object x)
Return a condition constraining resulting atoms to atoms whose value is equal to
the passed in
x parameter. |
static AtomValueCondition |
eq(Ref<java.lang.Object> x)
Return a condition constraining resulting atoms to atoms whose value is equal to
the passed in
x Ref parameter. |
static AtomPartCondition |
eq(java.lang.String path,
java.lang.Object x)
Return a condition constraining the result to atoms of some
HGCompositeType and having
a part (e.g. |
static AtomPartCondition |
eq(java.lang.String path,
Ref<java.lang.Object> x)
See
eq(String, Object) . |
static <T> java.util.List<T> |
findAll(HGQuery<T> query)
Execute the given query, put all the elements from the result set in a
List
and return that List |
static <T> java.util.List<T> |
findAll(HyperGraph graph,
HGQueryCondition condition)
Run a query based on the specified condition and put all
HGHandle s
from the result set into a java.util.List . |
static <T> T |
findOne(HyperGraph graph,
HGQueryCondition condition)
Run a query based on the passed in condition.
|
static <T> java.util.List<T> |
getAll(HGQuery<HGHandle> query)
Execute the given query, put all atom instances
from the result set into a
java.util.List . |
static <T> java.util.List<T> |
getAll(HyperGraph graph,
HGQueryCondition condition)
Run a query based on the specified condition and put all atom instances
from the result set into a
java.util.List . |
static <T> T |
getOne(HyperGraph graph,
HGQueryCondition condition)
Run a query based on the passed in condition.
|
static AtomValueCondition |
gt(java.lang.Object x)
Return a condition constraining resulting atoms to atoms whose value is greater than
the passed in
x parameter. |
static AtomValueCondition |
gt(Ref<java.lang.Object> x)
Return a condition constraining resulting atoms to atoms whose value is greater than
the passed in
x Ref parameter. |
static AtomPartCondition |
gt(java.lang.String path,
java.lang.Object x)
Return a condition constraining the result to atoms of some
HGCompositeType and having
a part (e.g. |
static AtomPartCondition |
gt(java.lang.String path,
Ref<java.lang.Object> x)
See
gt(String, Object) . |
static AtomValueCondition |
gte(java.lang.Object x)
Return a condition constraining resulting atoms to atoms whose value is greater than equal to
the passed in
x parameter. |
static AtomValueCondition |
gte(Ref<java.lang.Object> x)
Return a condition constraining resulting atoms to atoms whose value is greater than equal to
the passed in
x Ref parameter. |
static AtomPartCondition |
gte(java.lang.String path,
java.lang.Object x)
Return a condition constraining the result to atoms of some
HGCompositeType and having
a part (e.g. |
static AtomPartCondition |
gte(java.lang.String path,
Ref<java.lang.Object> x)
See
gte(String, Object) . |
static HGQueryCondition |
guessUniquenessCondition(HyperGraph graph,
java.lang.Object instance)
Construct a
HGQueryCondition that uniquely identifies an atom based on
the passed in Object instance. |
static IncidentCondition |
incident(HGHandle atomHandle)
Return a condition constraining the result to links to a specific atom.
|
static IncidentCondition |
incident(Ref<?> atomHandle) |
static PositionedIncidentCondition |
incidentAt(HGHandle target,
int position) |
static PositionedIncidentCondition |
incidentAt(HGHandle target,
int lowerBound,
int upperBound) |
static PositionedIncidentCondition |
incidentAt(Ref<HGHandle> target,
int position) |
static PositionedIncidentCondition |
incidentAt(Ref<HGHandle> target,
Ref<java.lang.Integer> lowerBound,
Ref<java.lang.Integer> upperBound)
Return a condition constraining the query result set to links pointing to a target atom
positioned within a predetermined range in the link tuple.
|
static PositionedIncidentCondition |
incidentNotAt(HGHandle target,
int position) |
static PositionedIncidentCondition |
incidentNotAt(HGHandle target,
int lowerBound,
int upperBound) |
static PositionedIncidentCondition |
incidentNotAt(Ref<HGHandle> target,
int position) |
static PositionedIncidentCondition |
incidentNotAt(Ref<HGHandle> target,
Ref<java.lang.Integer> lowerBound,
Ref<java.lang.Integer> upperBound)
Same as {@link hg#incidentAt(Ref, Ref, Ref) except uses the complement of the specified range.
|
static IsCondition |
is(HGHandle atomHandle)
Return the "identity" condition that evaluates to true for a specific handle.
|
static <T> boolean |
isVar(Ref<T> ref)
|
static LinkCondition |
link(java.util.Collection<HGHandle> C)
Return a condition constraining the query result set to links pointing to a target set
of atoms.
|
static LinkCondition |
link(HGHandle... h)
Return a condition constraining the query result set to links pointing to a target set
of atoms.
|
static LinkCondition |
link(HGLink link)
Return a condition constraining the query result set to links pointing to a target set
of atoms.
|
static LinkCondition |
link(Ref<HGHandle>... h)
|
static Mapping<HGLink,HGHandle> |
linkProjection(int targetPosition)
Return a
Mapping that takes a link atom and returns a target at the given position. |
static Mapping<HGLink,HGHandle> |
linkProjection(Ref<java.lang.Integer> targetPosition)
Return a
Mapping that takes a link atom and returns a target at the given position. |
static AtomValueCondition |
lt(java.lang.Object x)
Return a condition constraining resulting atoms to atoms whose value is less than
the passed in
x parameter. |
static AtomValueCondition |
lt(Ref<java.lang.Object> x)
Return a condition constraining resulting atoms to atoms whose value is less than
the passed in
x Ref parameter. |
static AtomPartCondition |
lt(java.lang.String path,
java.lang.Object x)
Return a condition constraining the result to atoms of some
HGCompositeType and having
a part (e.g. |
static AtomPartCondition |
lt(java.lang.String path,
Ref<java.lang.Object> x)
See
lt(String, Object) . |
static AtomValueCondition |
lte(java.lang.Object x)
Return a condition constraining resulting atoms to atoms whose value is less than or equal to
the passed in
x parameter. |
static AtomValueCondition |
lte(Ref<java.lang.Object> x)
Return a condition constraining resulting atoms to atoms whose value is less than or equal to
the passed in
x Ref parameter. |
static AtomPartCondition |
lte(java.lang.String path,
java.lang.Object x)
Return a condition constraining the result to atoms of some
HGCompositeType and having
a part (e.g. |
static AtomPartCondition |
lte(java.lang.String path,
Ref<java.lang.Object> x)
See
lte(String, Object) . |
static <T> HGQuery<T> |
make(java.lang.Class<T> type,
HyperGraph graph) |
static AtomValueRegExPredicate |
matches(java.util.regex.Pattern pattern)
Return a condition that matches a regular expression pattern against the string value of an atom.
|
static AtomValueRegExPredicate |
matches(java.lang.String pattern)
Return a condition that matches a regular expression pattern against the string value of an atom.
|
static AtomPartRegExPredicate |
matches(java.lang.String path,
java.util.regex.Pattern pattern)
Return a condition that matches a regular expression pattern against the string value of
an atom's projection (property) along the given path.
|
static AtomPartRegExPredicate |
matches(java.lang.String path,
java.lang.String pattern)
Return a condition that matches a regular expression pattern against the string value of
an atom's projection (property) along the given path.
|
static SubgraphMemberCondition |
memberOf(HGHandle subgraphHandle)
Return a condition constraining the result set to atoms that are members of the
specified subgraph.
|
static Not |
not(HGAtomPredicate predicate)
Return the negation of an
HGAtomPredicate . |
static Or |
or(HGQueryCondition... clauses)
Return a disjunction (logical
or ) of conditions - atoms in the result set will have
to match at least one of the conditions in the parameter list. |
static OrderedLinkCondition |
orderedLink(HGHandle... h)
Return a condition constraining the query result set to being ordered links of a certain
form.
|
static OrderedLinkCondition |
orderedLink(java.util.List<HGHandle> L)
Return a condition constraining the query result set to being ordered links of a certain
form.
|
static OrderedLinkCondition |
orderedLink(Ref<HGHandle>... h)
Return a condition constraining the query result set to being ordered links of a certain
form.
|
static AtomPartCondition |
part(java.lang.String path,
java.lang.Object value,
ComparisonOperator op)
Return a condition constraining the result to atoms of some
HGCompositeType and having
a certain part (e.g. |
static AtomPartCondition |
part(java.lang.String path,
Ref<java.lang.Object> value,
ComparisonOperator op)
|
static SubsumedCondition |
subsumed(HGHandle general)
Return a condition constraining the result set to atoms more specific than the passed in
general parameter. |
static SubsumedCondition |
subsumed(Ref<HGHandle> general)
Return a condition constraining the result set to atoms more specific than the passed in
general reference parameter. |
static SubsumesCondition |
subsumes(HGHandle specific)
Return a condition constraining the result set to atoms more general than the passed in
specific parameter. |
static SubsumesCondition |
subsumes(Ref<HGHandle> specific)
Return a condition constraining the result set to atoms more general than the passed in
specific reference parameter. |
static TargetCondition |
target(HGHandle linkHandle)
Return a query condition that constraints the result set to atoms that are targets to a specific link.
|
static TargetCondition |
target(Ref<HGHandle> linkHandle)
|
static Mapping<HGHandle,HGHandle> |
targetAt(HyperGraph graph,
int targetPosition)
Return a
Mapping that given a handle to a link will return the target (handle) at the specified
target position. |
static AtomTypeCondition |
type(java.lang.Class<?> clazz)
Return a
HGQueryCondition constraining the type of the result
to the type corresponding to the Java class clazz . |
static AtomTypeCondition |
type(HGHandle typeHandle)
Return a
HGQueryCondition constraining the type of the result
to the type identified by typeHandle . |
static AtomTypeCondition |
type(Ref<?> type)
|
static TypePlusCondition |
typePlus(java.lang.Class<?> clazz)
Return a
HGQueryCondition constraining the type of the result
to the type corresponding to the Java class clazz and all its sub-types. |
static TypePlusCondition |
typePlus(HGHandle h)
Return a
HGQueryCondition constraining the type of the result
to the type identified by typeHandle and all its sub-types. |
static AtomValueCondition |
value(java.lang.Object value,
ComparisonOperator op)
Return a condition that constraints resulting atoms by a specific value and
ComparisonOperator . |
static AtomValueCondition |
value(Ref<java.lang.Object> value,
ComparisonOperator op)
Return a condition that constraints resulting atoms by a specific value
Ref and ComparisonOperator . |
static <T> Var<T> |
var(java.lang.String name)
Create a new variable and attach it to the current variable context.
|
static <T> Var<T> |
var(java.lang.String name,
java.lang.Class<T> t)
Create a new variable and attach it to the current variable context.
|
static <T> Var<T> |
var(java.lang.String name,
T initialValue)
Create a new variable with an initial value and attach it to the current variable context.
|
public static <T> HGQuery<T> make(java.lang.Class<T> type, HyperGraph graph)
public static HGHandle assertAtom(HyperGraph graph, java.lang.Object instance)
Return assertAtom(graph, instance, false)
.
public static HGHandle assertAtom(HyperGraph graph, java.lang.Object instance, boolean ignoreValue)
Return the atom handle if instance
is already a loaded atom in the cache.
Otherwise, get the default type corresponding to instance.getClass
and
return assertAtom(graph, instance, type, ignoreValue)
.
public static HGHandle assertAtom(HyperGraph graph, java.lang.Object instance, HGHandle type)
Return assertAtom(graph, instance, type, false)
.
public static HGHandle assertAtom(HyperGraph graph, java.lang.Object instance, HGHandle type, boolean ignoreValue)
Add a new atom to the specified graph only if it is not already there. An object is considered in the graph if:
HGHandle
in the graph's cache; orgraph
- The HyperGraph
database instance.instance
- The object to be asserted as an atom.type
- The type of the atom.ignoreValue
- Whether to ignore the atom value while performing the lookup. The value
of the atom is compared with Object.equals
so it is important that that method be implemented properly for your Java object. The default
implementation in the standard Object
class won't work. If the object class
doesn't implement this method and there are no other way to uniquely identify the atom's
value known to HyperGraph, then please use the addUnique
method to specify a condition
for lookup. If the value is not important, which is frequently the case with Java-type links,
then set this parameter to true
.HGHandle
of the asserted atom (either existing or newly added).public static HGQueryCondition guessUniquenessCondition(HyperGraph graph, java.lang.Object instance)
Construct a HGQueryCondition
that uniquely identifies an atom based on
the passed in Object
instance.
graph
- The HyperGraph
database instance.instance
- The object for which an unique atom condition must be constructed.null
if instance == null
, otherwise a query condition
identifying instance
in the database.public static HGHandle addUnique(HyperGraph graph, java.lang.Object instance, HGQueryCondition condition)
Add the given instance as an atom in the graph if and only if no atoms
match the passed in HGQueryCondition
public static HGHandle addUnique(HyperGraph graph, java.lang.Object instance, HGHandle typeHandle, HGQueryCondition condition)
Add a new atom of a given type only if there's no atom matching the passed in
HGQueryCondition
. Note that an AtomTypeCondition
based on the typeHandle
parameter is "and-ed" with the condition
parameter.
public static HGHandle addUnique(HyperGraph graph, java.lang.Object instance, java.lang.Class<?> javaClass, HGQueryCondition condition)
Add a new atom of a given type only if there's no atom matching the passed in
HGQueryCondition
. Note that an AtomTypeCondition
based on the javaClass
parameter is "and-ed" with the condition
parameter.
public static AtomValueRegExPredicate matches(java.lang.String pattern)
Return a condition that matches a regular expression pattern against the string value of an atom.
pattern
- The pattern following the syntax of Pattern
.public static AtomValueRegExPredicate matches(java.util.regex.Pattern pattern)
Return a condition that matches a regular expression pattern against the string value of an atom.
public static AtomPartRegExPredicate matches(java.lang.String path, java.lang.String pattern)
Return a condition that matches a regular expression pattern against the string value of an atom's projection (property) along the given path.
pattern
- The pattern following the syntax of Pattern
.public static AtomPartRegExPredicate matches(java.lang.String path, java.util.regex.Pattern pattern)
Return a condition that matches a regular expression pattern against the string value of an atom's projection (property) along the given path.
public static IsCondition is(HGHandle atomHandle)
Return the "identity" condition that evaluates to true for a specific handle. It translates to a result set containing the specified atom handle.
atomHandle
- public static AtomTypeCondition type(HGHandle typeHandle)
Return a HGQueryCondition
constraining the type of the result
to the type identified by typeHandle
.
AtomTypeCondition
public static AtomTypeCondition type(Ref<?> type)
Return a HGQueryCondition
constraining the type of the result
to the type identified by type
Ref
. The content of the reference
can be a Class
or a and you can use a variable reference in a
compiled query.
public static AtomTypeCondition type(java.lang.Class<?> clazz)
Return a HGQueryCondition
constraining the type of the result
to the type corresponding to the Java class clazz
.
AtomTypeCondition
public static TypePlusCondition typePlus(HGHandle h)
Return a HGQueryCondition
constraining the type of the result
to the type identified by typeHandle
and all its sub-types. The set
of sub-types is obtained as the closure of the HGSubsumes
relation.
TypePlusCondition
public static TypePlusCondition typePlus(java.lang.Class<?> clazz)
Return a HGQueryCondition
constraining the type of the result
to the type corresponding to the Java class clazz
and all its sub-types. The set
of sub-types is obtained as the closure of the HGSubsumes
relation.
TypePlusCondition
public static SubsumesCondition subsumes(HGHandle specific)
Return a condition constraining the result set to atoms more general than the passed in
specific
parameter. This condition is generally useful when searching for types,
but it is applicable to any set atoms interlinked with the HGSubsumes
relation.
SubsumesCondition
public static SubsumesCondition subsumes(Ref<HGHandle> specific)
Return a condition constraining the result set to atoms more general than the passed in
specific
reference parameter. This condition is generally useful when searching for types,
but it is applicable to any set atoms interlinked with the HGSubsumes
relation.
SubsumesCondition
public static SubsumedCondition subsumed(HGHandle general)
Return a condition constraining the result set to atoms more specific than the passed in
general
parameter. This condition is generally useful when searching for types,
but it is applicable to any set atoms interlinked with the HGSubsumes
relation.
SubsumedCondition
public static SubsumedCondition subsumed(Ref<HGHandle> general)
Return a condition constraining the result set to atoms more specific than the passed in
general
reference parameter. This condition is generally useful when searching for types,
but it is applicable to any set atoms interlinked with the HGSubsumes
relation.
SubsumedCondition
public static And and(HGQueryCondition... clauses)
Return a conjunction (logical and
) of conditions - atoms in the result set will have
to match all condition in the parameter list.
And
public static Or or(HGQueryCondition... clauses)
Return a disjunction (logical or
) of conditions - atoms in the result set will have
to match at least one of the conditions in the parameter list.
Or
public static Not not(HGAtomPredicate predicate)
Return the negation of an HGAtomPredicate
.
Not
public static TargetCondition target(HGHandle linkHandle)
Return a query condition that constraints the result set to atoms that are targets to a specific link.
linkHandle
- The handle of the HGLink
whose target the resulting atom should be.TargetCondition
public static TargetCondition target(Ref<HGHandle> linkHandle)
Return a query condition that constraints the result set to atoms that are targets to a specific link as
specified by the HGHandle
Ref
parameter.
linkHandle
- A (possibly Var
) reference to the handle of the HGLink
whose target
the resulting atom should be.TargetCondition
public static IncidentCondition incident(HGHandle atomHandle)
Return a condition constraining the result to links to a specific atom.
atomHandle
- The atom to which resulting links should point to.IncidentCondition
public static IncidentCondition incident(Ref<?> atomHandle)
public static PositionedIncidentCondition incidentAt(Ref<HGHandle> target, Ref<java.lang.Integer> lowerBound, Ref<java.lang.Integer> upperBound)
Return a condition constraining the query result set to links pointing to a target atom positioned within a predetermined range in the link tuple.
target
- A Ref
to the target atom specified as a HGHandle
.lowerBound
- A Ref
to the lower bound of the desired range. If the number is negative, it is
counted from the last target in the tuple (e.g. -1 means the last target, -2 the penultimate
target etc.).upperBound
- A Ref
to the upper bound of the desired range. If the number is negative, it is
counted from the last target in the tuple (e.g. -1 means the last target, -2 the penultimate
target etc.).PositionedIncidentCondition
public static PositionedIncidentCondition incidentAt(HGHandle target, int lowerBound, int upperBound)
#incidentAt(Ref, Ref, Ref)}.
public static PositionedIncidentCondition incidentAt(Ref<HGHandle> target, int position)
#incidentAt(Ref, Ref, Ref)} - position
is used both as lower and upper bound.
public static PositionedIncidentCondition incidentAt(HGHandle target, int position)
#incidentAt(Ref, Ref, Ref)} - position
is used both as lower and upper bound.
public static PositionedIncidentCondition incidentNotAt(Ref<HGHandle> target, Ref<java.lang.Integer> lowerBound, Ref<java.lang.Integer> upperBound)
PositionedIncidentCondition}
public static PositionedIncidentCondition incidentNotAt(HGHandle target, int lowerBound, int upperBound)
#incidentNotAt(Ref, Ref, Ref)}.
public static PositionedIncidentCondition incidentNotAt(HGHandle target, int position)
#incidentNotAt(Ref, Ref, Ref)} - position
is used both as lower and upper bound.
public static PositionedIncidentCondition incidentNotAt(Ref<HGHandle> target, int position)
#incidentNotAt(Ref, Ref, Ref)} - position
is used both as lower and upper bound.
public static LinkCondition link(HGLink link)
Return a condition constraining the query result set to links pointing to a target set of atoms.
link
- The target set specified as a HGLink
instance. The order of targets in this
link is ignored - it is treated as a set.LinkCondition
public static LinkCondition link(HGHandle... h)
Return a condition constraining the query result set to links pointing to a target set of atoms.
link
- The target set specified as a HGHandle
array. The order of targets in this
array is ignored - it is treated as a set.LinkCondition
public static LinkCondition link(Ref<HGHandle>... h)
Return a condition constraining the query result set to links pointing to a target set
of atoms, as specified by the list of HGHandle
Ref
.
link
- The target set specified as an of references to HGHandle
. The order of targets in this
array is ignored - it is treated as a set.LinkCondition
public static LinkCondition link(java.util.Collection<HGHandle> C)
Return a condition constraining the query result set to links pointing to a target set of atoms.
C
- The target set specified as a Java collection.LinkCondition
public static OrderedLinkCondition orderedLink(HGHandle... h)
Return a condition constraining the query result set to being ordered links of a certain form.
h
- The target set specified as a HGHandle
array. The order of targets in this
array sets the order of targets in the resulting atoms.OrderedLinkCondition
public static OrderedLinkCondition orderedLink(Ref<HGHandle>... h)
Return a condition constraining the query result set to being ordered links of a certain form.
h
- The target set specified as an of Ref
HGHandle
s. The order of targets in this
array sets the order of targets in the resulting atoms.OrderedLinkCondition
public static OrderedLinkCondition orderedLink(java.util.List<HGHandle> L)
Return a condition constraining the query result set to being ordered links of a certain form.
L
- The target set specified as a Java list. The order of targets in this
list sets the order of targets in the resulting atoms.OrderedLinkCondition
public static ArityCondition arity(int i)
Return a condition constraining the query result set to being links with the specified arity (number of targets).
i
- The arity of the atoms in the result set.ArityCondition
public static ArityCondition arity(Ref<java.lang.Integer> i)
Return a condition constraining the query result set to being links with the specified arity (number of targets).
i
- A Ref
to the arity of the atoms in the result set.ArityCondition
public static DisconnectedPredicate disconnected()
Return an atom predicate constraining the result set to atoms that are not connected to other atoms, i.e. whose incidence set is empty.
DisconnectedPredicate
public static SubgraphMemberCondition memberOf(HGHandle subgraphHandle)
Return a condition constraining the result set to atoms that are members of the specified subgraph.
subgraphHandle
- The atom handle of the HGSubgraph
atoms.public static SubgraphContainsCondition contains(HGHandle atom)
Return a condition constraining the result set to atoms that are instances of
HGSubgraph
and containing the specified atom.
The
- atom that return subgraphs should contain.public static AtomValueCondition value(java.lang.Object value, ComparisonOperator op)
Return a condition that constraints resulting atoms by a specific value and ComparisonOperator
.
value
- The value to compare with.op
- The ComparisonOperator
to use in the comparison.AtomValueCondition
public static AtomValueCondition value(Ref<java.lang.Object> value, ComparisonOperator op)
Return a condition that constraints resulting atoms by a specific value
Ref
and ComparisonOperator
.
value
- The value reference to compare with.op
- The ComparisonOperator
to use in the comparison.AtomValueCondition
public static AtomValueCondition eq(java.lang.Object x)
Return a condition constraining resulting atoms to atoms whose value is equal to
the passed in x
parameter.
AtomValueCondition
public static AtomValueCondition eq(Ref<java.lang.Object> x)
Return a condition constraining resulting atoms to atoms whose value is equal to
the passed in x
Ref
parameter.
AtomValueCondition
public static AtomValueCondition lt(java.lang.Object x)
Return a condition constraining resulting atoms to atoms whose value is less than
the passed in x
parameter.
AtomValueCondition
public static AtomValueCondition lt(Ref<java.lang.Object> x)
Return a condition constraining resulting atoms to atoms whose value is less than
the passed in x
Ref
parameter.
AtomValueCondition
public static AtomValueCondition gt(java.lang.Object x)
Return a condition constraining resulting atoms to atoms whose value is greater than
the passed in x
parameter.
AtomValueCondition
public static AtomValueCondition gt(Ref<java.lang.Object> x)
Return a condition constraining resulting atoms to atoms whose value is greater than
the passed in x
Ref
parameter.
AtomValueCondition
public static AtomValueCondition lte(java.lang.Object x)
Return a condition constraining resulting atoms to atoms whose value is less than or equal to
the passed in x
parameter.
AtomValueCondition
public static AtomValueCondition lte(Ref<java.lang.Object> x)
Return a condition constraining resulting atoms to atoms whose value is less than or equal to
the passed in x
Ref
parameter.
AtomValueCondition
public static AtomValueCondition gte(java.lang.Object x)
Return a condition constraining resulting atoms to atoms whose value is greater than equal to
the passed in x
parameter.
AtomValueCondition
public static AtomValueCondition gte(Ref<java.lang.Object> x)
Return a condition constraining resulting atoms to atoms whose value is greater than equal to
the passed in x
Ref
parameter.
AtomValueCondition
public static AtomPartCondition part(java.lang.String path, java.lang.Object value, ComparisonOperator op)
Return a condition constraining the result to atoms of some HGCompositeType
and having
a certain part (e.g. a Java property) as specified by the value
and op
ComparisonOperator
parameters.
path
- The path of the property with the nested value structure of the atom. This is specified with
"dotted" notation. For example: user.address.street
.value
- The value to compare the atom part against.op
- The ComparisonOperator
to use. Not that if op != ComparisonOperator.EQ
, the
atom part must be Comparable
.AtomPartCondition
public static AtomPartCondition part(java.lang.String path, Ref<java.lang.Object> value, ComparisonOperator op)
part(String, Object, ComparisonOperator)
. This method specifying the value as a
Ref
.public static AtomPartCondition eq(java.lang.String path, java.lang.Object x)
Return a condition constraining the result to atoms of some HGCompositeType
and having
a part (e.g. a Java property) equal to the specified value
.
path
- The path of the property with the nested value structure of the atom. This is specified with
"dotted" notation. For example: user.address.street
.value
- The value to compare the atom part against.AtomPartCondition
public static AtomPartCondition eq(java.lang.String path, Ref<java.lang.Object> x)
eq(String, Object)
. This method specifying the value as a
Ref
.public static AtomPartCondition lt(java.lang.String path, java.lang.Object x)
Return a condition constraining the result to atoms of some HGCompositeType
and having
a part (e.g. a Java property) less than the specified value
.
path
- The path of the property with the nested value structure of the atom. This is specified with
"dotted" notation. For example: user.address.street
.value
- The value to compare the atom part against.AtomPartCondition
public static AtomPartCondition lt(java.lang.String path, Ref<java.lang.Object> x)
lt(String, Object)
. This method specifying the value as a
Ref
.public static AtomPartCondition gt(java.lang.String path, java.lang.Object x)
Return a condition constraining the result to atoms of some HGCompositeType
and having
a part (e.g. a Java property) greater than the specified value
.
path
- The path of the property with the nested value structure of the atom. This is specified with
"dotted" notation. For example: user.address.street
.value
- The value to compare the atom part against.AtomPartCondition
public static AtomPartCondition gt(java.lang.String path, Ref<java.lang.Object> x)
gt(String, Object)
. This method specifying the value as a
Ref
.public static AtomPartCondition lte(java.lang.String path, java.lang.Object x)
Return a condition constraining the result to atoms of some HGCompositeType
and having
a part (e.g. a Java property) less than or equal to the specified value
.
path
- The path of the property with the nested value structure of the atom. This is specified with
"dotted" notation. For example: user.address.street
.value
- The value to compare the atom part against.AtomPartCondition
public static AtomPartCondition lte(java.lang.String path, Ref<java.lang.Object> x)
lte(String, Object)
. This method specifying the value as a
Ref
.public static AtomPartCondition gte(java.lang.String path, java.lang.Object x)
Return a condition constraining the result to atoms of some HGCompositeType
and having
a part (e.g. a Java property) greater than or equal to the specified value
.
path
- The path of the property with the nested value structure of the atom. This is specified with
"dotted" notation. For example: user.address.street
.value
- The value to compare the atom part against.AtomPartCondition
public static AtomPartCondition gte(java.lang.String path, Ref<java.lang.Object> x)
gte(String, Object)
. This method specifying the value as a
Ref
.public static HGQueryCondition apply(Mapping<?,?> m, HGQueryCondition c)
Return a "condition" that transforms the result set by applying an arbitrary Mapping
to each
element.
m
- The Mapping
to apply.c
- The underlying condition to evaluate before applying the mapping.MapCondition
public static Mapping<HGLink,HGHandle> linkProjection(int targetPosition)
Return a Mapping
that takes a link atom and returns a target at the given position.
targetPosition
- The position of the target to be returned.LinkProjectionMapping
public static Mapping<HGLink,HGHandle> linkProjection(Ref<java.lang.Integer> targetPosition)
Return a Mapping
that takes a link atom and returns a target at the given position.
targetPosition
- A Ref
to the position of the target to be returned.LinkProjectionMapping
public static <T> Mapping<HGHandle,T> deref(HyperGraph graph)
Return a Mapping
that takes a HGHandle
of an atom and return its runtime against
through a call to HyperGraph.get
.
graph
- The HyperGraph
instance against which to dereference the atom.DerefMapping
public static HGQueryCondition deref(HyperGraph graph, HGQueryCondition condition)
Short for hg.apply(hg.deref(graph), condition)
- assuming the condition
parameter yields a result set of HGHandle
s, the returned condition will yield a result set
of atoms loaded from the graph
parameter.
graph
- condition
- public static Mapping<HGHandle,HGHandle> targetAt(HyperGraph graph, int targetPosition)
Return a Mapping
that given a handle to a link will return the target (handle) at the specified
target position. This is a CompositeMapping
of deref(graph)
and linkProjection(targetPosition)
.
graph
- The HyperGraph instance.targetPosition
- The target position.CompositeMapping
public static HGQueryCondition all()
Return a condition that will yield all atoms in the graph.
AnyAtomCondition
public static BFSCondition bfs(HGHandle start)
Return a condition whose result set is the breadth first traversal of the graph starting a given atom.
start
- The starting atom.BFSCondition
public static BFSCondition bfs(Ref<HGHandle> start)
Return a condition whose result set is the breadth first traversal of the graph starting a given atom.
start
- A Ref
to the starting atom.BFSCondition
public static BFSCondition bfs(HGHandle start, HGAtomPredicate lp, HGAtomPredicate sp)
Return a condition whose result set is the breadth first traversal of the graph starting a given atom.
start
- The starting atom.lp
- A filtering HGAtomPredicate
constraining what links to follow - only
links satisfying this predicate will be followed.sp
- A filtering HGAtomPredicate
- only atoms satisfying this predicate
will be *traversed*. If you want all atoms to be traversed, but examine only a subset
of them, use a conjunction of this condition and an HGAtomPredicate
, e.g.
hg.and(hg.type(someType), hg.bfs(startingAtom))
.BFSCondition
public static BFSCondition bfs(Ref<HGHandle> start, HGAtomPredicate lp, HGAtomPredicate sp)
Return a condition whose result set is the breadth first traversal of the graph starting a given atom.
start
- A Ref
to the starting atom.lp
- A filtering HGAtomPredicate
constraining what links to follow - only
links satisfying this predicate will be followed.sp
- A filtering HGAtomPredicate
- only atoms satisfying this predicate
will be *traversed*. If you want all atoms to be traversed, but examine only a subset
of them, use a conjunction of this condition and an HGAtomPredicate
, e.g.
hg.and(hg.type(someType), hg.bfs(startingAtom))
.BFSCondition
public static BFSCondition bfs(HGHandle start, HGAtomPredicate lp, HGAtomPredicate sp, boolean returnPreceding, boolean returnSucceeding)
Return a condition whose result set is the breadth first traversal of the graph starting a given atom.
start
- The starting atom.lp
- A filtering HGAtomPredicate
constraining what links to follow - only
links satisfying this predicate will be followed.sp
- A filtering HGAtomPredicate
- only atoms satisfying this predicate
will be *traversed*. If you want all atoms to be traversed, but examine only a subset
of them, use a conjunction of this condition and an HGAtomPredicate
, e.g.
hg.and(hg.type(someType), hg.bfs(startingAtom))
.returnPreceding
- Whether to return siblings preceding the current atom in an ordered link.returnSucceeding
- Whether to return siblings following the current atom in an ordered link.BFSCondition
public static BFSCondition bfs(Ref<HGHandle> start, HGAtomPredicate lp, HGAtomPredicate sp, boolean returnPreceding, boolean returnSucceeding)
Return a condition whose result set is the breadth first traversal of the graph starting a given atom.
start
- A Ref
to the starting atom.lp
- A filtering HGAtomPredicate
constraining what links to follow - only
links satisfying this predicate will be followed.sp
- A filtering HGAtomPredicate
- only atoms satisfying this predicate
will be *traversed*. If you want all atoms to be traversed, but examine only a subset
of them, use a conjunction of this condition and an HGAtomPredicate
, e.g.
hg.and(hg.type(someType), hg.bfs(startingAtom))
.returnPreceding
- Whether to return siblings preceding the current atom in an ordered link.returnSucceeding
- Whether to return siblings following the current atom in an ordered link.BFSCondition
public static DFSCondition dfs(HGHandle start)
Return a condition whose result set is the depth first traversal of the graph starting with a given atom.
start
- The starting atom.DFSCondition
public static DFSCondition dfs(Ref<HGHandle> start)
Return a condition whose result set is the depth first traversal of the graph starting with a given atom.
start
- A Ref
to the starting atom.DFSCondition
public static DFSCondition dfs(HGHandle start, HGAtomPredicate linkPredicate, HGAtomPredicate siblingPredicate)
Return a condition whose result set is the depth first traversal of the graph starting with a given atom.
start
- The starting atom.linkPredicate
- A filtering HGAtomPredicate
constraining what links to follow - only
links satisfying this predicate will be followed.siblingPredicate
- A filtering HGAtomPredicate
- only atoms satisfying this predicate
will be *traversed*. If you want all atoms to be traversed, but examine only a subset
of them, use a conjunction of this condition and an HGAtomPredicate
, e.g.
hg.and(hg.type(someType), hg.bfs(startingAtom))
.DFSCondition
public static DFSCondition dfs(Ref<HGHandle> start, HGAtomPredicate linkPredicate, HGAtomPredicate siblingPredicate)
Return a condition whose result set is the depth first traversal of the graph starting with a given atom.
start
- A Ref
to the starting atom.linkPredicate
- A filtering HGAtomPredicate
constraining what links to follow - only
links satisfying this predicate will be followed.siblingPredicate
- A filtering HGAtomPredicate
- only atoms satisfying this predicate
will be *traversed*. If you want all atoms to be traversed, but examine only a subset
of them, use a conjunction of this condition and an HGAtomPredicate
, e.g.
hg.and(hg.type(someType), hg.bfs(startingAtom))
.DFSCondition
public static DFSCondition dfs(HGHandle start, HGAtomPredicate linkPredicate, HGAtomPredicate siblingPredicate, boolean returnPreceeding, boolean returnSucceeding)
Return a condition whose result set is the depth first traversal of the graph starting a given atom.
start
- The starting atom.linkPredicate
- A filtering HGAtomPredicate
constraining what links to follow - only
links satisfying this predicate will be followed.siblingPredicate
- A filtering HGAtomPredicate
- only atoms satisfying this predicate
will be *traversed*. If you want all atoms to be traversed, but examine only a subset
of them, use a conjunction of this condition and an HGAtomPredicate
, e.g.
hg.and(hg.type(someType), hg.bfs(startingAtom))
.returnPreceding
- Whether to return siblings preceding the current atom in an ordered link.returnSucceeding
- Whether to return siblings following the current atom in an ordered link.DFSCondition
public static DFSCondition dfs(Ref<HGHandle> start, HGAtomPredicate linkPredicate, HGAtomPredicate siblingPredicate, boolean returnPreceeding, boolean returnSucceeding)
Return a condition whose result set is the depth first traversal of the graph starting a given atom.
start
- A Ref
to the starting atom.linkPredicate
- A filtering HGAtomPredicate
constraining what links to follow - only
links satisfying this predicate will be followed.siblingPredicate
- A filtering HGAtomPredicate
- only atoms satisfying this predicate
will be *traversed*. If you want all atoms to be traversed, but examine only a subset
of them, use a conjunction of this condition and an HGAtomPredicate
, e.g.
hg.and(hg.type(someType), hg.bfs(startingAtom))
.returnPreceding
- Whether to return siblings preceding the current atom in an ordered link.returnSucceeding
- Whether to return siblings following the current atom in an ordered link.DFSCondition
public static HGHandle anyHandle()
Return a special handle indicating a "don't care" in a condition expression (e.g.
when specifying the form of a link in a hg.orderedLink(hg.anyHandle(), x, y)
condition.
Node: This is not a HGPersistentHandle
. To get a persistent "don't care" handle,
please use org.hypergraphdb.HGHandleFactory.anyHandle()
.
public static <T> Var<T> var(java.lang.String name, T initialValue)
Create a new variable with an initial value and attach it to the current variable context.
name
- The name of the variable. Any previous variable with that name in the current context will
be overridden.initialValue
- The initial value of the variable.Var
instance.public static <T> Var<T> var(java.lang.String name)
Create a new variable and attach it to the current variable context.
name
- The name of the variable. Any previous variable with that name in the current context will
be overriden.Var
instance.public static <T> Var<T> var(java.lang.String name, java.lang.Class<T> t)
Create a new variable and attach it to the current variable context.
name
- The name of the variable. Any previous variable with that name in the current context will
be overridden.t
- A class parameter allowing to specify the type of the variable without providing an initial
value. Use this to avoid ugly type casts.Var
instance.public static <T> Ref<T> constant(T value)
Create a new constant reference. The value of this reference cannot be changed.
value
- The value of the constant.Constant
whose Constant.get()
method will return
the passed in value.public static <T> boolean isVar(Ref<T> ref)
public static long count(HyperGraph graph, HGQueryCondition cond)
Count the number of atoms that match the query condition parameter. Retrieving
the count might require performing the actual query traversing the result set.
In cases where the condition is simple and the count is available directly from
an index, it is returned right away. Otherwise, the operation may be expensive
when the result set matching cond
is large or it takes time
to obtain it.
graph
- The HyperGraph against which the counting is performed.cond
- The condition specifying the result set.public static long count(HGQuery<?> query)
Count the result set from executing the given query. The query is executed and the result set scanned completely.
public static <T> T getOne(HyperGraph graph, HGQueryCondition condition)
Run a query based on the passed in condition. If the result set is not
empty, get and return the atom instance of the first element. Otherwise,
return null
.
graph
- The HyperGraph database to query.condition
- The query condition.public static <T> T findOne(HyperGraph graph, HGQueryCondition condition)
Run a query based on the passed in condition. If the result set is not
empty, return the first HGHandle
element. Otherwise,
return null
.
graph
- The HyperGraph
instance to run the query against.condition
- The query condition constraining the resulting atom.null
if
the result set is empty.public static <T> java.util.List<T> findAll(HyperGraph graph, HGQueryCondition condition)
Run a query based on the specified condition and put all HGHandle
s
from the result set into a java.util.List
.
graph
- The HyperGraph
to run the query against.condition
- The query condition constraining the result set.public static <T> java.util.List<T> getAll(HyperGraph graph, HGQueryCondition condition)
Run a query based on the specified condition and put all atom instances
from the result set into a java.util.List
.
graph
- The HyperGraph
to run the query against.condition
- The query condition constraining the result set.HGHandle
s
against the graph.public static <T> java.util.List<T> findAll(HGQuery<T> query)
Execute the given query, put all the elements from the result set in a List
and return that List


Oh hello!
This extension simply replaces the New Tab page, so you can hide the icon from your toolbar.


[1]
i 'm a lifetime marriott status or is going to get around.
[2]
are they worried my baby is going to drink or ruin the.


//= templates/head-section.html
//= templates/header-global.html
Search Gigs
Search by Text
Expertise Category
All categories
Software Development
Finance & Accounting
Music & Audio
Video & Animation
Graphic & Design
Text & Writing
Consulting Services
Other Services
Skills
Select Skills
Budget
+
polymer
0
polymer
1,000
polymer
2K+
//= templates/redesigned-big-gig-modal.html //= templates/add-gig-modal.html


syntax: headers, err = ngx.req.get_headers(max_headers?, raw?)
context: set_by_lua*, rewrite_by_lua*, access_by_lua*, content_by_lua*, header_filter_by_lua*, body_filter_by_lua*, log_by_lua*
Returns a Lua table holding all the current request headers.
```lua
local h, err = ngx.req.get_headers()
if err == "truncated" then -- one can choose to ignore or reject the current request here end
for k, v in pairs(h) do ... end
```
To read an individual header:
```lua
ngx.say("Host: ", ngx.req.get_headers()["Host"])
```
Note that the ngx.var.HEADER API call, which uses core $http_HEADER variables, may be more preferable for reading individual request headers.
For multiple instances of request headers such as:
```bash
Foo: foo Foo: bar Foo: baz
```
the value of ngx.req.get_headers()["Foo"]
will be a Lua (array) table such as:
```lua
{"foo", "bar", "baz"}
```
Note that a maximum of 100 request headers are parsed by default (including those with the same name) and that additional request headers are silently discarded to guard against potential denial of service attacks. Since v0.10.13
, when the limit is exceeded, it will return a second value which is the string "truncated"
.
However, the optional max_headers
function argument can be used to override this limit:
```lua
local headers, err = ngx.req.get_headers(10)
if err == "truncated" then -- one can choose to ignore or reject the current request here end
```
This argument can be set to zero to remove the limit and to process all request headers received:
```lua
local headers, err = ngx.req.get_headers(0)
```
Removing the max_headers
cap is strongly discouraged.
Since the 0.6.9
release, all the header names in the Lua table returned are converted to the pure lower-case form by default, unless the raw
argument is set to true
(default to false
).
Also, by default, an __index
metamethod is added to the resulting Lua table and will normalize the keys to a pure lowercase form with all underscores converted to dashes in case of a lookup miss. For example, if a request header My-Foo-Header
is present, then the following invocations will all pick up the value of this header correctly:
```lua
ngx.say(headers.my_foo_header) ngx.say(headers["My-Foo-Header"]) ngx.say(headers["my-foo-header"]) ```
The __index
metamethod will not be added when the raw
argument is set to true
.


.
45
Votes Thappad
2 Apr | Hindi
Votes Thappad
2 Apr | Hindi
100
Votes English Medium
2 Apr | Hindi
Votes English Medium
2 Apr | Hindi
45
Votes Dabbang 3
2 Apr | Hindi
Votes Dabbang 3
2 Apr | Hindi
50
Votes Chhapak
2 Apr | Hindi
Votes Chhapak
2 Apr | Hindi
1.2k
Votes Panga
2 Apr | Hindi
Votes Panga
2 Apr | Hindi
10
Votes Tanhaji 3D
2 Apr | Hindi
Votes Tanhaji 3D
2 Apr | Hindi


{% extends "vuln_base.html" %} {% block script %} {% endblock %} {% block navpath %}
{% endblock %} {% block content %} {% if files %}The following DISA IAVM files were uploaded:
To import the DISA IAVM zip file, first download it from the following URL. DoD certificates are required to access this site. The IAVM files themselves are Unclassified/FOUO. To create the DISA IAVM zip file, once you have authenticated to the site, select 'Notices' >> 'Search Notices' from the top of the page. On the search page, select a date range and any other filter options in which you are interested, then select "Download All in XML ZIP" button.
{{ error_message }}
{% endif %}DISA publishes an IAVM to CVE file which can be used in lieu of the individual DISA IAVM.
http://iasecontent.disa.mil/stigs/xml/iavm-to-cve%28u%29.xml
{{ error_message }}
{% endif %}


{# # This is a placeholder for additional content to be placed within html/header. # May be overrided in site implementation. #}


--- title: resume permalink: "resume/index.html" layout: default ---
Something about you here...
- Ruby Ruby on Rails
- HTML CSS Bootstrap
- Javascript
- Heroku
Something about your experience...
links to projects will be added here.
twitter....
phone....
email...
etc...


Preparation time
less than 30 mins
Cooking time
30 mins to 1 hour
Serves
Serves 4
Preheat the oven to 200C/400F/Gas 6.
Dust the chicken strips with one tablespoon of the smoked paprika and season well with salt and freshly ground black pepper.
Heat the vegetable oil in a pan until smoking. Add the chicken and fry quickly, turning occasionally, until golden-brown all over. Remove from the heat and keep warm.
Melt the butter in the same pan and fry the lardons for 2-3 minutes, until golden. Add the onion and cook for 4-5 minutes until soft and slightly golden.
Add the sliced mushrooms and the garlic and cook for a couple of minutes to soften.
Add the brandy and carefully set alight. Be careful with the flames. (Don't worry if the brandy doesn't flame, cooking will remove the alcohol.)
Add the stock, bring to the boil and cook to reduce the liquid volume by half.
Add the soured cream and the renmaining one tablespoon of paprika. Stir well and simmer to reduce the sauce to the consistency of thick double cream.
Place the chicken back into the pan to warm through.
Divide the chicken mixture between four individual ovenproof pie dishes.
Brush some beaten egg around the top outside edges of the pie dishes, then press the pastry pieces onto the top of the dishes. Brush with generous amounts of the beaten egg.
Cut out a little vent in each pastry top to allow steam to escape.
Transfer to the oven to cook for 10-15 minutes, or until the pie tops are crisp and golden.
To serve, remove the pie dishes from the oven and allow to cool slightly before placing onto plates. Serve with bowls of pickled red cabbage or beetroot.


Sample eCommerce FrontEnd
Home
About
Services
Contact
Sign Up
(current)
Login
Welcome back!
Username
Email address
Password
Account Type
Buyer Account
Seller Account
Sign Up
Forgot password?


India Effectively Carries Out Night-time Test Firing of Nuclear-capable Prithvi Ballistic Missiles
The 300 km range missile trials, carried out by the Strategic Forces Command of the Indian Army, was fired from the Integrated Test Range (ITR) at Chandipur of Balasore district.
New Delhi: The Defense Research and Development Organisation (DRDO) on Wednesday successfully carried out the night-time test-firing of two indigenously developed nuclear-capable Prithvi ballistic missiles off the Odisha coast.
Both the missile trials, carried out by the Strategic Forces Command of the Indian Army, was fired from the Integrated Test Range (ITR) at Chandipur of Balasore district.
The Prithvi missile has a strike range of 350 km and capable of carrying 500/100 kg warheads and is powered by the liquid propulsion twin engine.
Defence Minister Rajnath Singh on Sunday took the micro-blogging website Twitter to congratulate the DRDO on its first night-time test-firing.
The two Prithvi missiles are equipped with advanced accuracy in navigation and manoeuvering device. Developed under the framework of the Integrated Guided Missile Development Program, with ‘Prithvi’, the DRDO attempted to build a surface-to-surface battlefield missile.
Inducted by the Indian Army in 2003, it was then improved as a primary missile to strengthen the nation’s nuclear deterrence.
For breaking news and live news updates, like us on Facebook or follow us on Twitter and Instagram. Read more on India Latest News on India.com.
Story Timeline
- 20 Nov 2019 India Effectively Carries Out Night-time Test Firing of Nuclear-capable Prithvi Ballistic Missiles
- 20 Nov 2019 Congress MLA Blows Flying Kiss to Speaker in Assembly | Watch Viral Video
- 19 Nov 2019 Rajya Sabha Day 1: Army Veterans, MPs Slam Marshals' New 'Military-Style' Uniforms
- 18 Nov 2019 Four Soldiers, Two Porters Dead After Avalanche Strikes Army s Patrol Team in Siachen Glacier
Comments - Join the Discussion


GUY and GURL walk down the street.
It's a sunny day.Sunnier than normal.Too sunny to be funny.
GUY
So what's up?
GURL
Nothing much.
Just thinking.
And you?
Nothing.


WEBSITE DEVELOPER
Smart Wearables is a website which is meant to provide the most updated information about smart wearables available in the market. Smart Wearables are categorized into four groups of smart watches, fitness bands, stylish smart watches, and luxury smart watches. Smart Wearables features collections of Men, Women, and Kids. Our website will be updated with latest information once every month.
319 Terrace Avenue
APT 3, Cincinnati, OH, US 45220
©2017 Smart Wearables


{% extends "b2note_app/__base.html" %} {% block content %} {% if subject_tofeed %} {% else %} {% endif %}
B2note uses a popup to connect to your b2access user account. Please allow b2note to open popups in the settings of your browser.


This particular grid item has the following css properties:
.section:nth-of-type(12){ grid-column:3/6; grid-row:2/5; }
The background color on every third item, can be set using the :nth-of-type(3n) operator.


ENGINEER
I work as a mechanical engineer at NASA-JPL. My goal is to improve spaceflight systems by maturing novel technologies.
EDUCATOR
I enjoy sharing my knowledge of space and technology with the general public and regularly give talks and to local organizations. I also moonlight as a telescope operator and educator at Griffith Observatory.
VOLUNTEER
I help out the community as best I can. I am currently an organizer for the Pasadena Repair Cafe and have taught classes at the Altadena Library.
EXPLORER
I spend my free time exploring the diverse wilderness of southern California. You might run into me hiking in the San Gabriel Moutains or scuba diving off the coast of Catalina.


Shaw
Software Engineer
- Age
- 25
- City
- ShenZhen, China
-<EMAIL_ADDRESS>- Mobile
-<PHONE_NUMBER>
Software Engineer
This is Shaw, graduated from USTC, aim to be a data analysis.
Interested in data analysis, data visualization and machine learing.
I am skilled in using web crawlers, pandas to collect and analyze data,
and also be adept in web application development, data visualization.


BUISNESS PROBLEMS TEMPLATE
We Belive in Buisness Always
who is such a man as doest not want to get profit in buisness
because life is not meant for work life is gone health is gone if character is gone then get it everything is gone
Get Started
Buy Now